blob: 89ecfcab30e3e8426a0edffe93a8451724562c31 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import os
import shutil
from urllib.parse import urlparse
import requests
from importer.providers.providerbase import ProviderBase
class RawImageProviderBase(ProviderBase):
regex = "^.*.(jpg|jpeg|mp4|gif)$"
def download(self):
path = self._download_raw_file(self.url)
self.paths.append(path)
self.downloaded = True
@staticmethod
def _download_raw_file(url: str) -> str:
a = urlparse(url)
path = f'source_{os.path.basename(a.path)}'
r = requests.get(url, stream=True)
if r.status_code == 200:
with open(path, 'wb') as f:
r.raw.decode_content = True
shutil.copyfileobj(r.raw, f)
return path
|