aboutsummaryrefslogtreecommitdiff
path: root/src/wikiget/dl.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/wikiget/dl.py')
-rw-r--r--src/wikiget/dl.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/wikiget/dl.py b/src/wikiget/dl.py
index d32736f..2b2befa 100644
--- a/src/wikiget/dl.py
+++ b/src/wikiget/dl.py
@@ -25,10 +25,11 @@ from requests import ConnectionError, HTTPError
from tqdm import tqdm
import wikiget
+from wikiget.file import File
from wikiget.validations import valid_file, verify_hash
-def download(dl, args):
+def get_dest(dl, args):
url = urlparse(dl)
if url.netloc:
@@ -56,6 +57,10 @@ def download(dl, args):
dest = args.output or filename
+ return filename, dest, site_name
+
+
+def query_api(filename, site_name, args):
logging.debug(f"User agent: {wikiget.USER_AGENT}")
# connect to site and identify ourselves
@@ -101,6 +106,22 @@ def download(dl, args):
logging.debug(i)
sys.exit(1)
+ return file, site
+
+
+def prep_download(dl, args):
+ filename, dest, site_name = get_dest(dl, args)
+ file = File(filename, dest)
+ file.object, file.site = query_api(file.name, site_name, args)
+ return file
+
+
+def download(f, args):
+ file = f.object
+ filename = f.name
+ site = f.site
+ dest = f.dest
+
if file.imageinfo != {}:
# file exists either locally or at a common repository, like Wikimedia Commons
file_url = file.imageinfo["url"]