def post(self): content = self.request.get('content') method = self.request.get('method') if method == 'preview': self.do_preview(self, content) elif method == 'publish': link = self.request.get('permalink') target = db.GqlQuery('''select * from Article where permalink = :1''', link).get() if target != None: self.save_title = self.request.get('thetitle') self.save_content = content self.save_permalink = link self.save_permit_comment = self.request.get('permitComment') self.save_category = self.request.get('cat') self.save_tags = self.request.get('tags') self.get() else: article = Article() article.thetitle = self.request.get('thetitle') article.content = content article.thumbnail = self.request.get('thumbnail') article.permalink = self.request.get('permalink') article.permit_comment = True if self.request.get('permitComment') == 'permit' else False cat = self.request.get('cat') if cat == 'unsorted': article.has_category = False else: article.has_category = True cat_item = Category.all().filter('name = ', cat).get() article.category = cat_item cat_item.count = cat_item.count + 1 cat_item.put() mod_archive(article) article.year = article.time_stamp.year article.month = article.time_stamp.month article.day = article.time_stamp.day article.id = str(article.time_stamp.year) + '-' + str(article.time_stamp.month) + '-' + str(article.time_stamp.day) + '-' + \ str(article.time_stamp.hour) + '-' + str(article.time_stamp.minute) + '-' + str(article.time_stamp.second) + '-' + \ str(article.time_stamp.microsecond) query = Article.all().order('-time_stamp').fetch(1) record = None if query == [] else query[0] if record != None: record.link_next = article.permalink record.year_next = article.year record.month_next = article.month record.day_next = article.day record.title_next = article.thetitle record.put() article.link_prev = record.permalink article.year_prev = record.year article.month_prev = record.month article.day_prev = record.day article.title_prev = record.thetitle else: article.link_prev = '' article.year_prev = -1 article.month_prev = -1 article.day_prev = -1 article.title_prev = '' article.link_next = '' article.year_next = -1 article.month_next = -1 article.day_next = -1 article.title_next = '' article.put(); mod_article_tag(article, self.request.get('tags').split(' '), False) self.redirect('/atf-articles'); # Modify an article else: # Article to be modified target = Article.all().filter('id =', self.request.get('articleId')).get() link = self.request.get('permalink') # If there exists an article with that link name suspect = db.GqlQuery('''select * from Article where permalink = :1''', link).get() if suspect != None and target.id != suspect.id: self.save_title = self.request.get('thetitle') self.save_content = content self.save_permalink = link self.save_permit_comment = self.request.get('permitComment') self.save_category = self.request.get('cat') self.save_tags = self.request.get('tags') self.get() else: if target.has_category: target.category.count = target.category.count - 1 target.category.put() target.thetitle = self.request.get('thetitle') target.content = content target.thumbnail = self.request.get('thumbnail') target.permalink = self.request.get('permalink') target.permit_comment = True if self.request.get('permitComment') == 'permit' else False cat = self.request.get('cat') if cat == 'unsorted': target.category = None target.has_category = False else: target.has_category = True target.category = Category.all().filter('name =', self.request.get('cat')).get() target.category.count = target.category.count + 1 target.category.put() target.put() mod_article_tag(target, self.request.get('tags').split(' '), True) self.redirect('/atf-articles');