Esempio n. 1
0
    def process_item(self, item, spider):
        comic = Comic()
        comic.comic_strip = self.comic_strip
        comic.date = item['date']
        if 'title' in item:
            comic.title = item['title']
        else:
            comic.title = None

        if comic.title is None:
            comic.title = "{} : {}/{}/{}".format(self.comic_strip.name,
                                                 comic.date.month,
                                                 comic.date.day,
                                                 comic.date.year)

        comic.comic_page_url = item['comic_page_url']
        comic.comic_url = item['comic_url']
        if 'alt_text' in item:
            comic.alt_text = item['alt_text']
        if 'alt_comic_url' in item:
            comic.alt_comic_url = item['alt_comic_url']
        try:
            comic.save()
        except IntegrityError:
            # Not needed, but we should try updating here.
            pass

        return item
Esempio n. 2
0
def random_comic(posted):
    words = random_name.special_thing()

    c = Comic(title=words,
              image_url="http://curtis.lassam.net/comics/cube_drone/{}.gif".format(random.choice(range(0, 140))),
              promo_text= "Promo text for {}".format(words)[:79],
              posted=posted,
              secret_text = "Secret text for {}".format(words),
              alt_text = "Alt text for {}".format(words),
              tags = [random_name.thing(), random_name.adjective(), random_name.noun()])
    if random.choice([False, False, False, True]):
        c.title = "Hidden {}".format(c.title)
        c.hidden = True
    c.save()
    print("Creating {}".format(c))
    return c
Esempio n. 3
0
    def post(self):
        form = ComicCreateForm(data=request.get_json())
        if form.validate():
            pass
        else:
            abort(400)
        qry = Comic.query(Comic.number == form.number.data)
        if len(qry.fetch(1)) > 0:
            return make_response(render_template("409.html"))

        comic = Comic()
        comic.number = form.number.data
        comic.title = crawler.findTitle(comic.number)
        image = crawler.findImage(comic.number)
        comic.image = b64encode(image) if image is not None else image
        comic.put()
        return redirect(api.url_for(ComicList), 301)
Esempio n. 4
0
    def post(self):
        form = ComicCreateForm(data=request.get_json())
        if form.validate():
            pass
        else:
            abort(400)
        qry = Comic.query(Comic.number == form.number.data)
        if len(qry.fetch(1)) > 0:
            return make_response(render_template("409.html"))

        comic = Comic()
        comic.number = form.number.data
        comic.title = crawler.findTitle(comic.number)
        image = crawler.findImage(comic.number)
        comic.image = b64encode(image) if image is not None else image
        comic.put()
        return redirect(api.url_for(ComicList), 301)