else:
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
+ basename = None
if ud.mirrortarball:
- if result_decoded[loc].endswith("/"):
- result_decoded[loc] = os.path.dirname(result_decoded[loc])
- result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
+ basename = os.path.basename(ud.localpath)
elif ud.localpath:
- if result_decoded[loc].endswith("/"):
- result_decoded[loc] = os.path.dirname(result_decoded[loc])
- result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
+ basename = os.path.basename(ud.localpath)
+ if basename and result_decoded[loc].endswith("/"):
+ result_decoded[loc] = os.path.dirname(result_decoded[loc])
+ if basename and not result_decoded[loc].endswith(basename):
+ result_decoded[loc] = os.path.join(result_decoded[loc], basename)
else:
return ud.url
result = encodeurl(result_decoded)