예제 #1
0
    def execute_admin_new(self, request, type):
        c = ContentItem()
        c.type = type
        c.type_key = str(int(time.time()))
        c.created_at = datetime.now()
        c.permissions = ContentItem.permissions_NOT_READY
        c.data = self.types[c.type]["type"].get_editor().new_db()
        db.add(c)
        db.flush()

        return redirect("/admin/content/edit/%d/" % c.id)
예제 #2
0
        provider = content_types[type]["type"].get_provider()
        if provider is None:
            continue
        if not provider.available():
            continue

        item_ids = []
        for item in provider.provide():
            id = str(item.id)
            item_ids.append(id)

            content_item = db.query(ContentItem).filter_by(type=type, type_key=id).first()
            if content_item is None:
                content_item = ContentItem()
                content_item.type = type
                content_item.type_key = id
                content_item.started_at = item.started_at
                content_item.created_at = item.created_at
                content_item.permissions = content_types[type].get("permissions", 0)
                content_item.data = item.data

                for kv_directory in item.kv:
                    kv = item.kv[kv_directory]
                    for k, v in kv() if callable(kv) else kv:
                        if k not in kv_storage[kv_directory]:
                            kv_storage[kv_directory][k] = v() if callable(v) else v

                db.add(content_item)
                db.flush()

                provider.on_item_inserted(content_item)
    if item:
        report += u"<li>" + item + u"</li>\n"
report += u"</ul>\n"

if sys.argv[2] == "post":
    title = ucfirst(pytils.dt.ru_strftime(u"%B %Y", date=start))

    now_playing = all_social_services["last.fm"].network.get_user(all_social_services["last.fm"].username).get_now_playing()
    if now_playing:
        music = u"%s – %s" % (now_playing.get_artist().get_name(), now_playing.get_title())
    else:
        music = ""

    post = ContentItem()
    post.type = "blog_post"
    post.type_key = pytils.translit.slugify(title)
    post.created_at = datetime.now()
    post.permissions = ContentItem.permissions_PUBLIC
    post.data = {
        "title"         : title,
        "title_html"    : "",
        "music"         : music,
        "text"          : report,

        "ipaddress"     : "127.0.0.1",
        "useragent"     : "Monthly report generator",
    }
    db.add(post)
    db.flush()
            
if sys.argv[2] == "print":