70 lines
1.9 KiB
Plaintext
70 lines
1.9 KiB
Plaintext
'''
|
|
Rework packaging flow:
|
|
|
|
1. queue pickup
|
|
|
|
2. origin-specific handling
|
|
Create initial package
|
|
|
|
3. create id dir in processing
|
|
Add workbase to package
|
|
|
|
3. transcoding and thumb generation
|
|
Put new files in processing
|
|
Update package with new relative names
|
|
|
|
4. stash originals
|
|
Move original files to processing subdir
|
|
|
|
5. platform notification
|
|
Temporarily remove base, workbase, update_id
|
|
|
|
6. finalize processing
|
|
Remove base, workbase, update_id, notification_id
|
|
Save package to disk
|
|
Move processing dir to processed
|
|
Delete queue file
|
|
Delete base files
|
|
'''
|
|
|
|
|
|
# package.json:
|
|
|
|
{
|
|
'id': assigned_id, # Unique job id
|
|
'update_id': id_to_replace, # id of original if updating
|
|
# only exists for update
|
|
# remove before publishing
|
|
'notification_id': some_id, # only exists for manual
|
|
# remove before publishing
|
|
'base': uploaded_path, # remove before publishing
|
|
'workbase': work_path, # remove before publishing
|
|
'origin': cattura_etc,
|
|
'creation': 0,
|
|
'title': "",
|
|
'presenters': [],
|
|
'courses': [],
|
|
'duration': 0,
|
|
'thumb': '',
|
|
'tags': [],
|
|
'sources': [
|
|
{
|
|
'name': 'main',
|
|
'video': {
|
|
resolution: source['video'], # resolution should be the vertical
|
|
... # resolution as a string, eg '720' etc
|
|
},
|
|
'poster': source.get('poster', ''),
|
|
'playAudio': source['playAudio']
|
|
},
|
|
...
|
|
],
|
|
'slides': [
|
|
{
|
|
'url': '', # a valid http(s) URL
|
|
'duration': 0 # an integer number of milliseconds
|
|
},
|
|
...
|
|
]
|
|
}
|