FIX: Problem z zapisywaniem MP3 i OGG oraz odświeżaniem short_html przy uaktualnianiu...
authorMarek Stępniowski <marek@stepniowski.com>
Thu, 17 Dec 2009 13:16:36 +0000 (14:16 +0100)
committerMarek Stępniowski <marek@stepniowski.com>
Thu, 17 Dec 2009 13:16:36 +0000 (14:16 +0100)
apps/catalogue/models.py
wolnelektury/templates/catalogue/book_detail.html

index 2c1f66a..2f4e7fe 100644 (file)
@@ -139,15 +139,24 @@ class Book(models.Model):
             
             self._short_html = unicode(render_to_string('catalogue/book_short.html',
                 {'book': self, 'tags': tags, 'formats': formats}))
-            self.save()
+            self.save(reset_short_html=False)
             return mark_safe(self._short_html)
     
-    def save(self, force_insert=False, force_update=False):
+    def save(self, force_insert=False, force_update=False, reset_short_html=True):
+        if reset_short_html:
+            # Reset _short_html during save
+            self._short_html = ''
+        
+        book = super(Book, self).save(force_insert, force_update)
+        
         if self.mp3_file:
+            print self.mp3_file, self.mp3_file.path
             extra_info = self.get_extra_info_value()
             extra_info.update(self.get_mp3_info())
             self.set_extra_info_value(extra_info)
-        return super(Book, self).save(force_insert, force_update)
+            book = super(Book, self).save(force_insert, force_update)
+        
+        return book
     
     def get_mp3_info(self):
         """Retrieves artist and director names from audio ID3 tags."""
index 24e9169..f8991c9 100644 (file)
             {% if book.txt_file %}
                 <a href="{{ book.txt_file.url }}">Pobierz plik TXT</a>
             {% endif %}
-            {% if book.mp3_file and book.ogg_file %}
-            <div id="czytamy-sluchajac-info">
+            {% if book.mp3_file %}
+                <div id="czytamy-sluchajac-info">
                     <a href="http://czytamysluchajac.pl/" id="czytamysluchajac-logo"><img src="/static/img/czytamysluchajac-logo-small.png" /></a>     
                     <p>Czyta: {{ book.get_extra_info_value.artist_name }}</p>
                     <p>Reżyseruje: {{ book.get_extra_info_value.director_name }}</p>
                 </div>
-                <a href="{{ book.mp3_file.url }}">Pobierz plik MP3</a>
-                <a href="{{ book.ogg_file.url }}">Pobierz plik Ogg Vorbis</a>
-                <object type="application/x-shockwave-flash" style="margin-top: 0.5em" data="/static/player.swf" width="426" height="20">
-                    <param name="movie" value="/static/player.swf" />
-                    <param name="bgcolor" value="#ffffff" />
-                    <param name="FlashVars" value="mp3={{ book.mp3_file.url }}&amp;width=426&amp;showvolume=1&amp;bgcolor1=eeeeee&amp;bgcolor2=eeeeee&amp;buttoncolor=666666" />
-                </object>
+            {% endif %}
+            {% if book.mp3_file %}<a href="{{ book.mp3_file.url }}">Pobierz plik MP3</a>{% endif %}
+            {% if book.ogg_file %}<a href="{{ book.ogg_file.url }}">Pobierz plik Ogg Vorbis</a>{% endif %}
+            {% if book.mp3_file %}
+            <object type="application/x-shockwave-flash" style="margin-top: 0.5em" data="/static/player.swf" width="426" height="20">
+                <param name="movie" value="/static/player.swf" />
+                <param name="bgcolor" value="#ffffff" />
+                <param name="FlashVars" value="mp3={{ book.mp3_file.url }}&amp;width=426&amp;showvolume=1&amp;bgcolor1=eeeeee&amp;bgcolor2=eeeeee&amp;buttoncolor=666666" />
+            </object>
             {% endif %}
             </div>
         </div>