urlpatterns = patterns('',
- url(r'^$', home_view.home, name="telemeta-home"),
- url(r'^test', TemplateView.as_view(template_name = "telemeta/hello_world.html")),
-
- # items
- url(r'^archives/items/$', ItemListView.as_view(), name="telemeta-items"),
- url(r'^archives/full_access_items/$', ItemListViewFullAccess.as_view(), name="telemeta-fullaccess-items"),
- url(r'^archives/items_sound/$', ItemSoundListView.as_view(), name="telemeta-items-sound"),
- url(r'^archives/items_unpublished/$', ItemUnpublishedListView.as_view(), name="telemeta-items-unpublished"),
- url(r'^archives/items_published/$', ItemPublishedListView.as_view(), name="telemeta-items-published"),
-
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/$', ItemDetailView.as_view(), name="telemeta-item-detail"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', ItemDetailDCView.as_view(), name="telemeta-item-dublincore"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/dc/xml/$', item_view.item_detail, {'format': 'dublin_core_xml'}, name="telemeta-item-dublincore-xml"),
- url(r'^archives/items/download/(?P<public_id>[A-Za-z0-9._-]+)\.(?P<extension>' + export_extensions + ')$', item_view.item_export, name="telemeta-item-export"),
- url(r'^archives/items/download/(?P<public_id>[A-Za-z0-9._-]+)\.(?P<extension>' + export_extensions + ')/isAvailable$', item_view.item_export_available, name="telemeta-item-export-available"),
-
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/visualize/(?P<grapher_id>[0-9a-z_]+)/(?P<width>[0-9A-Z]+)x(?P<height>[0-9A-Z]+)/$', item_view.item_visualize, name="telemeta-item-visualize"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/analyze/xml/$', item_view.item_analyze_xml, name="telemeta-item-analyze-xml"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/item_xspf.xml$', item_view.item_playlist, dict(template="telemeta/mediaitem_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-item-xspf"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', ItemEditView.as_view(), name="telemeta-item-edit"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', ItemCopyView.as_view(), name="telemeta-item-copy"),
- url(r'^archives/items_add/$', ItemAddView.as_view(), name="telemeta-item-add"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', ItemPlayerDefaultView.as_view(), name="telemeta-item-player"),
- url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/video-player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', ItemVideoPlayerView.as_view(), name="telemeta-item-video-player"),
- 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"),
-
- # Redirections to old URLs
- url(r'^items/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/items/%(path)s/', permanent= True), name="telemeta-item-redir"),
- url(r'^collections/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/collections/%(path)s/', permanent= True), name="telemeta-collection-redir"),
- url(r'^corpus/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/corpus/%(path)s/', permanent= True), name="telemeta-corpus-redir"),
- url(r'^fonds/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/fonds/%(path)s/', permanent= True), name="telemeta-fonds-redir"),
-
- # collections
- url(r'^archives/collections/$', CollectionListView.as_view(), name="telemeta-collections"),
- url(r'^archives/collections_unpublished/$', CollectionUnpublishedListView.as_view(), name="telemeta-collections-unpublished"),
- url(r'^archives/collections_published/$', CollectionPublishedListView.as_view(), name="telemeta-collections-published"),
- url(r'^archives/collections_sound/$', CollectionSoundListView.as_view(), name="telemeta-collections-sound"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/$', CollectionDetailView.as_view(), name="telemeta-collection-detail"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', CollectionDetailViewDC.as_view(), name="telemeta-collection-dublincore"),
- # url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/collection_xspf.xml$', collection_view.collection_playlist, dict(template="telemeta/collection_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-collection-xspf"),
- # url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/collection.m3u$', collection_view.collection_playlist, dict(template="telemeta/collection.m3u", mimetype="audio/mpegurl"), name="telemeta-collection-m3u"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', CollectionEditView.as_view(), name="telemeta-collection-edit"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', CollectionCopyView.as_view(), name="telemeta-collection-copy"),
- url(r'^archives/collections_add/$', CollectionAddView.as_view(), name="telemeta-collection-add"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/add_item/$', ItemAddView.as_view(), name="telemeta-collection-additem"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', collection_view.collection_delete, name="telemeta-collection-delete"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', collection_view.related_media_collection_stream, name="telemeta-collection-related"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', collection_view.related_media_collection_download, name="telemeta-collection-related-download"),
-
- # FIXME: need all paths
- url(r'^collections/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(), {'url': '/archives/collections/%(path)s/', 'permanent': False}, name="telemeta-collection-redir"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/zip/$', CollectionZipView.as_view(), name="telemeta-collection-zip"),
- url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/epub/$', CollectionEpubView.as_view(), name="telemeta-collection-epub"),
-
- # Generic resources
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/$', ResourceListView.as_view(), name="telemeta-resource-list"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/$', ResourceDetailView.as_view(), name="telemeta-resource-detail"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', ResourceEditView.as_view(), name="telemeta-resource-edit"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', ResourceDetailDCView.as_view(), name="telemeta-resource-dublincore"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', ResourceCopyView.as_view(), name="telemeta-resource-copy"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)_add$', ResourceAddView.as_view(), name="telemeta-resource-add"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', ResourceDeleteView.as_view(), name="telemeta-resource-delete"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', resource_view.related_stream, name="telemeta-resource-related"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', resource_view.related_download, name="telemeta-resource-related-download"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/download/$', ResourceEpubView.as_view(), name="telemeta-resource-epub-download"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/list/$', ResourceEpubListView.as_view(), name="telemeta-resource-epub-list"),
- url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/$', ResourceEpubPasswordView.as_view(), name="telemeta-resource-password-epub"),
-
- # search
- # url(r'^archives/$', home_view.search, name="telemeta-archives"),
- url(r'^search/$', HaystackSearch(), name='haystack_search'),
- url(r'^search/autocomplete/$', autocomplete),
- url(r'^search/quick/(?P<type>[A-Za-z0-9._-]+)/$', HaystackSearch(), name='haystack_search_type'),
- url(r'^search/advance/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search'),
- url(r'^search/advance/(?P<type>[A-Za-z0-9._-]+)/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search_type'),
- #url(r'^search/booleaninstru/$', boolean_view.get_boolean_query),
-
- url(r'^search/playlist_add/(?P<type>[A-Za-z0-9._-]+)/$', NewPlaylistView().display, name='haystack_playlist'),
- url(r'^search/playlist_confirmation/(?P<type>[A-Za-z0-9._-]+)/$',NewPlaylistView().addToPlaylist, name='add_confirmation'),
-
- url(r'^complete_location/$', home_view.complete_location, name="telemeta-complete-location"),
-
- # administration
- url(r'^admin/$', admin_view.admin_index, name="telemeta-admin"),
- url(r'^admin/general/$', admin_view.admin_general, name="telemeta-admin-general"),
- url(r'^admin/enumerations/$', admin_view.admin_enumerations, name="telemeta-admin-enumerations"),
- url(r'^admin/users/$', admin_view.admin_users, name="telemeta-admin-users"),
-
- # instruments administration
- url(r'^admin/instruments/$', instrument_view.edit_instrument , name="telemeta-instrument-edit"),
- url(r'^admin/instruments/add/$', instrument_view.add_to_instrument, name="telemeta-instrument-add"),
- url(r'^admin/instruments/update/$', instrument_view.update_instrument, name="telemeta-instrument-update"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/$', instrument_view.edit_instrument_value, name="telemeta-instrument-record-edit"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-published/$', ItemInstrumentPublishedListView.as_view(),name="telemeta-items-instrument-published"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-unpublished/$', ItemInstrumentUnpublishedListView.as_view(),name="telemeta-items-instrument-unpublished"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-sound/$', ItemInstrumentSoundListView.as_view(),name="telemeta-items-instrument-sound"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemInstrumentListView.as_view(), name="telemeta-instrument-item-list"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/update/$', instrument_view.update_instrument_value, name="telemeta-instrument-record-update"),
- url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/replace/$', instrument_view.replace_instrument_value, name="telemeta-instrument-record-replace"),
-
- # instruments aliases administration
- url(r'^admin/instrument_aliases/$', instrument_alias_view.edit_instrument, name="telemeta-instrument-alias-edit"),
- url(r'^admin/instrument_aliases/add/$', instrument_alias_view.add_to_instrument, name="telemeta-instrument-alias-add"),
- url(r'^admin/instrument_aliases/update/$', instrument_alias_view.update_instrument, name="telemeta-instrument-alias-update"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/$', instrument_alias_view.edit_instrument_value, name="telemeta-instrument-alias-record-edit"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/update/$', instrument_alias_view.update_instrument_value, name="telemeta-instrument-alias-record-update"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/replace/$', instrument_alias_view.replace_instrument_value, name="telemeta-instrument-alias-record-replace"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-published/$', ItemAliasPublishedListView.as_view(),name="telemeta-items-alias-published"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-unpublished/$', ItemAliasUnpublishedListView.as_view(),name="telemeta-items-alias-unpublished"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-sound/$', ItemAliasSoundListView.as_view(),name="telemeta-items-alias-sound"),
- url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemAliasListView.as_view(), name="telemeta-alias-item-list"),
-
- # enumerations administration
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/$', admin_view.edit_enumeration , name="telemeta-enumeration-edit"),
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/add/$', admin_view.add_to_enumeration, name="telemeta-enumeration-add"),
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/update/$', admin_view.update_enumeration, name="telemeta-enumeration-update"),
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/$', admin_view.edit_enumeration_value, name="telemeta-enumeration-record-edit"),
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/update/$', admin_view.update_enumeration_value, name="telemeta-enumeration-record-update"),
- url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/replace/$', admin_view.replace_enumeration_value, name="telemeta-enumeration-replace"),
-
- # Geographic browsing
- url(r'^geo/$', geo_view.list_continents, name="telemeta-geo-continents"),
- url(r'^geo/(?P<continent>[a-z_]+)/$', geo_view.list_countries, name="telemeta-geo-countries"),
- url(r'^geo/collections/(?P<continent>[a-z_]+)/(?P<country>[a-z_]+)/$', GeoCountryCollectionView.as_view(), name="telemeta-geo-country-collections"),
- url(r'^geo/items/(?P<continent>[a-z_]+)/(?P<country>[a-z_]+)/$', GeoCountryItemView.as_view() , name="telemeta-geo-country-items"),
- url(r'^geo/country_info/(?P<id>[0-9a-z]+)/$', geo_view.country_info, name="telemeta-country-info"),
-
- # Flat pages
- url(r'^pages/(?P<path>.*)$', home_view.render_flatpage, name="telemeta-flatpage"),
-
- # OAI-PMH Data Provider
- url(r'^oai/.*$', home_view.handle_oai_request, name="telemeta-oai"),
-
- # Authentication
- url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'telemeta/login.html'}, name="telemeta-login"),
- url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'telemeta/login.html'}, name="telemeta-login"),
- #url(r'^login/$', 'ipauth.views.login', {'template_name': 'telemeta/login.html'},
- # name="telemeta-login"),
- url(r'^logout/$', home_view.logout, name="telemeta-logout"),
-
- # Users
- url(r'^accounts/$', home_view.users, name="telemeta-users"),
-
- # Desk
- url(r'^desk/lists/(?:(?P<range_playlist>[0-9]+)/)?$', home_view.lists, name="telemeta-desk-lists"),
- url(r'^desk/profile/(?P<username>[A-Za-z0-9@+._-]+)/$', profile_view.profile_detail, name="telemeta-desk-profile"),
- url(r'^desk/home/$', home_view.home, name="telemeta-desk-home"),
-
- # Profiles
- url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/profile/$', profile_view.profile_detail, name="telemeta-profile-detail"),
- url(r'^users/(?P<username>[A-Za-z0-9._-]+)/$', profile_view.profile_detail, name="telemeta-profile-detail-2"),
- url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/profile/edit/$', profile_view.profile_edit, name="telemeta-profile-edit"),
- url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/rss/$', UserRevisionsFeed(), name="telemeta-user-rss"),
-
- # Registration
- url(r'^accounts/password_change/$', 'django.contrib.auth.views.password_change', {'template_name': 'telemeta/registration/password_change_form.html'}, name="password_change"),
- url(r'^accounts/password_change_done/$', 'django.contrib.auth.views.password_change_done', {'template_name': 'telemeta/registration/password_change_done.html'}, name="password_change_done"),
- url(r'^accounts/password_reset/$', 'django.contrib.auth.views.password_reset', {'template_name': 'telemeta/registration/password_reset_form.html', 'email_template_name': 'registration/password_reset_email.html'}, name="password_reset"),
- url(r'^accounts/password_reset_done/$', 'django.contrib.auth.views.password_reset_done', {'template_name': 'telemeta/registration/password_reset_done.html'}, name="password_reset_done"),
- url(r'^accounts/password_reset_confirm/(?P<uidb64>[A-Za-z0-9._-]+)/(?P<token>[A-Za-z0-9._-]+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'telemeta/registration/password_reset_confirm.html'}, name="password_reset_confirm"),
- url(r'^accounts/password_reset_complete/$', 'django.contrib.auth.views.password_reset_complete', {'template_name': 'telemeta/registration/password_reset_complete.html'}, name="password_reset_complete"),
-
- # JSON RPC
- url(r'jsonrpc/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'),
-
- # Playlists
- url(r'^playlists/(?P<public_id>[a-zA-Z0-9]+)/(?P<resource_type>[a-zA-Z0-9]+)/csv/$', playlist_view.playlist_csv_export, name="telemeta-playlist-csv-export"),
- url(r'^playlists/playlist_add/$', NewPlaylistView().display, name='playlist'),
-
- # RSS feeds
- url(r'^rss/$', LastestRevisionsFeed(), name="telemeta-rss"),
-
- # Static media
- # FIXME:need to move export dir from the cache
- url(r'^media/cache/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.TELEMETA_CACHE_DIR,}),
-
- url(r'^', include('jqchat.urls')),
-
- # Timeside
- #url(r'^timeside/', include('timeside.server.urls')),
-
-)
+ url(r'^$', home_view.home, name="telemeta-home"),
+ url(r'^test', TemplateView.as_view(template_name = "telemeta/hello_world.html")),
+
+ # items
+ url(r'^archives/items/$', ItemListView.as_view(), name="telemeta-items"),
+ url(r'^archives/full_access_items/$', ItemListViewFullAccess.as_view(), name="telemeta-fullaccess-items"),
+ url(r'^archives/items_sound/$', ItemSoundListView.as_view(), name="telemeta-items-sound"),
+ url(r'^archives/items_unpublished/$', ItemUnpublishedListView.as_view(), name="telemeta-items-unpublished"),
+ url(r'^archives/items_published/$', ItemPublishedListView.as_view(), name="telemeta-items-published"),
+
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/$', ItemDetailView.as_view(), name="telemeta-item-detail"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', ItemDetailDCView.as_view(), name="telemeta-item-dublincore"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/dc/xml/$', item_view.item_detail, {'format': 'dublin_core_xml'}, name="telemeta-item-dublincore-xml"),
+ url(r'^archives/items/download/(?P<public_id>[A-Za-z0-9._-]+)\.(?P<extension>' + export_extensions + ')$', item_view.item_export, name="telemeta-item-export"),
+ url(r'^archives/items/download/(?P<public_id>[A-Za-z0-9._-]+)\.(?P<extension>' + export_extensions + ')/isAvailable$', item_view.item_export_available, name="telemeta-item-export-available"),
+
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/visualize/(?P<grapher_id>[0-9a-z_]+)/(?P<width>[0-9A-Z]+)x(?P<height>[0-9A-Z]+)/$', item_view.item_visualize, name="telemeta-item-visualize"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/analyze/xml/$', item_view.item_analyze_xml, name="telemeta-item-analyze-xml"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/item_xspf.xml$', item_view.item_playlist, dict(template="telemeta/mediaitem_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-item-xspf"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', ItemEditView.as_view(), name="telemeta-item-edit"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', ItemCopyView.as_view(), name="telemeta-item-copy"),
+ url(r'^archives/items_add/$', ItemAddView.as_view(), name="telemeta-item-add"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', ItemPlayerDefaultView.as_view(), name="telemeta-item-player"),
+ url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/video-player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', ItemVideoPlayerView.as_view(), name="telemeta-item-video-player"),
+ 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"),
+
+ # Redirections to old URLs
+ url(r'^items/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/items/%(path)s/', permanent= True), name="telemeta-item-redir"),
+ url(r'^collections/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/collections/%(path)s/', permanent= True), name="telemeta-collection-redir"),
+ url(r'^corpus/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/corpus/%(path)s/', permanent= True), name="telemeta-corpus-redir"),
+ url(r'^fonds/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(url='/archives/fonds/%(path)s/', permanent= True), name="telemeta-fonds-redir"),
+
+ # collections
+ url(r'^archives/collections/$', CollectionListView.as_view(), name="telemeta-collections"),
+ url(r'^archives/collections_unpublished/$', CollectionUnpublishedListView.as_view(), name="telemeta-collections-unpublished"),
+ url(r'^archives/collections_published/$', CollectionPublishedListView.as_view(), name="telemeta-collections-published"),
+ url(r'^archives/collections_sound/$', CollectionSoundListView.as_view(), name="telemeta-collections-sound"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/$', CollectionDetailView.as_view(), name="telemeta-collection-detail"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', CollectionDetailViewDC.as_view(), name="telemeta-collection-dublincore"),
+ # url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/collection_xspf.xml$', collection_view.collection_playlist, dict(template="telemeta/collection_xspf.xml", mimetype="application/xspf+xml"), name="telemeta-collection-xspf"),
+ # url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/collection.m3u$', collection_view.collection_playlist, dict(template="telemeta/collection.m3u", mimetype="audio/mpegurl"), name="telemeta-collection-m3u"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', CollectionEditView.as_view(), name="telemeta-collection-edit"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', CollectionCopyView.as_view(), name="telemeta-collection-copy"),
+ url(r'^archives/collections_add/$', CollectionAddView.as_view(), name="telemeta-collection-add"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/add_item/$', ItemAddView.as_view(), name="telemeta-collection-additem"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', collection_view.collection_delete, name="telemeta-collection-delete"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', collection_view.related_media_collection_stream, name="telemeta-collection-related"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', collection_view.related_media_collection_download, name="telemeta-collection-related-download"),
+
+ # FIXME: need all paths
+ url(r'^collections/(?P<path>[A-Za-z0-9._-s/]+)/$', RedirectView.as_view(), {'url': '/archives/collections/%(path)s/', 'permanent': False}, name="telemeta-collection-redir"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/zip/$', CollectionZipView.as_view(), name="telemeta-collection-zip"),
+ url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/epub/$', CollectionEpubView.as_view(), name="telemeta-collection-epub"),
+
+ # Generic resources
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/$', ResourceListView.as_view(), name="telemeta-resource-list"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/$', ResourceDetailView.as_view(), name="telemeta-resource-detail"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', ResourceEditView.as_view(), name="telemeta-resource-edit"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/dc/$', ResourceDetailDCView.as_view(), name="telemeta-resource-dublincore"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', ResourceCopyView.as_view(), name="telemeta-resource-copy"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)_add$', ResourceAddView.as_view(), name="telemeta-resource-add"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', ResourceDeleteView.as_view(), name="telemeta-resource-delete"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/view/$', resource_view.related_stream, name="telemeta-resource-related"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/related/(?P<media_id>[A-Za-z0-9._-]+)/download/$', resource_view.related_download, name="telemeta-resource-related-download"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/download/$', ResourceEpubView.as_view(), name="telemeta-resource-epub-download"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/list/$', ResourceEpubListView.as_view(), name="telemeta-resource-epub-list"),
+ url(r'^archives/(?P<type>[A-Za-z0-9._-]+)/(?P<public_id>[A-Za-z0-9._-]+)/epub/$', ResourceEpubPasswordView.as_view(), name="telemeta-resource-password-epub"),
+
+ # search
+ # url(r'^archives/$', home_view.search, name="telemeta-archives"),
+ url(r'^search/$', HaystackSearch(), name='haystack_search'),
+ url(r'^search/autocomplete/$', autocomplete),
+ url(r'^search/quick/(?P<type>[A-Za-z0-9._-]+)/$', HaystackSearch(), name='haystack_search_type'),
+ url(r'^search/advance/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search'),
+ url(r'^search/advance/(?P<type>[A-Za-z0-9._-]+)/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search_type'),
+ #url(r'^search/booleaninstru/$', boolean_view.get_boolean_query),
+
+ url(r'^search/playlist_add/(?P<type>[A-Za-z0-9._-]+)/$', NewPlaylistView().display, name='haystack_playlist'),
+ url(r'^search/playlist_confirmation/(?P<type>[A-Za-z0-9._-]+)/$',NewPlaylistView().addToPlaylist, name='add_confirmation'),
+
+ url(r'^complete_location/$', home_view.complete_location, name="telemeta-complete-location"),
+
+ # administration
+ url(r'^admin/$', admin_view.admin_index, name="telemeta-admin"),
+ url(r'^admin/general/$', admin_view.admin_general, name="telemeta-admin-general"),
+ url(r'^admin/enumerations/$', admin_view.admin_enumerations, name="telemeta-admin-enumerations"),
+ url(r'^admin/users/$', admin_view.admin_users, name="telemeta-admin-users"),
+
+ # instruments administration
+ url(r'^admin/instruments/$', instrument_view.edit_instrument , name="telemeta-instrument-edit"),
+ url(r'^admin/instruments/add/$', instrument_view.add_to_instrument, name="telemeta-instrument-add"),
+ url(r'^admin/instruments/update/$', instrument_view.update_instrument, name="telemeta-instrument-update"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/$', instrument_view.edit_instrument_value, name="telemeta-instrument-record-edit"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-published/$', ItemInstrumentPublishedListView.as_view(),name="telemeta-items-instrument-published"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-unpublished/$', ItemInstrumentUnpublishedListView.as_view(),name="telemeta-items-instrument-unpublished"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items-sound/$', ItemInstrumentSoundListView.as_view(),name="telemeta-items-instrument-sound"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemInstrumentListView.as_view(), name="telemeta-instrument-item-list"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/update/$', instrument_view.update_instrument_value, name="telemeta-instrument-record-update"),
+ url(r'^admin/instruments/' + r'(?P<value_id>[0-9]+)/replace/$', instrument_view.replace_instrument_value, name="telemeta-instrument-record-replace"),
+
+ # instruments aliases administration
+ url(r'^admin/instrument_aliases/$', instrument_alias_view.edit_instrument, name="telemeta-instrument-alias-edit"),
+ url(r'^admin/instrument_aliases/add/$', instrument_alias_view.add_to_instrument, name="telemeta-instrument-alias-add"),
+ url(r'^admin/instrument_aliases/update/$', instrument_alias_view.update_instrument, name="telemeta-instrument-alias-update"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/$', instrument_alias_view.edit_instrument_value, name="telemeta-instrument-alias-record-edit"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/update/$', instrument_alias_view.update_instrument_value, name="telemeta-instrument-alias-record-update"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/replace/$', instrument_alias_view.replace_instrument_value, name="telemeta-instrument-alias-record-replace"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-published/$', ItemAliasPublishedListView.as_view(),name="telemeta-items-alias-published"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-unpublished/$', ItemAliasUnpublishedListView.as_view(),name="telemeta-items-alias-unpublished"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-item-sound/$', ItemAliasSoundListView.as_view(),name="telemeta-items-alias-sound"),
+ url(r'^admin/instrument_aliases/' + r'(?P<value_id>[0-9]+)/'+'list-items/$', ItemAliasListView.as_view(), name="telemeta-alias-item-list"),
+
+ # enumerations administration
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/$',admin_view.edit_enumeration,name="telemeta-enumeration-edit"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/add/$',admin_view.add_to_enumeration,name="telemeta-enumeration-add"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/update/$', admin_view.update_enumeration,name="telemeta-enumeration-update"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/$',admin_view.edit_enumeration_value, name="telemeta-enumeration-record-edit"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/update/$',admin_view.update_enumeration_value, name="telemeta-enumeration-record-update"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/replace/$',admin_view.replace_enumeration_value, name="telemeta-enumeration-replace"),
+
+ # Enumeration list collection
+ url( r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/collection/list/$',CollectionEnumListView.as_view(), name="telemeta-enumeration-list-collection"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/collections_unpublished/list/$',CollectionUnpublishedEnumListView.as_view(),name="telemeta-enumeration-list-collections-unpublished"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/collections_published/list/$',CollectionPublishedEnumListView.as_view(),name="telemeta-enumeration-list-collections-published"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/collections_sound/list/$',CollectionSoundEnumListView.as_view(), name="telemeta-enumeration-list-collections-sound"),
+
+ # Enumeration list item
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/item/list/$',ItemEnumListView.as_view(), name="telemeta-enumeration-list-item"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/item_unpublished/list/$',ItemUnpublishedEnumListView.as_view(), name="telemeta-enumeration-list-item-unpublished"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/item_published/list/$',ItemPublishedEnumListView.as_view(), name="telemeta-enumeration-list-item-published"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/item_sound/list/$',ItemSoundEnumListView.as_view(), name="telemeta-enumeration-list-item-sound"),
+
+ # keyword list
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/keyword_item/list/$',ItemKeywordListView.as_view(), name="telemeta-keyword-list-item"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/keyword_item_unpublished/list/$',ItemKeywordPublishedListView.as_view(), name="telemeta-keyword-list-item-unpublished"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/keyword_item_published/list/$',ItemKeywordUnpublishedListView.as_view(), name="telemeta-keyword-list-item-published"),
+ url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/' + r'(?P<value_id>[0-9]+)/keyword_item_sound/list/$',ItemKeywordSoundListView.as_view(), name="telemeta-keyword-list-item-sound"),
+
+ # Geographic browsing
+ url(r'^geo/$', geo_view.list_continents, name="telemeta-geo-continents"),
+ url(r'^geo/(?P<continent>[a-z_]+)/$', geo_view.list_countries, name="telemeta-geo-countries"),
+ url(r'^geo/collections/(?P<continent>[a-z_]+)/(?P<country>[a-z_]+)/$', GeoCountryCollectionView.as_view(), name="telemeta-geo-country-collections"),
+ url(r'^geo/items/(?P<continent>[a-z_]+)/(?P<country>[a-z_]+)/$', GeoCountryItemView.as_view() , name="telemeta-geo-country-items"),
+ url(r'^geo/country_info/(?P<id>[0-9a-z]+)/$', geo_view.country_info, name="telemeta-country-info"),
+
+ # Flat pages
+ url(r'^pages/(?P<path>.*)$', home_view.render_flatpage, name="telemeta-flatpage"),
+
+ # OAI-PMH Data Provider
+ url(r'^oai/.*$', home_view.handle_oai_request, name="telemeta-oai"),
+
+ # Authentication
+ url(r'^login/$', 'django.contrib.auth.views.login', {'template_name': 'telemeta/login.html'}, name="telemeta-login"),
+ url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'telemeta/login.html'}, name="telemeta-login"),
+ #url(r'^login/$', 'ipauth.views.login', {'template_name': 'telemeta/login.html'},
+ # name="telemeta-login"),
+ url(r'^logout/$', home_view.logout, name="telemeta-logout"),
+
+ # Users
+ url(r'^accounts/$', home_view.users, name="telemeta-users"),
+
+ # Desk
+ url(r'^desk/lists/(?:(?P<range_playlist>[0-9]+)/)?$', home_view.lists, name="telemeta-desk-lists"),
+ url(r'^desk/profile/(?P<username>[A-Za-z0-9@+._-]+)/$', profile_view.profile_detail, name="telemeta-desk-profile"),
+ url(r'^desk/home/$', home_view.home, name="telemeta-desk-home"),
+
+ # Profiles
+ url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/profile/$', profile_view.profile_detail, name="telemeta-profile-detail"),
+ url(r'^users/(?P<username>[A-Za-z0-9._-]+)/$', profile_view.profile_detail, name="telemeta-profile-detail-2"),
+ url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/profile/edit/$', profile_view.profile_edit, name="telemeta-profile-edit"),
+ url(r'^accounts/(?P<username>[A-Za-z0-9._-]+)/rss/$', UserRevisionsFeed(), name="telemeta-user-rss"),
+
+ # Registration
+ url(r'^accounts/password_change/$', 'django.contrib.auth.views.password_change', {'template_name': 'telemeta/registration/password_change_form.html'}, name="password_change"),
+ url(r'^accounts/password_change_done/$', 'django.contrib.auth.views.password_change_done', {'template_name': 'telemeta/registration/password_change_done.html'}, name="password_change_done"),
+ url(r'^accounts/password_reset/$', 'django.contrib.auth.views.password_reset', {'template_name': 'telemeta/registration/password_reset_form.html', 'email_template_name': 'registration/password_reset_email.html'}, name="password_reset"),
+ url(r'^accounts/password_reset_done/$', 'django.contrib.auth.views.password_reset_done', {'template_name': 'telemeta/registration/password_reset_done.html'}, name="password_reset_done"),
+ url(r'^accounts/password_reset_confirm/(?P<uidb64>[A-Za-z0-9._-]+)/(?P<token>[A-Za-z0-9._-]+)/$', 'django.contrib.auth.views.password_reset_confirm', {'template_name': 'telemeta/registration/password_reset_confirm.html'}, name="password_reset_confirm"),
+ url(r'^accounts/password_reset_complete/$', 'django.contrib.auth.views.password_reset_complete', {'template_name': 'telemeta/registration/password_reset_complete.html'}, name="password_reset_complete"),
+
+ # JSON RPC
+ url(r'jsonrpc/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'),
+
+ # Playlists
+ url(r'^playlists/(?P<public_id>[a-zA-Z0-9]+)/(?P<resource_type>[a-zA-Z0-9]+)/csv/$', playlist_view.playlist_csv_export, name="telemeta-playlist-csv-export"),
+ url(r'^playlists/playlist_add/$', NewPlaylistView().display, name='playlist'),
+
+ # RSS feeds
+ url(r'^rss/$', LastestRevisionsFeed(), name="telemeta-rss"),
+
+ # Static media
+ # FIXME:need to move export dir from the cache
+ url(r'^media/cache/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.TELEMETA_CACHE_DIR,}),
+
+ url(r'^', include('jqchat.urls')),
+
+ # Timeside
+ #url(r'^timeside/', include('timeside.server.urls')),
+
+ )
if settings.DEBUG and 'debug_toolbar' in settings.INSTALLED_APPS:
import debug_toolbar
urlpatterns += patterns('',
- url(r'^__debug__/', include(debug_toolbar.urls)),
- # for the graphical browser/web console only, omissible
- url(r'json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"),
- )
+ url(r'^__debug__/', include(debug_toolbar.urls)),
+ # for the graphical browser/web console only, omissible
+ url(r'json/browse/', 'jsonrpc.views.browse', name="jsonrpc_browser"),
+ )
# Authors: Olivier Guilyardi <olivier@samalyse.com>
# Guillaume Pellerin <yomguy@parisson.com>
+import telemeta
from telemeta.views.core import *
from telemeta.views.core import serve_media
class ItemBaseMixin(TelemetaBaseMixin):
-
graphers = timeside.core.processor.processors(timeside.core.api.IGrapher)
decoders = timeside.core.processor.processors(timeside.core.api.IDecoder)
encoders = timeside.core.processor.processors(timeside.core.api.IEncoder)
default_grapher_sizes = getattr(settings, 'TIMESIDE_DEFAULT_GRAPHER_SIZES', ['346x130', ])
auto_zoom = getattr(settings, 'TIMESIDE_AUTO_ZOOM', False)
- public_graphers = ['waveform_centroid' ,'waveform_simple',
- 'spectrogram', 'spectrogram_log']
-
+ public_graphers = ['waveform_centroid', 'waveform_simple',
+ 'spectrogram', 'spectrogram_log']
+
def get_graphers(self):
graphers = []
user = self.request.user
graphers_access = (user.is_staff
or user.is_superuser
or user.has_perm('can_run_analysis'))
-
+
for grapher in self.graphers:
if (not graphers_access
and grapher.id() not in self.public_graphers):
graph = grapher(width=width, height=height)
(decoder | graph).run()
graph.watermark('timeside', opacity=.6, margin=(5, 5))
- #f = open(path, 'w')
+ # f = open(path, 'w')
graph.render(output=path)
# f.close()
self.cache_data.add_file(image_file)
video = item.file.path
response = serve_media(video, content_type=mime_type)
# response['Content-Disposition'] = 'attachment'
- # TF : I don't know why empty attachment was set
+ # TF : I don't know why empty attachment was set
# TODO: remove if useless
if return_availability:
data = json.dumps({'available': True})
video = item.file.path
response = serve_media(video, content_type=mime_type)
# response['Content-Disposition'] = 'attachment'
- # TF : I don't know why empty attachment was set,
+ # TF : I don't know why empty attachment was set,
# TODO: remove if useless
if return_availability:
data = json.dumps({'available': True})
return response
(media, mime_type) = self.item_transcode(item, extension)
- #media = None
+ # media = None
if media:
if return_availability:
data = json.dumps({'available': True})
messages.info(request, title)
response = render(request, 'telemeta/messages.html', {'description': description})
from django.utils.cache import patch_cache_control
- #patch_cache_control(response, no_cache=True, no_store=True, must_revalidate=True)
+ # patch_cache_control(response, no_cache=True, no_store=True, must_revalidate=True)
return response
def item_export_available(self, request, public_id, extension):
class ItemListView(ListView):
-
model = MediaItem
template_name = "telemeta/mediaitem_list.html"
queryset = MediaItem.objects.enriched().order_by('code', 'old_code')
class ItemListViewFullAccess(ListView):
-
model = MediaItem
template_name = "telemeta/mediaitem_list.html"
paginate_by = 20
- queryset = MediaItem.objects.enriched().filter(Q(collection__public_access="full") | Q(public_access="full")).sound().exclude(collection__public_access="none").order_by('code', 'old_code')
+ queryset = MediaItem.objects.enriched().filter(
+ Q(collection__public_access="full") | Q(public_access="full")).sound().exclude(
+ collection__public_access="none").order_by('code', 'old_code')
def get_context_data(self, **kwargs):
context = super(ItemListViewFullAccess, self).get_context_data(**kwargs)
class ItemUnpublishedListView(ItemListView):
-
queryset = MediaItem.objects.filter(collection__code__contains='_I_').order_by('code', 'old_code')
class ItemPublishedListView(ItemListView):
-
queryset = MediaItem.objects.filter(collection__code__contains='_E_').order_by('code', 'old_code')
class ItemSoundListView(ItemListView):
-
queryset = MediaItem.objects.sound().order_by('code', 'old_code')
class ItemInstrumentListView(ItemListView):
-
template_name = "telemeta/media_item_instrument_list.html"
def get_queryset(self):
class ItemInstrumentPublishedListView(ItemInstrumentListView):
-
def get_queryset(self):
- return super(ItemInstrumentPublishedListView, self).get_queryset().filter(collection__code__contains='_E_').order_by('code', 'old_code')
+ return super(ItemInstrumentPublishedListView, self).get_queryset().filter(
+ collection__code__contains='_E_').order_by('code', 'old_code')
class ItemInstrumentUnpublishedListView(ItemInstrumentListView):
-
def get_queryset(self):
- return super(ItemInstrumentUnpublishedListView, self).get_queryset().filter(collection__code__contains='_I_').order_by('code', 'old_code')
+ return super(ItemInstrumentUnpublishedListView, self).get_queryset().filter(
+ collection__code__contains='_I_').order_by('code', 'old_code')
class ItemInstrumentSoundListView(ItemInstrumentListView):
-
def get_queryset(self):
return super(ItemInstrumentSoundListView, self).get_queryset().sound().order_by('code', 'old_code')
class ItemAliasListView(ItemListView):
-
template_name = "telemeta/media_item_alias_list.html"
def get_queryset(self):
class ItemAliasPublishedListView(ItemAliasListView):
-
def get_queryset(self):
- return super(ItemAliasPublishedListView, self).get_queryset().filter(collection__code__contains='_E_').order_by('code', 'old_code')
+ return super(ItemAliasPublishedListView, self).get_queryset().filter(collection__code__contains='_E_').order_by(
+ 'code', 'old_code')
class ItemAliasUnpublishedListView(ItemAliasListView):
-
def get_queryset(self):
- return super(ItemAliasUnpublishedListView, self).get_queryset().filter(collection__code__contains='_I_').order_by('code', 'old_code')
+ return super(ItemAliasUnpublishedListView, self).get_queryset().filter(
+ collection__code__contains='_I_').order_by('code', 'old_code')
class ItemAliasSoundListView(ItemAliasListView):
-
def get_queryset(self):
return super(ItemAliasSoundListView, self).get_queryset().sound().order_by('code', 'old_code')
class ItemViewMixin(ItemBaseMixin):
-
model = MediaItem
form_class = MediaItemForm
inlines = [ItemPerformanceInline, ItemKeywordInline, ItemRelatedInline, ItemIdentifierInline]
+
# inlines = [ItemPerformanceInline, ItemKeywordInline, ItemRelatedInline,
# ItemFormatInline, ItemIdentifierInline]
class ItemEditView(ItemViewMixin, UpdateWithInlinesView):
-
template_name = 'telemeta/mediaitem_edit.html'
def get_form_class(self):
class ItemAddView(ItemViewMixin, CreateWithInlinesView):
-
form_class = MediaItemForm
template_name = 'telemeta/mediaitem_add.html'
class ItemCopyView(ItemAddView):
-
form_class = MediaItemForm
template_name = 'telemeta/mediaitem_edit.html'
class ItemDetailView(ItemViewMixin, DetailView):
-
template_name = 'telemeta/mediaitem_detail.html'
def item_analyze(self, item):
is_transcoded_flag.value = True
is_transcoded_flag.save()
-# FIXME: parse tags on first load
-# tags = decoder.tags
+ # FIXME: parse tags on first load
+ # tags = decoder.tags
self.mime_type = mime_type
'relation': 'TALB', # album
'type': 'TCON', # genre
'publisher': 'TPUB', # publisher
- 'date': 'TDRC', # year
+ 'date': 'TDRC', # year
# 'coverage': 'COMM', #comment
},
'ogg': {
'creator': 'artist',
'relation': 'album',
- 'all': 'all',
+ 'all': 'all',
},
'flac': {
'creator': 'artist',
'relation': 'album',
- 'all': 'all',
+ 'all': 'all',
},
'wav': {
'creator': 'artist',
'relation': 'album',
- 'all': 'all',
+ 'all': 'all',
},
'webm': {
'creator': 'artist',
'relation': 'album',
- 'all': 'all',
+ 'all': 'all',
},
}
class ItemMarkerJsonView(View):
-
model = MediaItem
def get(self, request, *args, **kwargs):
data = ''
response = HttpResponse(data, content_type='application/json')
response['Content-Disposition'] = "attachment; filename=%s.%s" % \
- (item.code, 'json')
+ (item.code, 'json')
return response
class ItemPlayerDefaultView(ItemDetailView):
-
template_name = 'telemeta/mediaitem_player.html'
class ItemDetailDCView(ItemDetailView):
-
template_name = 'telemeta/mediaitem_detail_dc.html'
class ItemVideoPlayerView(ItemDetailView):
-
template_name = 'telemeta/mediaitem_video_player.html'
+
+
+class ItemEnumListView(ItemListView):
+ template_name = 'telemeta/media_item_enum_list.html'
+
+ def get_context_data(self, **kwargs):
+ context = super(ItemListView, self).get_context_data(**kwargs)
+ context['enum'] = self.request.path.split('/')[3]
+ context['id'] = self.request.path.split('/')[4]
+ context['count'] = self.object_list.count()
+ context['keyword'] = False
+ context['enum_name'] = ItemEnumListView().get_enumeration(self.request.path.split('/')[3])._meta.verbose_name
+ context['enum_value'] = ItemEnumListView().get_enumeration(self.request.path.split('/')[3]).objects.get(
+ id__exact=self.request.path.split('/')[4])
+ context['url_all'] = "/admin/enumerations/" + context['enum'] + "/" + context['id'] + "/item/list"
+ context['url_unpublished'] = "/admin/enumerations/" + context['enum'] + "/" + context[
+ 'id'] + "/item_unpublished/list/"
+ context['url_published'] = "/admin/enumerations/" + context['enum'] + "/" + context[
+ 'id'] + "/item_published/list/"
+ context['url_sound'] = "/admin/enumerations/" + context['enum'] + "/" + context['id'] + "/item_sound/list/"
+ return context
+
+ def get_queryset(self):
+ enumeration = self.get_enumeration(self.request.path.split('/')[3])
+ queryset = self.get_item(enumeration.objects.filter(id=self.request.path.split('/')[4]).get())
+ print type(queryset)
+ return queryset
+
+ def get_item(self, enum):
+ f = MediaItem._meta.get_all_field_names()
+ for field in f:
+ if field in enum._meta.db_table.replace(" ", "_"):
+ atr = field;
+ atr = atr + "_id"
+ lookup = "%s__exact" % atr
+ return MediaItem.objects.filter(**{lookup: enum.__getattribute__("id")})
+
+ def get_enumeration(self, id):
+ from django.db.models import get_models
+ models = get_models(telemeta.models)
+ for model in models:
+ if model._meta.module_name == id:
+ break
+ if model._meta.module_name != id:
+ return None
+ return model
+
+
+class ItemPublishedEnumListView(ItemEnumListView):
+ def get_queryset(self):
+ c = ItemEnumListView()
+ # id of value of enumeration
+ i = self.request.path.split('/')[4]
+ enumeration = c.get_enumeration(self.request.path.split('/')[3])
+ queryset = self.get_item(enumeration.objects.filter(id=i).get(), c)
+ return queryset
+
+ def get_item(self, enum, c):
+ return c.get_item(enum).filter(code__contains='_E_')
+
+
+class ItemUnpublishedEnumListView(ItemEnumListView):
+ def get_queryset(self):
+ c = ItemEnumListView()
+ # id of value of enumeration
+ i = self.request.path.split('/')[4]
+ enumeration = c.get_enumeration(self.request.path.split('/')[3])
+ queryset = self.get_item(enumeration.objects.filter(id=i).get(), c)
+ return queryset
+
+ def get_item(self, enum, c):
+ return c.get_item(enum).filter(code__contains='_I_')
+
+
+class ItemSoundEnumListView(ItemEnumListView):
+ def get_queryset(self):
+ c = ItemEnumListView()
+ # id of value of enumeration
+ i = self.request.path.split('/')[4]
+ enumeration = c.get_enumeration(self.request.path.split('/')[3])
+ queryset = self.get_item(enumeration.objects.filter(id=i).get(), c)
+ return queryset
+
+ def get_item(self, enum, c):
+ return c.get_item(enum).sound().order_by('code', 'old_code')
+
+
+class ItemKeywordListView(ItemListView):
+
+ def get_context_data(self, **kwargs):
+ context = super(ItemListView, self).get_context_data(**kwargs)
+ context['enum'] = self.request.path.split('/')[3]
+ context['id'] = self.request.path.split('/')[4]
+ context['count'] = self.object_list.count()
+ context['keyword'] = True
+ context['enum_name'] = ItemEnumListView().get_enumeration(self.request.path.split('/')[3])._meta.verbose_name
+ context['enum_value'] = ItemEnumListView().get_enumeration(self.request.path.split('/')[3]).objects.get(
+ id__exact=self.request.path.split('/')[4])
+ context['url_all'] = "/admin/enumerations/" + context['enum'] + "/" + context['id'] + "/keyword_item/list"
+ context['url_unpublished'] = "/admin/enumerations/" + context['enum'] + "/" + context[
+ 'id'] + "/keyword_item_unpublished/list/"
+ context['url_published'] = "/admin/enumerations/" + context['enum'] + "/" + context[
+ 'id'] + "/keyword_item_published/list/"
+ context['url_sound'] = "/admin/enumerations/" + context['enum'] + "/" + context[
+ 'id'] + "/keyword_item_published/list/"
+
+ context['argument'] = [context['enum'], context['id']]
+
+ return context
+
+ def get_queryset(self):
+ queryset = self.get_item(self.request.path.split('/')[4])
+ return queryset
+
+ def get_item(self, id):
+ c = []
+ for m in MediaItemKeyword.objects.filter(keyword_id=id):
+ c.append(m.__getattribute__("item_id"))
+ return MediaItem.objects.filter(id__in=c)
+
+ def get_enumeration(self, id):
+ from django.db.models import get_models
+ models = get_models(telemeta.models)
+ for model in models:
+ if model._meta.module_name == id:
+ break
+ if model._meta.module_name != id:
+ return None
+ return model
+
+
+class ItemKeywordPublishedListView(ItemKeywordListView):
+ def get_queryset(self):
+ c = ItemKeywordListView()
+ queryset = self.get_item(self.request.path.split('/')[4], c)
+ return queryset
+
+ def get_item(self, id, c):
+ return c.get_item(id).filter(code__contains='_E_')
+
+
+class ItemKeywordUnpublishedListView(ItemKeywordListView):
+ def get_queryset(self):
+ c = ItemKeywordListView()
+ queryset = self.get_item(self.request.path.split('/')[4], c)
+ return queryset
+
+ def get_item(self, id, c):
+ return c.get_item(id).filter(code__contains='_I_')
+
+
+class ItemKeywordSoundListView(ItemKeywordListView):
+ def get_queryset(self):
+ c = ItemKeywordListView()
+ queryset = self.get_item(self.request.path.split('/')[4], c)
+ return queryset
+
+ def get_item(self, id, c):
+ return c.get_item(id).sound().order_by('code', 'old_code')