From fa7d6fb8bcbaff45766933d7c582f4b828edad3f Mon Sep 17 00:00:00 2001 From: j Date: Tue, 14 Nov 2023 15:06:56 +0100 Subject: [PATCH] fix config, fix import --- config.jsonc | 14 +------------- utils.py | 30 ++++++++++++++++++++++-------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/config.jsonc b/config.jsonc index 4348dd5..d2d5d35 100644 --- a/config.jsonc +++ b/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, diff --git a/utils.py b/utils.py index 7efc56f..f50e52e 100644 --- a/utils.py +++ b/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)