mirror of
https://github.com/taoky/shadowmire.git
synced 2025-07-08 17:32:43 +00:00
Overwrite index after package sync in SyncPlainHTTP do_update
This commit is contained in:
parent
7df08fcbde
commit
bede75051e
@ -654,7 +654,8 @@ class SyncPlainHTTP(SyncBase):
|
|||||||
# directly fetch remote files
|
# directly fetch remote files
|
||||||
for filename in ("index.html", "index.v1_html", "index.v1_json"):
|
for filename in ("index.html", "index.v1_html", "index.v1_json"):
|
||||||
file_url = urljoin(self.upstream, f"/simple/{package_name}/{filename}")
|
file_url = urljoin(self.upstream, f"/simple/{package_name}/{filename}")
|
||||||
success, code = download(self.session, file_url, package_simple_path / filename)
|
# Don't overwrite existing index first!
|
||||||
|
success, code = download(self.session, file_url, package_simple_path / (filename + ".new"))
|
||||||
if not success:
|
if not success:
|
||||||
if filename != "index.html":
|
if filename != "index.html":
|
||||||
logger.warning("index file %s fails", file_url)
|
logger.warning("index file %s fails", file_url)
|
||||||
@ -686,6 +687,15 @@ class SyncPlainHTTP(SyncBase):
|
|||||||
logger.warning("skipping %s as it fails downloading", package_name)
|
logger.warning("skipping %s as it fails downloading", package_name)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
# OK, now it's safe to rename
|
||||||
|
for filename in ("index.html", "index.v1_html", "index.v1_json"):
|
||||||
|
file_from = package_simple_path / (filename + ".new")
|
||||||
|
file_to = package_simple_path / filename
|
||||||
|
try:
|
||||||
|
file_from.rename(file_to)
|
||||||
|
except FileNotFoundError:
|
||||||
|
pass
|
||||||
|
|
||||||
last_serial = get_local_serial(package_simple_path)
|
last_serial = get_local_serial(package_simple_path)
|
||||||
if not last_serial:
|
if not last_serial:
|
||||||
logger.warning("cannot get valid package serial from %s", package_name)
|
logger.warning("cannot get valid package serial from %s", package_name)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user