]> git.parisson.com Git - telemeta.git/commitdiff
add instruments admin, improve read from cache
authoryomguy <yomguy@parisson.com>
Thu, 3 Mar 2011 15:19:42 +0000 (16:19 +0100)
committeryomguy <yomguy@parisson.com>
Thu, 3 Mar 2011 15:19:42 +0000 (16:19 +0100)
telemeta/admin.py
telemeta/cache.py
telemeta/templates/telemeta/admin_instruments.html [new file with mode: 0644]
telemeta/templates/telemeta_default/admin.html
telemeta/templates/telemeta_default/admin_enumerations.html
telemeta/templates/telemeta_default/admin_instruments.html [new file with mode: 0644]
telemeta/urls.py
telemeta/web/base.py

index d72b1daebeb7b1bf3f851d91f133145d80e7e85a..dc803b23adb51ac9829e599f5edee31a009aff68 100644 (file)
@@ -1,7 +1,11 @@
-from telemeta.models.media import MediaCollection, MediaItem
+from telemeta.models.media import *
+from telemeta.models.instrument import *
 from telemeta.models.system import User
 from django.contrib import admin
 
 admin.site.register(MediaCollection)
 admin.site.register(MediaItem)
+admin.site.register(MediaPart)
+admin.site.register(Playlist)
+admin.site.register(Instrument)
 
index d52e08d764b243085a999c305ead22d1fcd62388..2f879e98b4ed415eadfc080b29e9d526985c0f40 100644 (file)
@@ -73,15 +73,15 @@ class TelemetaCache(object):
         
     def read_stream_bin(self, file):
         path = self.dir + os.sep + file
-        chunk_size = 0xFFFF
+        chunk_size = 0xFFFFF
         f = open(path,  'r')
         while True:
             chunk = f.read(chunk_size)
             if not len(chunk):
+                f.close()
                 break
             yield chunk
-#        f.close()
-
+        
     def write_stream_bin(self, chunk, file_object):
         file_object.write(chunk)
 
diff --git a/telemeta/templates/telemeta/admin_instruments.html b/telemeta/templates/telemeta/admin_instruments.html
new file mode 100644 (file)
index 0000000..dd7e960
--- /dev/null
@@ -0,0 +1 @@
+{% extends "telemeta_default/admin_instruments.html" %}
index 59a5edcbf1c83d8ed4977e485ad30c140cbf5cb5..ed307093867a63910e71c9d61db05a5a365e1fbb 100644 (file)
 <ul>
 <li><a href="/admin/general/">Administration générale</a></li>
 <li><a href="/admin/enumerations/">Enumerations</a></li>
+<li><a href="/admin/instruments/">Instruments</a></li>
 </ul>
 </div>
+{% block tab %}
+{% endblock tab %}
+
 <div class="tabcontents">
     {% block tabcontents %}
     {% endblock %}
index 1b04a383901e48f2b484dc623bcae9e1fda05156..238f5b81640bfdd48360f3e94f82c26baabf446f 100644 (file)
@@ -1,15 +1,6 @@
 {% extends "telemeta/admin.html" %}
 
-{% block content %}
-<h3>Administration</h3>
-<br />
-<div class="tabs">
-<ul>
-<li><a href="/admin/general/">Administration générale</a></li>
-<li><a href="/admin/enumerations/">Enumerations</a></li>
-</ul>
-</div>
-
+{% block tab %}
 <div class="tabs">
 {% if enumerations %}
     <ul>
@@ -24,9 +15,6 @@
     </ul>
 {% endif %}
 </div>
+{% endblock tab %}
+
 
-<div class="tabcontents">
-    {% block tabcontents %}
-    {% endblock %}
-</div>
-{% endblock %}
diff --git a/telemeta/templates/telemeta_default/admin_instruments.html b/telemeta/templates/telemeta_default/admin_instruments.html
new file mode 100644 (file)
index 0000000..13c30f5
--- /dev/null
@@ -0,0 +1,17 @@
+{% extends "telemeta/admin.html" %}
+
+{% block tab %}
+<div class="tabs">
+{% if instruments %}
+    <ul>
+    {% for instrument in instruments %}
+            <li>{{ instrument|capfirst }}</li>
+    {% endfor %}
+    </ul>
+{% else %}
+No intruments
+{% endif %}
+</div>
+{% endblock tab %}
+
+
index f8c1d24488e1e2e1385273695a301b2bc2d7c7c2..35c539a5c46416cfebc78876f1bff059a32dac35 100644 (file)
@@ -124,6 +124,7 @@ urlpatterns = patterns('',
     url(r'^admin/$', web_view.admin_index, name="telemeta-admin"),        
     url(r'^admin/general/$', web_view.admin_general, name="telemeta-admin-general"),        
     url(r'^admin/enumerations/$', web_view.admin_enumerations, name="telemeta-admin-enumerations"),        
+    url(r'^admin/instruments/$', web_view.admin_instruments, name="telemeta-admin-instruments"),        
     
     # enumerations administration
     url(r'^admin/enumerations/(?P<enumeration_id>[0-9a-z]+)/$', 
index a18d5b2e519da878b57c02b9dbd5dc002a471fe2..dec536d7c6124d9095536c37adfbbcd3383a42c4 100644 (file)
@@ -55,7 +55,7 @@ from django.core.context_processors import csrf
 from django.forms.models import modelformset_factory
 
 from telemeta.models import MediaItem, Location, MediaCollection, EthnicGroup, MediaCollectionForm, MediaItemForm
-from telemeta.models import dublincore, Enumeration, MediaItemMarker
+from telemeta.models import dublincore, Enumeration, MediaItemMarker,  Instrument
 import telemeta.models
 import telemeta.interop.oai as oai
 from telemeta.interop.oaidatasource import TelemetaOAIDataSource
@@ -477,6 +477,15 @@ class WebView(object):
     def admin_enumerations(self, request):
         return render(request, 'telemeta/admin_enumerations.html', self.__get_admin_context_vars())
 
+    @method_decorator(login_required)
+    def admin_instruments(self, request):
+        objects = Instrument.objects.all()
+        instruments = []
+        for instrument in objects:
+            instruments.append(instrument.name)
+        instruments.sort()
+        return render(request, 'telemeta/admin_instruments.html', {'instruments': instruments})
+
     def __get_enumeration(self, id):
         from django.db.models import get_models
         models = get_models(telemeta.models)