From 03101d00dd9a368d75f2fd5a88248c6c17c54918 Mon Sep 17 00:00:00 2001 From: j Date: Fri, 5 Nov 2021 09:30:49 +0000 Subject: [PATCH] update fcp2json --- fcp2json.py | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/fcp2json.py b/fcp2json.py index eda254b..9785488 100755 --- a/fcp2json.py +++ b/fcp2json.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 from __future__ import division import lxml @@ -45,10 +45,10 @@ for g in tree.xpath('//clipitem'): #in/out indicate the portion of the source media file to reference. #start/end = relative position of the clip in the parent sequence. _in = int(g.findall('in')[0].text) / fps - _out = int(g.findall('out')[0].text) / fps + _out = int(g.findall('out')[0].text) / fps _start = int(g.findall('start')[0].text) / fps _end = int(g.findall('end')[0].text) / fps - name= g.findall('name')[0].text.strip() + name = g.findall('name')[0].text.strip() #print _in, _out, _start, _end, name if _start == -0.04: _start = _last @@ -56,7 +56,7 @@ for g in tree.xpath('//clipitem'): _end = _start + (_out - _in) name = name.replace('.dv', '').replace('_ ', ': ') id = name.replace(' ', '%20') - value = 'Source: %s/%s-%s' % (id, _in, _out, name, ox.formatDuration(_in), ox.formatDuration(_out)) + value = 'Source: %s %s-%s' % (id, _in, _out, name, ox.format_timecode(_in), ox.format_timecode(_out)) data['descriptions'].append({ 'in': _start, 'out': _end-0.04, 'value': value }) @@ -68,24 +68,23 @@ with open(target, 'w') as f: ''' import os import ox +import ox.api -with open(os.path.expanduser('~/.ox/client.json')) as f: - config = json.load(f) +item = 'KFB' -api = ox.API('https://pad.ma/api/') -r = api.signin(username=config['username'], password=config['password']) -assert(r['status']['code'] == 200) -assert(r['data']['user'] != '') -for s in data['descriptions']: - s['item'] = 'BHK' - s['layer'] = 'descriptions' - print s - r = api.addAnnotation(s) +api = ox.api.signin('https://pad.ma/api/') +request = { + 'item': item, +} +if data['descriptions']: + request['layer'] = 'descriptions' + request['annotations'] = data['descriptions'] + r = api.addAnnotations(request) assert(r['status']['code'] == 200) -for s in data['transcripts']: - s['item'] = 'BHK' - s['layer'] = 'transcripts' - print s - r = api.addAnnotation(s) + +if data['transcripts']: + request['layer'] = 'transcripts' + request['annotations'] = data['transcripts'] + r = api.addAnnotations(request) assert(r['status']['code'] == 200) '''