mirror of
https://github.com/wcbing/wcbing-apt-repo.git
synced 2025-12-29 02:28:30 +08:00
download using stream
This commit is contained in:
parent
84bab16b10
commit
8e33fb6f7d
@ -3,6 +3,15 @@ import os
|
|||||||
import sqlite3
|
import sqlite3
|
||||||
|
|
||||||
|
|
||||||
|
def download(url, file_type):
|
||||||
|
file_path = os.path.join(file_type, str(url.split("/")[-1]))
|
||||||
|
with requests.get(url, stream=True) as res:
|
||||||
|
with open(file_path, "wb") as fw:
|
||||||
|
for chunk in res.iter_content(chunk_size=8192):
|
||||||
|
if chunk:
|
||||||
|
fw.write(chunk)
|
||||||
|
|
||||||
|
|
||||||
def check_download(name, version, url, arch, file_type):
|
def check_download(name, version, url, arch, file_type):
|
||||||
conn = sqlite3.connect(file_type + ".db")
|
conn = sqlite3.connect(file_type + ".db")
|
||||||
cur = conn.cursor()
|
cur = conn.cursor()
|
||||||
@ -16,10 +25,7 @@ def check_download(name, version, url, arch, file_type):
|
|||||||
print(name + ": " + db_version)
|
print(name + ": " + db_version)
|
||||||
if db_version != version:
|
if db_version != version:
|
||||||
print("└ Update: " + db_version + " -> " + version)
|
print("└ Update: " + db_version + " -> " + version)
|
||||||
# download
|
download(url, file_type)
|
||||||
file_path = os.path.join(file_type, str(url.split("/")[-1]))
|
|
||||||
with open(file_path, "wb") as fw:
|
|
||||||
fw.write(requests.get(url).content)
|
|
||||||
# wirte to db
|
# wirte to db
|
||||||
cur.execute(
|
cur.execute(
|
||||||
"UPDATE " + arch + " SET version = ?, url = ? WHERE name = ?",
|
"UPDATE " + arch + " SET version = ?, url = ? WHERE name = ?",
|
||||||
@ -31,10 +37,7 @@ def check_download(name, version, url, arch, file_type):
|
|||||||
os.remove(old_file_path)
|
os.remove(old_file_path)
|
||||||
else:
|
else:
|
||||||
print(name + "\n└ Add: " + version)
|
print(name + "\n└ Add: " + version)
|
||||||
# download
|
download(url, file_type)
|
||||||
file_path = os.path.join(file_type, str(url.split("/")[-1]))
|
|
||||||
with open(file_path, "wb") as fw:
|
|
||||||
fw.write(requests.get(url).content)
|
|
||||||
# wirte to db
|
# wirte to db
|
||||||
cur.execute(
|
cur.execute(
|
||||||
"INSERT INTO " + arch + "(name, version, url) VALUES (?, ?, ?)",
|
"INSERT INTO " + arch + "(name, version, url) VALUES (?, ?, ?)",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user