url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', item_view.item_delete, name="telemeta-item-delete"),
url(r'^archives/items/(?P<item_public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', item_view.related_media_item_stream, name="telemeta-item-related"),
url(r'^archives/items/(?P<item_public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', item_view.related_media_item_download, name="telemeta-item-related-download"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/markers/json/$', ItemMarkerJsonView.as_view(), name="telemeta-item-markers-json"),
# Markers
url(r'^archives/markers/(?P<marker_id>[A-Za-z0-9]+)/$', item_view.item_detail, name="telemeta-item-detail-marker"),
import tempfile
import zipfile
import mimetypes
+import json
from jsonrpc import jsonrpc_method
from telemeta.views.core import *
+from telemeta.views.marker import *
import timeside.core
metadata[key] = value.decode('utf-8')
keys_done.append(key)
return metadata
-
\ No newline at end of file
+
+
+
+class ItemMarkerJsonView(View):
+
+ model = MediaItem
+
+ def get(self, request, *args, **kwargs):
+ code = self.kwargs['public_id']
+ marker_view = MarkerView()
+ item = MediaItem.objects.get(code=code)
+ markers = marker_view.get_markers(item.id)
+ if markers:
+ data = json.dumps(markers)
+ else:
+ data = ''
+ response = HttpResponse(data, content_type='application/json')
+ response['Content-Disposition'] = "attachment; filename=%s.%s" % \
+ (item.code, 'json')
+ return response
def get_marker_id(request, public_id):
marker = MediaItemMarker.objects.get(public_id=public_id)
return marker.id
+
+