From 518dfad75d0379144a2c105d7543f2eead8692a7 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Fri, 20 Mar 2015 12:37:37 +0100 Subject: [PATCH] fix robots.txt loading, fix collection and item get_or_create, modify jsonrpc mountpoint url (jsonrps/) --- examples/sandbox/settings.py | 2 +- examples/sandbox/urls.py | 6 ++++-- telemeta/models/collection.py | 4 ++-- telemeta/models/item.py | 4 ++-- telemeta/static/telemeta/js/application.js | 4 ++-- telemeta/templates/telemeta/mediaitem_detail.html | 2 +- telemeta/urls.py | 2 +- 7 files changed, 13 insertions(+), 11 deletions(-) diff --git a/examples/sandbox/settings.py b/examples/sandbox/settings.py index f2a35830..6a38f201 100644 --- a/examples/sandbox/settings.py +++ b/examples/sandbox/settings.py @@ -74,7 +74,7 @@ USE_L10N = True MEDIA_ROOT = PROJECT_ROOT + '/media/' if not os.path.exists(MEDIA_ROOT): - os.mkdir(MEDIA_ROOT) + os.makedirs(MEDIA_ROOT) # URL that handles the media served from MEDIA_ROOT. Make sure to use a # trailing slash if there is a path component (optional in other cases). diff --git a/examples/sandbox/urls.py b/examples/sandbox/urls.py index 376539be..b1950363 100644 --- a/examples/sandbox/urls.py +++ b/examples/sandbox/urls.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- from django.conf.urls import patterns, url, include from django.http import HttpResponse +import os # Uncomment the next two lines to enable the admin: from django.contrib import admin @@ -10,7 +11,8 @@ js_info_dict = { 'packages': ('telemeta',), } -robots_file = open('robots.txt', 'r') +PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) +robots_rules = open(PROJECT_ROOT + os.sep + 'robots.txt', 'r').read() urlpatterns = patterns('', # Example: @@ -30,6 +32,6 @@ urlpatterns = patterns('', # Languages (r'^i18n/', include('django.conf.urls.i18n')), (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), - (r'^robots\.txt$', lambda r: HttpResponse(robots_file.read(), mimetype="text/plain")), + (r'^robots\.txt$', lambda r: HttpResponse(robots_rules, mimetype="text/plain")), ) diff --git a/telemeta/models/collection.py b/telemeta/models/collection.py index 295fd0b4..18faa252 100644 --- a/telemeta/models/collection.py +++ b/telemeta/models/collection.py @@ -136,8 +136,8 @@ class MediaCollection(MediaResource): def __unicode__(self): return self.code - def save(self, force_insert=False, force_update=False, user=None, code=None): - super(MediaCollection, self).save(force_insert, force_update) + def save(self, force_insert=False, force_update=False, *args, **kwargs): + super(MediaCollection, self).save(force_insert, force_update, *args, **kwargs) @property def public_id(self): diff --git a/telemeta/models/item.py b/telemeta/models/item.py index 832f17f7..11efb1a2 100644 --- a/telemeta/models/item.py +++ b/telemeta/models/item.py @@ -182,8 +182,8 @@ class MediaItem(MediaResource): raise ValidationError("%s is not a valid item code for collection %s" % (self.code, self.collection.code)) - def save(self, force_insert=False, force_update=False): - super(MediaItem, self).save(force_insert, force_update) + def save(self, force_insert=False, force_update=False, *args, **kwargs): + super(MediaItem, self).save(force_insert, force_update, *args, **kwargs) def computed_duration(self): "Tell the length in seconds of this item media data" diff --git a/telemeta/static/telemeta/js/application.js b/telemeta/static/telemeta/js/application.js index 313ef896..0fb73145 100644 --- a/telemeta/static/telemeta/js/application.js +++ b/telemeta/static/telemeta/js/application.js @@ -188,7 +188,7 @@ var json = function(param,method,onSuccessFcn,onErrorFcn){ var $J = jQuery; $J.ajax({ type: "POST", - url: 'json/', + url: 'jsonrpc/', contentType: "application/json", data: data2send, dataType: "json", @@ -260,7 +260,7 @@ var json_sync = function(param,method,onSuccessFcn,onErrorFcn){ var $J = jQuery; $J.ajax({ type: "POST", - url: 'json/', + url: 'jsonrpc/', contentType: "application/json", async : false, data: data2send, diff --git a/telemeta/templates/telemeta/mediaitem_detail.html b/telemeta/templates/telemeta/mediaitem_detail.html index 4e2d3d20..225db7d9 100644 --- a/telemeta/templates/telemeta/mediaitem_detail.html +++ b/telemeta/templates/telemeta/mediaitem_detail.html @@ -19,7 +19,7 @@ {% if item.file or item.url %} {% if access == 'full' or perms.telemeta.can_play_all_items %} - + diff --git a/telemeta/urls.py b/telemeta/urls.py index dc292e0a..652a08bd 100644 --- a/telemeta/urls.py +++ b/telemeta/urls.py @@ -216,7 +216,7 @@ urlpatterns = patterns('', 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'json/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'), + url(r'jsonrpc/$', jsonrpc_site.dispatch, name='jsonrpc_mountpoint'), # Playlists url(r'^playlists/(?P[a-zA-Z0-9]+)/(?P[a-zA-Z0-9]+)/csv/$', playlist_view.playlist_csv_export, name="telemeta-playlist-csv-export"), -- 2.39.5