summaryrefslogtreecommitdiff
path: root/ishtar_common/utils.py
diff options
context:
space:
mode:
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
commit45769bc5b440183dd5e46b40ec2cdd364a3a01db (patch)
treeb5975ad978b4e9ef62b712aa5d2962b0c876db4e /ishtar_common/utils.py
parent7e631d9a322a8bb530652e7adac073d18baf326b (diff)
downloadIshtar-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.py17
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