def post(self, key=""): self.session = Session() if CheckAuth(self) is False: return DoAuth(self, "/writer") site_domain = Datum.get("site_domain") site_domain_sync = Datum.get("site_domain_sync") site_name = Datum.get("site_name") site_author = Datum.get("site_author") site_slogan = Datum.get("site_slogan") site_analytics = Datum.get("site_analytics") site_default_format = Datum.get("site_default_format") if "page" in self.session: page = self.session["page"] else: page = 0 site_default_format = Datum.get("site_default_format") if self.request.get("content") != "": if key: article = db.get(db.Key(key)) article.title = self.request.get("title") article.title_link = self.request.get("title_link") article.title_url = self.request.get("title_url") article.parent_url = self.request.get("parent_url") article.content = self.request.get("content") article.article_set = self.request.get("article_set") article.format = self.request.get("format") if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == "markdown": article.content_formatted = markdown.markdown(article.content) if self.request.get("is_page") == "True": article.is_page = True else: article.is_page = False if self.request.get("is_for_sidebar") == "True": article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session["message"] = ( '<div style="float: right;"><a href="http://' + site_domain + "/" + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>Changes has been saved into <a href="/writer/edit/' + key + '">' + article.title + "</a>" ) else: article = Article() article.title = self.request.get("title") article.title_link = self.request.get("title_link") article.title_url = self.request.get("title_url") article.parent_url = self.request.get("parent_url") article.content = self.request.get("content") article.article_set = self.request.get("article_set") article.format = self.request.get("format") if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == "markdown": article.content_formatted = markdown.markdown(article.content) if self.request.get("is_page") == "True": article.is_page = True else: article.is_page = False if self.request.get("is_for_sidebar") == "True": article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session["message"] = ( '<div style="float: right;"><a href="http://' + site_domain + "/" + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>New article <a href="/writer/edit/' + str(article.key()) + '">' + article.title + "</a> has been created" ) # Ping Twitter twitter_sync = Datum.get("twitter_sync") if twitter_sync == "True" and article.is_page is False: twitter_account = Datum.get("twitter_account") twitter_password = Datum.get("twitter_password") if twitter_account != "" and twitter_password != "": api = twitter.Api(username=twitter_account, password=twitter_password) try: status = api.PostUpdate( article.title + " http://" + site_domain_sync + "/" + article.title_url + " (Sync via @projectpicky)" ) except: api = None obsolete = [ "archive", "archive_output", "feed_output", "index", "index_output", "writer_articles", "writer_urls", ] memcache.delete_multi(obsolete) Datum.set("site_updated", time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())) # Ping Google Blog Search if site_domain.find("localhost") == -1: try: google_ping = ( "http://blogsearch.google.com/ping?name=" + urllib.quote(Datum.get("site_name")) + "&url=http://" + urllib.quote(Datum.get("site_domain")) + "/&changesURL=http://" + urllib.quote(Datum.get("site_domain")) + "/sitemap.xml" ) result = urlfetch.fetch(google_ping) except: taskqueue.add(url="/writer/ping") self.redirect("/writer/overview?page=" + str(page)) else: article = Article() article.title = self.request.get("title") article.title_link = self.request.get("title_link") article.title_url = self.request.get("title_url") article.content = self.request.get("content") article.article_set = self.request.get("article_set") article.format = self.request.get("format") if article.format not in CONTENT_FORMATS: article.format = site_default_format if self.request.get("is_page") == "True": article.is_page = True else: article.is_page = False if self.request.get("is_for_sidebar") == "True": article.is_for_sidebar = True else: article.is_for_sidebar = False template_values = { "site_default_format": site_default_format, "article": article, "page_mode": "new", "page_title": "New Article", "page_reminder": reminder.writer_write, "message": message.content_empty, "user_email": user.email(), "page": page, } if site_analytics is not None: template_values["site_analytics"] = site_analytics template_values["system_version"] = VERSION path = os.path.join(os.path.dirname(__file__), "tpl", "writer", "write.html") self.response.out.write(template.render(path, template_values))
def post(self, key=''): self.session = Session() if CheckAuth(self) is False: return DoAuth(self, '/writer') site_domain = Datum.get('site_domain') site_domain_sync = Datum.get('site_domain_sync') site_name = Datum.get('site_name') site_author = Datum.get('site_author') site_slogan = Datum.get('site_slogan') site_analytics = Datum.get('site_analytics') site_default_format = Datum.get('site_default_format') if 'page' in self.session: page = self.session['page'] else: page = 0 site_default_format = Datum.get('site_default_format') if (self.request.get('content') != ''): if (key): article = db.get(db.Key(key)) article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown( article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session[ 'message'] = '<div style="float: right;"><a href="http://' + site_domain + '/' + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>Changes has been saved into <a href="/writer/edit/' + key + '">' + article.title + '</a>' else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown( article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session[ 'message'] = '<div style="float: right;"><a href="http://' + site_domain + '/' + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>New article <a href="/writer/edit/' + str( article.key( )) + '">' + article.title + '</a> has been created' # Ping Twitter twitter_sync = Datum.get('twitter_sync') if twitter_sync == 'True' and article.is_page is False: twitter_account = Datum.get('twitter_account') twitter_password = Datum.get('twitter_password') if twitter_account != '' and twitter_password != '': api = twitter.Api(username=twitter_account, password=twitter_password) try: status = api.PostUpdate( article.title + ' http://' + site_domain_sync + '/' + article.title_url + ' (Sync via @projectpicky)') except: api = None obsolete = [ 'archive', 'archive_output', 'feed_output', 'index', 'index_output', 'writer_articles', 'writer_urls' ] memcache.delete_multi(obsolete) Datum.set('site_updated', time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())) # Ping Google Blog Search if site_domain.find('localhost') == -1: try: google_ping = 'http://blogsearch.google.com/ping?name=' + urllib.quote( Datum.get( 'site_name')) + '&url=http://' + urllib.quote( Datum.get('site_domain') ) + '/&changesURL=http://' + urllib.quote( Datum.get('site_domain')) + '/sitemap.xml' result = urlfetch.fetch(google_ping) except: taskqueue.add(url='/writer/ping') self.redirect('/writer/overview?page=' + str(page)) else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False template_values = { 'site_default_format': site_default_format, 'article': article, 'page_mode': 'new', 'page_title': 'New Article', 'page_reminder': reminder.writer_write, 'message': message.content_empty, 'user_email': user.email(), 'page': page } if site_analytics is not None: template_values['site_analytics'] = site_analytics template_values['system_version'] = VERSION path = os.path.join(os.path.dirname(__file__), 'tpl', 'writer', 'write.html') self.response.out.write(template.render(path, template_values))
def post(self, key = ''): self.session = Session() if CheckAuth(self) is False: return DoAuth(self, '/writer') site_domain = Datum.get('site_domain') site_domain_sync = Datum.get('site_domain_sync') site_name = Datum.get('site_name') site_author = Datum.get('site_author') site_slogan = Datum.get('site_slogan') site_analytics = Datum.get('site_analytics') site_default_format = Datum.get('site_default_format') if 'page' in self.session: page = self.session['page'] else: page = 0 site_default_format = Datum.get('site_default_format') if (self.request.get('content') != ''): if (key): article = db.get(db.Key(key)) article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown(article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.last_modified = datetime.datetime.utcnow() + datetime.timedelta(hours=+8) article.put() else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown(article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.last_modified = datetime.datetime.utcnow() + datetime.timedelta(hours=+8) article.created = article.last_modified article.put() # Ping Twitter twitter_sync = Datum.get('twitter_sync') if twitter_sync == 'True' and article.is_page is False: twitter_account = Datum.get('twitter_account') twitter_password = Datum.get('twitter_password') if twitter_account != '' and twitter_password != '': api = twitter.Api(username=twitter_account, password=twitter_password) try: status = api.PostUpdate(article.title + ' http://' + site_domain_sync + '/' + article.title_url + ' (Sync via @projectpicky)') except: api = None obsolete = ['archive', 'archive_output', 'feed_output', 'index', 'index_output', 'writer_articles', 'writer_urls'] memcache.delete_multi(obsolete) Datum.set('site_updated', time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())) # Ping Google Blog Search try: google_ping = 'http://blogsearch.google.com/ping?name=' + urllib.quote(Datum.get('site_name')) + '&url=http://' + urllib.quote(Datum.get('site_domain')) + '/&changesURL=http://' + urllib.quote(Datum.get('site_domain')) + '/sitemap.xml' result = urlfetch.fetch(google_ping) hub_field = {"hub.mode":"publish","hub.url":"http://imimom0.appspot.com/index.xml"} hub_ping = urlfetch.fetch(url='http://pubsubhubbub.appspot.com/',payload=urllib.urlencode(hub_field),method=urlfetch.POST) except: taskqueue.add(url='/writer/ping') self.redirect('/writer/overview?page=' + str(page)) else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.content = self.request.get('content') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False template_values = { 'site_default_format' : site_default_format, 'article' : article, 'page_mode' : 'new', 'page_title' : 'New Article', 'page_reminder': reminder.writer_write, 'message' : message.content_empty, 'page' : page } if site_analytics is not None: template_values['site_analytics'] = site_analytics template_values['system_version'] = VERSION path = os.path.join(os.path.dirname(__file__), 'tpl', 'writer', 'write.html') self.response.out.write(template.render(path, template_values))
def post(self, key = ''): self.session = Session() if CheckAuth(self) is False: return DoAuth(self, '/writer') site_domain = Datum.get('site_domain') site_domain_sync = Datum.get('site_domain_sync') site_name = Datum.get('site_name') site_author = Datum.get('site_author') site_slogan = Datum.get('site_slogan') site_analytics = Datum.get('site_analytics') site_default_format = Datum.get('site_default_format') if 'page' in self.session: page = self.session['page'] else: page = 0 site_default_format = Datum.get('site_default_format') if (self.request.get('content') != ''): if (key): article = db.get(db.Key(key)) article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown(article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session['message'] = '<div style="float: right;"><a href="http://' + site_domain + '/' + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>Changes has been saved into <a href="/writer/edit/' + key + '">' + article.title + '</a>' else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.parent_url = self.request.get('parent_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if article.format == 'markdown': article.content_formatted = markdown.markdown(article.content) if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False article.put() self.session['message'] = '<div style="float: right;"><a href="http://' + site_domain + '/' + article.title_url + '" target="_blank" class="super normal button">View Now</a></div>New article <a href="/writer/edit/' + str(article.key()) + '">' + article.title + '</a> has been created' # Ping Twitter twitter_sync = Datum.get('twitter_sync') if twitter_sync == 'True' and article.is_page is False: twitter_account = Datum.get('twitter_account') twitter_password = Datum.get('twitter_password') if twitter_account != '' and twitter_password != '': api = twitter.Api(username=twitter_account, password=twitter_password) try: status = api.PostUpdate(article.title + ' http://' + site_domain_sync + '/' + article.title_url + ' (Sync via @projectpicky)') except: api = None obsolete = ['archive', 'archive_output', 'feed_output', 'index', 'index_output', 'writer_articles', 'writer_urls'] memcache.delete_multi(obsolete) Datum.set('site_updated', time.strftime("%Y-%m-%dT%H:%M:%SZ", time.gmtime())) # Ping Google Blog Search if site_domain.find('localhost') == -1: try: google_ping = 'http://blogsearch.google.com/ping?name=' + urllib.quote(Datum.get('site_name')) + '&url=http://' + urllib.quote(Datum.get('site_domain')) + '/&changesURL=http://' + urllib.quote(Datum.get('site_domain')) + '/sitemap.xml' result = urlfetch.fetch(google_ping) except: taskqueue.add(url='/writer/ping') self.redirect('/writer/overview?page=' + str(page)) else: article = Article() article.title = self.request.get('title') article.title_link = self.request.get('title_link') article.title_url = self.request.get('title_url') article.content = self.request.get('content') article.article_set = self.request.get('article_set') article.format = self.request.get('format') if article.format not in CONTENT_FORMATS: article.format = site_default_format if (self.request.get('is_page') == 'True'): article.is_page = True else: article.is_page = False if (self.request.get('is_for_sidebar') == 'True'): article.is_for_sidebar = True else: article.is_for_sidebar = False template_values = { 'site_default_format' : site_default_format, 'article' : article, 'page_mode' : 'new', 'page_title' : 'New Article', 'page_reminder': reminder.writer_write, 'message' : message.content_empty, 'user_email' : user.email(), 'page' : page } if site_analytics is not None: template_values['site_analytics'] = site_analytics template_values['system_version'] = VERSION path = os.path.join(os.path.dirname(__file__), 'tpl', 'writer', 'write.html') self.response.out.write(template.render(path, template_values))