Compare commits

..

2 commits

Author SHA1 Message Date
j
6a18c14d42 cleanup 2018-05-09 16:46:04 +01:00
j
d1420b9976 add static output 2018-05-09 16:45:44 +01:00
4 changed files with 115 additions and 11 deletions

51
move_keywords.py Executable file
View file

@ -0,0 +1,51 @@
#!/usr/bin/python3
import getpass
import json
import sys
import ox
import ox.web.auth
site = 'pandora.cinemusespace.com'
api = ox.API('https://%s/api/' % site)
update = False
try:
credentials = ox.web.auth.get(site)
except:
credentials = {}
print('Please provide your username and password for %s:' % site)
credentials['username'] = input('Username: ')
credentials['password'] = getpass.getpass('Password: ')
update = True
r = api.signin(**credentials)
if 'errors' in r.get('data', {}):
for kv in r['data']['errors'].items():
print('%s: %s' % kv)
sys.exit(1)
if update:
ox.web.auth.update(site, credentials)
rename = json.load(open(sys.argv[1]))
for old, new in rename.items():
for annotation in api.findAnnotations({
'query': {
'conditions': [{
'key': 'value',
'value': old,
'operator': '=='
},
{
'key': 'layer',
'value': 'keywords',
'operator': '=='
}],
'operator': '&'
},
'keys': ['id', 'in', 'out', 'value', 'user', 'created'],
'range': [0, 500000]
})['data']['items']:
print(annotation['id'], annotation['value'], '->', new)
r = api.editAnnotation({'id': annotation['id'], 'value': new})
print(r.get('status'))

View file

@ -1,15 +1,15 @@
#!/usr/bin/python3
import ox
import ox.web.auth
import getpass
import json
import sys
url = 'http://131.111.144.26/api/'
api = ox.API(url)
site = '131.111.144.26'
import ox
import ox.web.auth
site = 'pandora.cinemusespace.com'
api = ox.API('https://%s/api/' % site)
update = False
try:
credentials = ox.web.auth.get(site)
except:
@ -26,6 +26,7 @@ if 'errors' in r.get('data', {}):
if update:
ox.web.auth.update(site, credentials)
old = []
for annotation in api.findAnnotations({
'query': {

52
static/html/print.html Normal file
View file

@ -0,0 +1,52 @@
<script src="/static/oxjs/min/Ox.js"></script>
<script>
function pandora_api(action, data, callback) {
var url = '/api/';
var xhr = new XMLHttpRequest();
xhr.addEventListener('load', function (evt) {
var data = JSON.parse(evt.target.responseText);
callback(data);
});
var formData = new FormData();
formData.append('action', action);
formData.append('data', JSON.stringify(data));
xhr.open('POST', url);
xhr.send(formData);
}
function render() {
var hash = document.location.hash.slice(1).split('/')
if (hash.length == 2) {
var item = hash[0],
time = hash[1].split(','),
in_ = time[0],
out = time[1];
in_ = Ox.parseDuration(in_);
out = Ox.parseDuration(out);
pandora_api('get', {
id: item,
keys: ['title', 'layers']
}, function(result) {
var html = ''
html += '<h1>' + result.data.title + ': ' + time[0] + ' - ' + time[1] + '</h1>'
html += '<img src="/' + item + '/240p'+in_+'.jpg">'
Ox.sortBy(result.data.layers.keywords, 'value').forEach(function(keyword) {
if (keyword['in'] <= out && keyword['out'] >= in_) {
html += '<br>' + keyword['value'];
}
})
document.body.innerHTML = html;
});
} else {
}
}
window.onhashchange = render
render()
</script>
<style>
body {
font-family: sans-serif;
}
</style>

View file

@ -449,7 +449,7 @@ pandora.ui.infoView = function(data) {
var $rightsLevel = $('<div>');
var $div = $('<div>')
.css({marginBottom: '4px'})
.append('Rights Level')
.append(formatKey('Rights Level', 'statistics'))
.append($rightsLevel)
.appendTo($statistics);
pandora.createLinks($div);
@ -562,10 +562,10 @@ pandora.ui.infoView = function(data) {
key = Ox._('Alternative Title' + (
data.alternativeTitles && data.alternativeTitles.length == 1 ? '' : 's'
));
} else if (key == 'topic') {
key = 'topics'
} else if (key == 'actor') {
key = 'actors'
} else if (key == 'Topic') {
key = 'Topics'
} else if (key == 'Actor') {
key = 'Actors'
}
var value = Ox.toTitleCase(key)
.replace(' Of ', ' of ')