def delete(self, obj_id, commit=True): obj = self.get(url=obj_id) session.delete(obj) if commit: session.flush() session.commit() return obj
def populate_db(): fcontr = FeedController() ccontr = CategoryController() UserController().create( **{ 'is_admin': True, 'is_api': True, 'cluster_enabled': False, 'login': '******', 'password': '******' }) user1, user2 = [ UserController().create(login=name, cluster_enabled=False, email="*****@*****.**" % name, password=name) for name in ["user1", "user2"] ] for iteration in range(2): article_total = 0 for user in (user1, user2): for iter_cat in range(3): cat_id = None if iter_cat: cat_id = ccontr.create(user_id=user.id, name=to_name( user, iteration, iter_cat)).id feed_id = fcontr.create( link="feed%d%d" % (iteration, iter_cat), user_id=user.id, category_id=cat_id, title=to_name(user, iteration, iter_cat, iter_cat)).id for iter_art in range(3): entry = to_name(user, iteration, iter_cat, iter_cat, iter_art) tags = [ to_name(user, iteration, iter_cat, iter_cat, iter_art, str(i)) for i in range(2) ] article_total += 1 ArticleController().create( entry_id=entry, link='http://test.te/%d' % article_total, feed_id=feed_id, user_id=user.id, tags=tags, category_id=cat_id, title=entry, date=utc_now() + timedelta(seconds=iteration), content="content %d" % article_total) session.commit() session.flush() ClusterController().clusterize_pending_articles()
def update(self, filters, attrs, return_objs=False, commit=True): if not attrs: logger.error("nothing to update, doing nothing") result, commit = {}, False else: result = self._get(**filters).update(attrs, synchronize_session=False) if commit: session.flush() session.commit() if return_objs: return self._get(**filters) return result
def create(self, **attrs): if not attrs: raise ValueError("attributes to update must not be empty") if self._user_id_key is not None and self._user_id_key not in attrs: attrs[self._user_id_key] = self.user_id if not (self._user_id_key is None or self._user_id_key in attrs or self.user_id is None): raise Unauthorized("You must provide user_id one way or another") obj = self._db_cls(**attrs) session.add(obj) session.flush() session.commit() return obj
def delete_only_article(article, commit): session.delete(article) if commit: session.flush() session.commit() return article