Compare commits
No commits in common. "60786749ec3c3ba12ad116f4f71fcda58fa1dc18" and "afd0e519b756c7720218c381ce7d030a9e2dec73" have entirely different histories.
60786749ec
...
afd0e519b7
2 changed files with 16 additions and 41 deletions
25
edit.py
25
edit.py
|
|
@ -7,7 +7,6 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
import urllib.request
|
import urllib.request
|
||||||
from glob import glob
|
|
||||||
|
|
||||||
import ox
|
import ox
|
||||||
import ox.web.auth
|
import ox.web.auth
|
||||||
|
|
@ -101,26 +100,13 @@ def sort_clips(edit, sort):
|
||||||
s = sorted(clips, key=lambda c: ids.index(c['id']) if c['id'] in ids else -1)
|
s = sorted(clips, key=lambda c: ids.index(c['id']) if c['id'] in ids else -1)
|
||||||
return s
|
return s
|
||||||
|
|
||||||
def get_pandora_media_path(oshash):
|
def cache_clips(api, videos, use_source=False):
|
||||||
h = oshash
|
|
||||||
path = '/srv/pandora/data/media/' + '/'.join([h[:2], h[2:4], h[4:6], h[6:]])
|
|
||||||
path = glob('%s/data.*' % path)
|
|
||||||
if path:
|
|
||||||
path = path[0]
|
|
||||||
else:
|
|
||||||
path = ox.sorted_strings(glob('%s/*.mp4' % path))[-1]
|
|
||||||
return path
|
|
||||||
|
|
||||||
def cache_clips(api, videos, use_source=False, use_pandora=False):
|
|
||||||
for clip in videos:
|
for clip in videos:
|
||||||
out = '%s/%s.mp4' % (render, clip['oshash'])
|
out = '%s/%s.mp4' % (render, clip['oshash'])
|
||||||
if 'path' in clip:
|
if 'path' in clip:
|
||||||
clip['src'] = clip['path']
|
clip['src'] = clip['path']
|
||||||
clip['path'] = out
|
clip['path'] = out
|
||||||
if not os.path.exists(out):
|
if not os.path.exists(out):
|
||||||
if use_pandora:
|
|
||||||
os.symlink(get_pandora_media_path(clip['oshash']), out)
|
|
||||||
else:
|
|
||||||
url = clip['url']
|
url = clip['url']
|
||||||
if use_source:
|
if use_source:
|
||||||
name = url.split('/')[-1].split('.')[0]
|
name = url.split('/')[-1].split('.')[0]
|
||||||
|
|
@ -146,16 +132,12 @@ if __name__ == '__main__':
|
||||||
parser.add_argument('-c', '--config', dest='config',
|
parser.add_argument('-c', '--config', dest='config',
|
||||||
help='config.json containing config',
|
help='config.json containing config',
|
||||||
default='~/.ox/client.json')
|
default='~/.ox/client.json')
|
||||||
parser.add_argument('-o', '--output', dest='output',
|
|
||||||
help='json output',
|
|
||||||
default='')
|
|
||||||
parser.add_argument('url', metavar='url', type=str,
|
parser.add_argument('url', metavar='url', type=str,
|
||||||
help='edit url')
|
help='edit url')
|
||||||
opts = parser.parse_args()
|
opts = parser.parse_args()
|
||||||
edit_url = opts.url
|
edit_url = opts.url
|
||||||
use_local = opts.source == 'local'
|
use_local = opts.source == 'local'
|
||||||
use_source = opts.source == 'source'
|
use_source = opts.source == 'source'
|
||||||
use_pandora = opts.source == 'pandora'
|
|
||||||
prefix = opts.prefix
|
prefix = opts.prefix
|
||||||
parts = edit_url.split('/')
|
parts = edit_url.split('/')
|
||||||
site = parts[2]
|
site = parts[2]
|
||||||
|
|
@ -256,11 +238,8 @@ if __name__ == '__main__':
|
||||||
position = math.ceil(position / (1/25)) * 1/25
|
position = math.ceil(position / (1/25)) * 1/25
|
||||||
|
|
||||||
if not use_local:
|
if not use_local:
|
||||||
cache_clips(api, videos, use_source, use_pandora)
|
cache_clips(api, videos, use_source)
|
||||||
|
|
||||||
if opts.output:
|
|
||||||
name = opts.output.replace('.json', '')
|
|
||||||
else:
|
|
||||||
name = normalize(edit_id)
|
name = normalize(edit_id)
|
||||||
if sort_by != 'year':
|
if sort_by != 'year':
|
||||||
name += '_' + sort_by
|
name += '_' + sort_by
|
||||||
|
|
|
||||||
|
|
@ -72,10 +72,6 @@ for clip in edit:
|
||||||
continue
|
continue
|
||||||
src_info = ox.avinfo(clip['path'])
|
src_info = ox.avinfo(clip['path'])
|
||||||
clip_aspect = src_info['video'][0]['width'] / src_info['video'][0]['height']
|
clip_aspect = src_info['video'][0]['width'] / src_info['video'][0]['height']
|
||||||
if 'display_aspect_ratio' in src_info['video'][0]:
|
|
||||||
ratio = [int(p) for p in src_info['video'][0]['display_aspect_ratio'].split(':')]
|
|
||||||
clip_aspect = ratio[0] / ratio[1]
|
|
||||||
print(ratio, clip_aspect)
|
|
||||||
if clip_aspect < aspect:
|
if clip_aspect < aspect:
|
||||||
x = width
|
x = width
|
||||||
y = int(x / clip_aspect)
|
y = int(x / clip_aspect)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue