def store(self, topic_name, article_entry_list): """Stores the article entries in the database. :param topic_name The name of the topic :param article_entry_list The list of entries of this topic """ try: # Try to retrieve the topic to see if it exists already topic = Topic.get(Topic.name == topic_name) except Topic.DoesNotExist: # If not, create it topic = Topic.create(name=topic_name) # Go through all the articles in this topic for article_entry in article_entry_list: article_name = article_entry.subject # If there is no subject, it means the article is corrupted # therefore we skip it if not article_name: continue # Create the files with the content # Overwrite existing files try: Article.create(topic=topic, subject=article_name, body=article_entry.body) except Article.DoesNotExist: pass
def POST(self): if not session.user or session.user.id is None: return bad_request('请先登录!') data = web.data() data = json.loads(data) tags = [tag for tag in data.get('tags', '').split(' ') if tag] topic_data = { "title": data.get('title'), "tags": tags, "owner_id": session.user.id, "created_time": datetime.now(), } try: topic_id = Topic.create(**topic_data) except sqlite3.IntegrityError: return bad_request('你已创建过该名称!') topic_data.update({ "id": topic_id, "owner_name": session.user.username, "created_time": display_time(topic_data.get('created_time')), }) return json.dumps(topic_data)
def POST(self): if not session.user or not session.user.id: return bad_request('请先登录!') if session.user.username != 'ff': return bad_request('sorry,你没有创建权限') data = web.data() data = json.loads(data) topic_data = { "title": data.get('title'), "owner_id": session.user.id, "created_time": datetime.now(), } try: topic_id = Topic.create(**topic_data) except sqlite3.IntegrityError: return bad_request('你已创建过该名称!') result = { "id": topic_id, "title": topic_data.get('title'), "owner_id": session.user.id, "owner_name": session.user.username, "created_time": str(topic_data.get('created_time')), } return json.dumps(result)
def POST(self): if not session.user or not session.user.id: return bad_request('请先登录!') data = web.data() data = json.loads(data) topic_data = { "title": data.get('title'), "owner_id": session.user.id, "created_time": datetime.now(), } try: topic_id = Topic.create(**topic_data) except sqlite3.IntegrityError: return bad_request('你已创建过该名称!') result = { "id": topic_id, "title": topic_data.get('title'), "owner_id": session.user.id, "owner_name": session.user.username, "created_time": str(topic_data.get('created_time')), } return json.dumps(result)
def seed_sources(): crawler = GenericSourceCrawler(Scraper([GenericSourceParser]), Scraper([RSSParser])) with open('resources/sources.dat') as f: for source_url in f: source = crawler.crawl(source_url.strip()) db_subscription = Subscription.update_or_create(Subscription.url == source.url, url=source.url, name=source.name, image=source.image_url) for topic in source.topics: kwargs = {'source': db_subscription, 'name': topic.name, 'url': topic.url} try: Topic.get(**kwargs) except Topic.DoesNotExist: Topic.create(**kwargs)
def post(self): user = users.get_current_user() name = user.nickname() title = self.request.get("title") content = self.request.get("content") date = datetime.now().strftime("%d-%m-%Y at %H:%M") topic = Topic.create(name, title, content, date) topic.put() return self.redirect('/topic/' + str(topic.key.id()))
def recreate_topic(name): _topic = Topic(config=config) _topic.topic = name _topic.delete() _topic.create()