Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
fea4cd0558 | |||
2d7e627c88 | |||
e1a49cfabf | |||
f24a31d29f |
8 changed files with 9 additions and 82 deletions
|
@ -1,61 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import unicodedata
|
|
||||||
import re
|
|
||||||
|
|
||||||
import ox
|
|
||||||
import ox.api
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
if len(sys.argv) > 1:
|
|
||||||
target = sys.argv[1]
|
|
||||||
else:
|
|
||||||
target = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'Stills')
|
|
||||||
|
|
||||||
if not target.endswith('/'):
|
|
||||||
target += '/'
|
|
||||||
|
|
||||||
site = 'pandora.cinemusespace.com'
|
|
||||||
api = ox.api.signin('https://%s/api/' % site)
|
|
||||||
|
|
||||||
keep = []
|
|
||||||
r = api.findAnnotations({
|
|
||||||
'query': {
|
|
||||||
'conditions': [
|
|
||||||
{'key': 'layer', 'operator': '==', 'value': 'stills'}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
'range': [0, 100000],
|
|
||||||
'keys': ['id', 'item', 'value', 'in', 'out', 'title', 'director', 'year']
|
|
||||||
})
|
|
||||||
for i in r['data']['items']:
|
|
||||||
img = re.compile('<img src="(.*)">').findall(i['value'])
|
|
||||||
if len(img) != 1:
|
|
||||||
print(img)
|
|
||||||
sys.exit(1)
|
|
||||||
lines = i['value'].strip().split('\n')
|
|
||||||
if len(lines) > 1:
|
|
||||||
tags = lines[1:]
|
|
||||||
else:
|
|
||||||
tags = []
|
|
||||||
|
|
||||||
name = i['title']
|
|
||||||
if i.get('year'):
|
|
||||||
name += '_(%s)' % i['year']
|
|
||||||
if i.get('director'):
|
|
||||||
name += '_' + ','.join(i['director'])
|
|
||||||
if tags:
|
|
||||||
name += '_' + ','.join(tags)
|
|
||||||
|
|
||||||
pos = float(re.compile('p(.*?).jpg').findall(img[0])[0])
|
|
||||||
name += '_%s.jpg' % ox.format_timecode(pos)
|
|
||||||
url = 'https://%s%s' % (site, img[0])
|
|
||||||
path = os.path.join(target, name)
|
|
||||||
if not os.path.exists(path):
|
|
||||||
print(url, name)
|
|
||||||
api.save_url(url, path)
|
|
||||||
|
|
23
config.jsonc
23
config.jsonc
|
@ -42,7 +42,6 @@ examples (config.SITENAME.jsonc) that are part of this pan.do/ra distribution.
|
||||||
"canAddItems": {"staff": true, "admin": true},
|
"canAddItems": {"staff": true, "admin": true},
|
||||||
"canAddDocuments": {"staff": true, "admin": true},
|
"canAddDocuments": {"staff": true, "admin": true},
|
||||||
"canDownloadVideo": {"guest": 0, "member": 0, "visitor": 0, "staff": 1, "admin": 2},
|
"canDownloadVideo": {"guest": 0, "member": 0, "visitor": 0, "staff": 1, "admin": 2},
|
||||||
"canDownloadSource": {"member": -1, "staff": 4, "admin": 4},
|
|
||||||
"canEditAnnotations": {"staff": false, "admin": true},
|
"canEditAnnotations": {"staff": false, "admin": true},
|
||||||
"canEditDocuments": {"staff": true, "admin": true},
|
"canEditDocuments": {"staff": true, "admin": true},
|
||||||
"canEditEntities": {"staff": true, "admin": true},
|
"canEditEntities": {"staff": true, "admin": true},
|
||||||
|
@ -215,7 +214,6 @@ examples (config.SITENAME.jsonc) that are part of this pan.do/ra distribution.
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"columnWidth": 120,
|
"columnWidth": 120,
|
||||||
//"format": {"type": "date", "args": ["%a, %b %e, %Y"]},
|
//"format": {"type": "date", "args": ["%a, %b %e, %Y"]},
|
||||||
"filter": true,
|
|
||||||
"sort": true
|
"sort": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1207,22 +1205,22 @@ examples (config.SITENAME.jsonc) that are part of this pan.do/ra distribution.
|
||||||
the system (from).
|
the system (from).
|
||||||
*/
|
*/
|
||||||
"site": {
|
"site": {
|
||||||
"description": "CineMuseSpace: A Cinematic Musée Imaginaire of Spatial Cultural Differences",
|
"description": "CineUrban: ...",
|
||||||
"email": {
|
"email": {
|
||||||
// E-mail address in contact form (to)
|
// E-mail address in contact form (to)
|
||||||
"contact": "js2034@cam.ac.uk",
|
"contact": "js2034@cam.ac.uk",
|
||||||
"footer": "-- \npandora.cinemusespace.com",
|
"footer": "-- \ncineurban.cinemusespace.com",
|
||||||
"prefix": "CineMuseSpace News -",
|
"prefix": "CineUrban News -",
|
||||||
// E-mail address uses by the system (from)
|
// E-mail address uses by the system (from)
|
||||||
"system": "system@pandora.cinemusespace.com"
|
"system": "system@urban.cinemusespace.com"
|
||||||
},
|
},
|
||||||
"https": false,
|
"https": false,
|
||||||
"id": "cms",
|
"id": "cms",
|
||||||
"name": "CineMuseSpace",
|
"name": "CineUrban",
|
||||||
// Set to true to allow search engines to index the site
|
// Set to true to allow search engines to index the site
|
||||||
"public": false,
|
"public": false,
|
||||||
"sendReferrer": true,
|
"sendReferrer": true,
|
||||||
"url": "pandora.cinemusespace.com"
|
"url": "cineurban.cinemusespace.com"
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
"sitePages" defines the sections of the main site dialog. If "news" is
|
"sitePages" defines the sections of the main site dialog. If "news" is
|
||||||
|
@ -1331,19 +1329,11 @@ examples (config.SITENAME.jsonc) that are part of this pan.do/ra distribution.
|
||||||
},
|
},
|
||||||
"document": "",
|
"document": "",
|
||||||
"documents": {},
|
"documents": {},
|
||||||
"documentFiltersSize": 176,
|
|
||||||
"documentSize": 256,
|
"documentSize": 256,
|
||||||
"documentView": "view",
|
"documentView": "view",
|
||||||
"documentsSelection": {},
|
"documentsSelection": {},
|
||||||
"documentsSort": [{"key": "title", "operator": "+"}],
|
"documentsSort": [{"key": "title", "operator": "+"}],
|
||||||
"documentsView": "grid",
|
"documentsView": "grid",
|
||||||
"documentFilters": [
|
|
||||||
{"id": "author", "sort": [{"key": "items", "operator": "-"}]},
|
|
||||||
{"id": "place", "sort": [{"key": "items", "operator": "-"}]},
|
|
||||||
{"id": "date", "sort": [{"key": "name", "operator": "-"}]},
|
|
||||||
{"id": "publisher", "sort": [{"key": "items", "operator": "-"}]},
|
|
||||||
{"id": "language", "sort": [{"key": "items", "operator": "-"}]}
|
|
||||||
],
|
|
||||||
"edit": "",
|
"edit": "",
|
||||||
"edits": {},
|
"edits": {},
|
||||||
"editSelection": [],
|
"editSelection": [],
|
||||||
|
@ -1408,7 +1398,6 @@ examples (config.SITENAME.jsonc) that are part of this pan.do/ra distribution.
|
||||||
"showCalendarControls": false,
|
"showCalendarControls": false,
|
||||||
"showClips": true,
|
"showClips": true,
|
||||||
"showDocument": true,
|
"showDocument": true,
|
||||||
"showDocumentFilters": false,
|
|
||||||
"showFilters": true,
|
"showFilters": true,
|
||||||
"showIconBrowser": false,
|
"showIconBrowser": false,
|
||||||
"showInfo": true,
|
"showInfo": true,
|
||||||
|
|
|
@ -31,7 +31,7 @@ for string in sorted(strings):
|
||||||
parents[parent] = grandparent
|
parents[parent] = grandparent
|
||||||
|
|
||||||
# sign in
|
# sign in
|
||||||
site = 'pandora.cinemusespace.com'
|
site = 'cineurban.cinemusespace.com'
|
||||||
api = ox.api.signin('https://%s/api/' % site)
|
api = ox.api.signin('https://%s/api/' % site)
|
||||||
|
|
||||||
# find keywords, add strings, count items for children and parents
|
# find keywords, add strings, count items for children and parents
|
||||||
|
|
|
@ -78,7 +78,7 @@ if __name__ == '__main__':
|
||||||
#print(json.dumps(tree, indent=4, sort_keys=True))
|
#print(json.dumps(tree, indent=4, sort_keys=True))
|
||||||
sized_ontology = {
|
sized_ontology = {
|
||||||
"size": len(tree),
|
"size": len(tree),
|
||||||
"name": "CineMuseSpace",
|
"name": "CineUrban",
|
||||||
"children": []
|
"children": []
|
||||||
}
|
}
|
||||||
for name in tree:
|
for name in tree:
|
||||||
|
|
|
@ -5,7 +5,7 @@ import json
|
||||||
import ox
|
import ox
|
||||||
import ox.api
|
import ox.api
|
||||||
|
|
||||||
site = 'pandora.cinemusespace.com'
|
site = 'cineurban.cinemusespace.com'
|
||||||
api = ox.api.signin('https://%s/api/' % site)
|
api = ox.api.signin('https://%s/api/' % site)
|
||||||
|
|
||||||
keywords = collections.Counter()
|
keywords = collections.Counter()
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 54 KiB |
Binary file not shown.
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 33 KiB |
1
tasks.py
1
tasks.py
|
@ -1,5 +1,4 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import os
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue