def setUp(self): dt = datetime.datetime.utcnow() meta.Session.query(Article).delete() meta.Session.query(Tag).delete() meta.Session.flush() atmp = Article.from_dict(dict( title=u'test', content=u'', summary=u'', published=dt, sticky=False, can_comment=True, tags=['tag1','tag2'], )) atmp.author = {} atmp.save() a2tmp = Article.from_dict(dict( title=u'test2', content=u'', summary=u'', published=dt, sticky=False, can_comment=True, tags=['tag2','tag3'] )) a2tmp.author = {} a2tmp.save() meta.Session.flush()
def _create(self, format, parent_id=None): if format == 'json': params = self._validate(json.loads(request.body), CreateArticle, 'new') #elif format == 'atom': # from lxml import etree # params = Article.parse_xml(etree.fromstring(request.body)) elif format == 'html': params = self._validate(request.POST.mixed(), CreateArticle, 'new') else: raise UnacceptedFormat(format) item = Article.from_dict(params, default_thumb=app_globals.settings(u'default_thumb',u'blog')) item.add_author_or_contributor(user_from_session(session)) if item.published is not None: item.atom_id = atom.get_tag_uri(url("story", permalink=str(item.permalink), qualified=True), item.published, item.title) item.save() app_globals.clear_get_cached_article_from_id() app_globals.clear_get_article_from_permalink() return item