diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-18 18:42:42 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-19 10:16:28 +0200 |
commit | 45769bc5b440183dd5e46b40ec2cdd364a3a01db (patch) | |
tree | b5975ad978b4e9ef62b712aa5d2962b0c876db4e /ishtar_common/utils.py | |
parent | 7e631d9a322a8bb530652e7adac073d18baf326b (diff) | |
download | Ishtar-45769bc5b440183dd5e46b40ec2cdd364a3a01db.tar.bz2 Ishtar-45769bc5b440183dd5e46b40ec2cdd364a3a01db.zip |
✨ imports: allow media import from a web location
Diffstat (limited to 'ishtar_common/utils.py')
-rw-r--r-- | ishtar_common/utils.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index f734a9b2d..08ef84831 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -644,6 +644,23 @@ def is_downloadable(curl): return True +def get_file_from_link(file_link): + """ + return filename and temp_file object from a web link + """ + try: + request = requests.get(file_link, stream=True) + except requests.exceptions.RequestException: + raise ValueError() + ntf = tempfile.NamedTemporaryFile() + for block in request.iter_content(1024 * 8): + if not block: + break + ntf.write(block) + file_name = file_link.split("/")[-1] + return file_name, ntf + + def get_current_year(): return datetime.datetime.now().year |