diff --git a/pandora/app/management/__init__.py b/pandora/app/management/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pandora/app/management/commands/__init__.py b/pandora/app/management/commands/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pandora/app/management/commands/update_static.py b/pandora/app/management/commands/update_static.py new file mode 100644 index 000000000..f98c2b7da --- /dev/null +++ b/pandora/app/management/commands/update_static.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# vi:si:et:sw=4:sts=4:ts=4 +from django.core.management.base import BaseCommand + +from ... import models + + +class Command(BaseCommand): + """ + """ + help = 'update static files' + args = '' + + def handle(self, **options): + models.update_static() diff --git a/pandora/app/models.py b/pandora/app/models.py index 77d0bc28f..bc5cbac6d 100644 --- a/pandora/app/models.py +++ b/pandora/app/models.py @@ -10,6 +10,7 @@ import thread from django.db import models from django.conf import settings import ox.jsonc +from ox.utils import json _win = (sys.platform == "win32") @@ -52,3 +53,28 @@ def reloader_thread(): time.sleep(1) thread.start_new_thread(reloader_thread, ()) + +def update_static(): + oxjs_build = os.path.join(settings.STATIC_ROOT, 'oxjs/tools/build/build.py') + if os.path.exists(oxjs_build): + os.system(oxjs_build) + + data = '' + js = [] + pandora_js = os.path.join(settings.STATIC_ROOT, 'js/pandora.js') + pandora_json = os.path.join(settings.STATIC_ROOT, 'json/pandora.json') + for root, folders, files in os.walk(os.path.join(settings.STATIC_ROOT, 'js/pandora')): + for f in files: + js.append(os.path.join(root, f)[len(settings.STATIC_ROOT)+1:]) + with open(os.path.join(root, f)) as j: + data += j.read() + '\n' + + print 'write', pandora_js + with open(pandora_js, 'w') as f: + #data = ox.js.minify(data) + f.write(data) + + print 'write', pandora_json + with open(pandora_json, 'w') as f: + json.dump(sorted(js), f, indent=2) + diff --git a/pandora/app/views.py b/pandora/app/views.py index 60f8f3546..71decff8e 100644 --- a/pandora/app/views.py +++ b/pandora/app/views.py @@ -91,3 +91,4 @@ def redirect_url(request, url): return redirect(url) else: return HttpResponse(''%json.dumps(url)) + diff --git a/pandora/archive/admin.py b/pandora/archive/admin.py index 93c8c3f16..573d21b92 100644 --- a/pandora/archive/admin.py +++ b/pandora/archive/admin.py @@ -3,7 +3,6 @@ from django.contrib import admin -from forms import FileAdminForm, InstanceAdminForm import models @@ -15,13 +14,11 @@ class FileAdmin(admin.ModelAdmin): def itemId(self, obj): return '%s'%(obj.item.itemId) - form = FileAdminForm admin.site.register(models.File, FileAdmin) class InstanceAdmin(admin.ModelAdmin): search_fields = ['path', 'volume__name', 'file__oshash'] - form = InstanceAdminForm admin.site.register(models.Instance, InstanceAdmin) diff --git a/pandora/archive/forms.py b/pandora/archive/forms.py index 04221754e..0e2ac95b9 100644 --- a/pandora/archive/forms.py +++ b/pandora/archive/forms.py @@ -1,4 +1,3 @@ -from ajax_filtered_fields.forms import ForeignKeyByLetter from django.conf import settings from django import forms @@ -6,29 +5,3 @@ import models from item.models import Item -ajax_filtered_js = ( - settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js", - settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js", - settings.STATIC_URL + 'js/jquery/jquery.js', - settings.STATIC_URL + 'js/ajax_filtered_fields.js', -) - - -class FileAdminForm(forms.ModelForm): - item = ForeignKeyByLetter(Item, field_name='itemId') - - class Meta: - model = models.File - - class Media: - js = ajax_filtered_js - - -class InstanceAdminForm(forms.ModelForm): - file = ForeignKeyByLetter(models.File, field_name='path') - - class Meta: - model = models.Instance - - class Media: - js = ajax_filtered_js diff --git a/pandora/item/forms.py b/pandora/item/forms.py index 664b728bb..acad24787 100644 --- a/pandora/item/forms.py +++ b/pandora/item/forms.py @@ -1,20 +1,2 @@ -from ajax_filtered_fields.forms import AjaxManyToManyField, ForeignKeyByLetter from django.conf import settings -ajax_filtered_js = ( - settings.ADMIN_MEDIA_PREFIX + "js/SelectBox.js", - settings.ADMIN_MEDIA_PREFIX + "js/SelectFilter2.js", - settings.STATIC_URL + 'js/jquery/jquery.js', - settings.STATIC_URL + 'js/ajax_filtered_fields.js', -) -""" -class ItemAdminForm(forms.ModelForm): - imdb = ForeignKeyByLetter(models.ItemImdb, field_name='title') - oxdb = ForeignKeyByLetter(models.ItemOxdb, field_name='title') - - class Meta: - model = models.Item - - class Media: - js = ajax_filtered_js -""" diff --git a/pandora/templates/api.html b/pandora/templates/api.html index 347773fb0..89fce8e2a 100644 --- a/pandora/templates/api.html +++ b/pandora/templates/api.html @@ -7,8 +7,8 @@ - - + +
diff --git a/pandora/templates/embed.html b/pandora/templates/embed.html index b63fa1d37..4c34e554b 100644 --- a/pandora/templates/embed.html +++ b/pandora/templates/embed.html @@ -4,7 +4,7 @@