lesmianator on main
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 14 Feb 2011 09:51:02 +0000 (10:51 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Mon, 14 Feb 2011 09:51:02 +0000 (10:51 +0100)
lesmianator fixes
slightly smaller wolneokladki

apps/lesmianator/models.py
wolnelektury/static/img/wolneokladki-logo.png
wolnelektury/templates/catalogue/main_page.html
wolnelektury/templates/lesmianator/lesmianator.html

index dce4b15..74aecfe 100644 (file)
@@ -147,11 +147,17 @@ class Continuations(models.Model):
     @classmethod
     def get(cls, sth):
         object_type = ContentType.objects.get_for_model(sth)
     @classmethod
     def get(cls, sth):
         object_type = ContentType.objects.get_for_model(sth)
+        should_keys = set([sth.id])
+        if isinstance(sth, Tag):
+            should_keys = set(b.pk for b in Book.tagged.with_any((sth,)))
         try:
             obj = cls.objects.get(content_type=object_type, object_id=sth.id)
             f = open(obj.pickle.path)
         try:
             obj = cls.objects.get(content_type=object_type, object_id=sth.id)
             f = open(obj.pickle.path)
-            conts = cPickle.load(f)
+            keys, conts = cPickle.load(f)
             f.close()
             f.close()
+            if set(keys) != should_keys:
+                obj.delete()
+                raise cls.DoesNotExist
             return conts
         except cls.DoesNotExist:
             if isinstance(sth, Book):
             return conts
         except cls.DoesNotExist:
             if isinstance(sth, Book):
@@ -162,7 +168,7 @@ class Continuations(models.Model):
                 raise NotImplemented('Lesmianator continuations: only Book and Tag supported')
 
             c = cls(content_object=sth)
                 raise NotImplemented('Lesmianator continuations: only Book and Tag supported')
 
             c = cls(content_object=sth)
-            c.pickle.save(sth.slug+'.p', ContentFile(cPickle.dumps(conts)))
+            c.pickle.save(sth.slug+'.p', ContentFile(cPickle.dumps((should_keys, conts))))
             c.save()
             return conts
 
             c.save()
             return conts
 
index 2200a6c..1c1b9e0 100644 (file)
Binary files a/wolnelektury/static/img/wolneokladki-logo.png and b/wolnelektury/static/img/wolneokladki-logo.png differ
index 2f22031..5d77c8c 100644 (file)
                 </a>
             </p>
 
                 </a>
             </p>
 
+            <h2>Nowy Leśmianator na Walentynki</h2>
+            <a href="{% url lesmianator %}" title="Big Heart of Art - 1000 Visual Mashups by qthomasbower, on Flickr">
+                <img style="float:left;padding:15px 10px 0 0"
+                    src="http://farm4.static.flickr.com/3612/3470650293_60b27d6539_t.jpg" width="100" height="99"
+                    alt="Big Heart of Art - 1000 Visual Mashups" /></a>
+            <p>Tym razem to Ty decydujesz, co wpadnie do miksera &ndash; a efekt możesz pokazać znajomym!
+                </p>
+            <p class="see-more" style="clear:both"><a href="{% url lesmianator %}">{% trans "Twórzże się!" %} ⇒</a></p>
+
+
             <h2>Wolne Okładki</h2>
             <p>Tworzymy okładki do utworów z biblioteki Wolne Lektury.</p>
             <h2>Wolne Okładki</h2>
             <p>Tworzymy okładki do utworów z biblioteki Wolne Lektury.</p>
-            <p><a href='http://wolneokladki.pl/'><img src='/static/img/wolneokladki-logo.png' alt='Wolne Okładki' width='300' height='117' /></a></p>
+            <p><a href='http://wolneokladki.pl/'><img src='/static/img/wolneokladki-logo.png' alt='Wolne Okładki' width='250' height='98' /></a></p>
             <p class="see-more"><a href="http://wolneokladki.pl/" title="Wolne Okładki">{%trans "See more" %} ⇒</a>
 
             {% comment %}    <h2>{% trans "Books for every school level" %}</h2>
             <p class="see-more"><a href="http://wolneokladki.pl/" title="Wolne Okładki">{%trans "See more" %} ⇒</a>
 
             {% comment %}    <h2>{% trans "Books for every school level" %}</h2>
                 <li><a href="">{% trans "gymnasium" %}</a></li>
                 <li><a href="">{% trans "high school" %}</a></li>
             </ul>    {% endcomment %}
                 <li><a href="">{% trans "gymnasium" %}</a></li>
                 <li><a href="">{% trans "high school" %}</a></li>
             </ul>    {% endcomment %}
-            
-            <h2>Leśmianator — poeta automagiczny</h2>
-            <p>Poezja z Wolnych Lektur przepuszczona przez mikser. Stwórz własny wiersz klikając w <a href="{% url lesmianator %}" rel="nofollow">link</a>.</p>
-            <p class="see-more"><a href="{% url lesmianator %}">{% trans "Twórzże się!" %} ⇒</a></p>
 
             <h2>{% trans "Wolne Lektury Widget" %}</h2>
             <p>{% trans "Place our widget - search engine for Wolne Lektury which gives access to free books and audiobooks - on your homepage! Just copy the HTML code below onto your page:" %}</p>
 
             <h2>{% trans "Wolne Lektury Widget" %}</h2>
             <p>{% trans "Place our widget - search engine for Wolne Lektury which gives access to free books and audiobooks - on your homepage! Just copy the HTML code below onto your page:" %}</p>
index 8f488e8..5bad892 100644 (file)
@@ -15,8 +15,8 @@
     <div id="books-list">
         <p>Leśmianator tworzy wierszmiksy – dzięki niemu
             <a href="{% url new_poem %}">napiszesz wiersz jednym kliknięciem</a>.
     <div id="books-list">
         <p>Leśmianator tworzy wierszmiksy – dzięki niemu
             <a href="{% url new_poem %}">napiszesz wiersz jednym kliknięciem</a>.
-            W nowej odłonie nowe możliwości zabawy – teraz możesz zdecydować, co wrzucasz do miksera,
-            a swoimi dziełami podzielić się z przyjaciółmi!</p>
+            W nowej odsłonie nowe możliwości zabawy – teraz możesz zdecydować, co wrzucasz do miksera,
+            a swoimi dziełami podzielić się z&nbsp;przyjaciółmi!</p>
             <p>Przygotowaliśmy kilka propozycji na start – możesz wybrać jedną z nich,
             albo ułożyć sobie własną, niepowtarzalną mieszankę.</p>
         <ul>
             <p>Przygotowaliśmy kilka propozycji na start – możesz wybrać jedną z nich,
             albo ułożyć sobie własną, niepowtarzalną mieszankę.</p>
         <ul>