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)
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":