fix config, fix import
This commit is contained in:
parent
f3b9c2c0f5
commit
fa7d6fb8bc
2 changed files with 23 additions and 21 deletions
14
config.jsonc
14
config.jsonc
|
@ -911,18 +911,6 @@
|
|||
"format": {"type": "number", "args": []},
|
||||
"sort": true
|
||||
},
|
||||
{
|
||||
"id": "license",
|
||||
"title": "License",
|
||||
"type": ["string"],
|
||||
"columnWidth": 120,
|
||||
"filter": true,
|
||||
"sort": true,
|
||||
"default": [
|
||||
"Creative Commons Attribution-ShareAlike 3.0 License",
|
||||
"Pad.ma General Public License"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rightslevel",
|
||||
"title": "Rights Level",
|
||||
|
@ -1377,7 +1365,7 @@
|
|||
"videoLoop": false,
|
||||
"videoMuted": false,
|
||||
"videoPoints": {},
|
||||
"videoResolution": 240,
|
||||
"videoResolution": 720,
|
||||
"videoScale": "fit",
|
||||
"videoSize": "large",
|
||||
"videoSubtitles": false,
|
||||
|
|
30
utils.py
30
utils.py
|
@ -1,14 +1,30 @@
|
|||
import os
|
||||
import subprocess
|
||||
import ox
|
||||
import shutil
|
||||
import tempfile
|
||||
|
||||
from archive.models import File, Stream
|
||||
from archive.models import File, Stream, User
|
||||
from archive.external import get_info
|
||||
|
||||
|
||||
def import_items(items):
|
||||
import item.models
|
||||
for data in items:
|
||||
i = item.models.Item()
|
||||
i.data = data
|
||||
i.user = User.objects.all()[0]
|
||||
i.save()
|
||||
load_vimeo(i)
|
||||
|
||||
|
||||
def load_vimeo(item):
|
||||
urls = [url for url in item.data.get("links", []) if "vimeo.com" in url]
|
||||
cdir = os.path.abspath(os.curdir)
|
||||
orig = None
|
||||
for url in urls:
|
||||
info = get_info(url, None)
|
||||
media = info[0]
|
||||
for resolution in (720, 360):
|
||||
tmp = tempfile.mkdtemp()
|
||||
if isinstance(tmp, bytes):
|
||||
|
@ -17,7 +33,7 @@ def load_vimeo(item):
|
|||
cmd = ['yt-dlp', '-q', url]
|
||||
cmd += ['-o', '%(title)80s.%(ext)s']
|
||||
cmd += [
|
||||
'-f', 'bestvideo[height<=%s][ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' % resolution,
|
||||
'-f', 'bestvideo[height<=%s][ext=mp4]+bestaudio[ext=m4a]' % resolution,
|
||||
'--merge-output-format', 'mp4'
|
||||
]
|
||||
p = subprocess.Popen(cmd,
|
||||
|
@ -35,20 +51,18 @@ def load_vimeo(item):
|
|||
if created:
|
||||
orig = f
|
||||
f.item = item
|
||||
f.info = ox.avinfo(f.data.path)
|
||||
f.info = ox.avinfo(name)
|
||||
f.info['extension'] = media['extension']
|
||||
f.info['url'] = url
|
||||
f.path = '%(title)s.%(extension)s' % media
|
||||
f.parse_info()
|
||||
f.selected = True
|
||||
f.queued = True
|
||||
f.queued = False
|
||||
if len(parts) > 1:
|
||||
f.part = part
|
||||
part += 1
|
||||
f.save()
|
||||
f.item.save()
|
||||
f.extract_stream()
|
||||
status = True
|
||||
else:
|
||||
return 'file exists'
|
||||
stream, created = Stream.objects.get_or_create(file=orig, resolution=resolution, format="mp4")
|
||||
|
@ -63,8 +77,8 @@ def load_vimeo(item):
|
|||
stream.save()
|
||||
stream.make_timeline()
|
||||
if resolution == 720 and len(parts) == 1:
|
||||
info = get_info(url, None)
|
||||
media = info[0]
|
||||
add_subtitles(item, media, tmp)
|
||||
item.update_timeline()
|
||||
item.save()
|
||||
o.chdir(cdir)
|
||||
shutil.rmtree(tmp)
|
||||
|
|
Loading…
Reference in a new issue