Exemple #1
0
 def post(self):
     rdic = {}
     title = self.request.get("title", None)
     slug = self.request.get("slug", None)
     text = self.request.get("text", None)
     keyword = self.request.get("keyword", None)
     draft = self.request.get("draft", None)
     if draft:
         draft = True
     else:
         draft = False
     if title and slug:
         data = dbs.Article.add(title, slug, text, draft, keyword)
         self.session["message"] = 'New article <a href="/god/article/edit?key=%s">%s</a> has been created' % (
             data.key(),
             data.title,
         )
         if not draft:
             self.tweet(data)
             taskqueue.add(url="/god/task/ping", method="GET")
         return self.redirect("/god/article?from=add")
     message = "Please fill the required fields"
     rdic["message"] = message
     path = get_tpl("add_article.html")
     return self.response.out.write(render(path, rdic))
Exemple #2
0
 def post(self):
     rdic = {}
     key = self.request.get("key", None)
     if not key:
         return self.redirect("/god/melody")
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect("/god/melody")
     label = self.request.get("label", None)
     title = self.request.get("title", None)
     url = self.request.get("url", None)
     prior = self.request.get("prior", 0)
     text = self.request.get("text", None)
     ext = self.request.get("ext", None)
     if title and label:
         try:
             prior = int(prior)
         except:
             prior = 0
         data.update(title, url, label, prior, ext, text)
         self.session["message"] = '%s <a href="/god/melody/edit?key=%s">%s</a> has been modified' % (
             data.label.upper(),
             data.key(),
             data.title,
         )
         return self.redirect("/god/melody?from=edit")
     rdic["data"] = data
     message = "Please fill the required fields"
     rdic["message"] = message
     path = get_tpl("edit_melody.html")
     return self.response.out.write(render(path, rdic))
Exemple #3
0
 def post(self):
     rdic = {}
     key = self.request.get("key", None)
     p = self.request.get("p", 1)
     to = "/god/article?p=%s" % p
     if not key:
         return self.redirect(to)
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect(to)
     title = self.request.get("title", None)
     slug = self.request.get("slug", None)
     text = self.request.get("text", None)
     draft = self.request.get("draft", None)
     keyword = self.request.get("keyword", None)
     if draft:
         draft = True
     else:
         draft = False
     if title and slug:
         data.update(title, slug, text, draft, keyword)
         self.session["message"] = 'Article <a href="/god/article/edit?key=%s">%s</a> has been modified' % (
             data.key(),
             data.title,
         )
         if not draft:
             taskqueue.add(url="/god/task/ping", method="GET")
         return self.redirect(to + ";from=edit")
     rdic["data"] = data
     message = "Please fill the required fields"
     rdic["message"] = message
     path = get_tpl("edit_article.html")
     return self.response.out.write(render(path, rdic))
Exemple #4
0
 def post(self):
     rdic = {}
     key = self.request.get('key', None)
     p = self.request.get('p', 1)
     to = '/god/article?p=%s' % p
     if not key:
         return self.redirect(to)
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect(to)
     title = self.request.get('title', None)
     slug = self.request.get('slug', None)
     text = self.request.get('text', None)
     draft = self.request.get('draft', None)
     keyword = self.request.get('keyword', None)
     if draft:
         draft = True
     else:
         draft = False
     if title and slug:
         data.update(title, slug, text, draft, keyword)
         self.session['message'] = 'Article <a href="/god/article/edit?key=%s">%s</a> has been modified' % (data.key(), data.title)
         if not draft:
             taskqueue.add(url='/god/task/ping', method="GET")
         return self.redirect(to + ';from=edit')
     rdic['data'] = data
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('edit_article.html')
     return self.response.out.write(render(path,rdic))
Exemple #5
0
 def get(self):
     path = get_tpl('twitter_user.html')
     rdic = {}
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         self.session.delete('message')
     rdic['message'] = message
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$home')
     if statuses is None:
         statuses = api.GetFriendsTimeline(count=30, retweets=True)
         for status in statuses:
             status.datetime = datetime.datetime.strptime(status.created_at, '%a %b %d %H:%M:%S +0000 %Y')
         memcache.set('twitter$home', statuses, 240)
     rdic['statuses'] = statuses
     username = dbs.Vigo.get('twitter')
     profile = memcache.get('twitter$profile$' + username)
     if profile is None:
         profile = api.GetUser(username)
         memcache.set('twitter$profile$'+username, profile, 86400)
     rdic['profile'] = profile
     rdic['username'] = username
     return self.response.out.write(render(path, rdic))
Exemple #6
0
 def get(self):
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         self.session.delete('message')
     rdic = {}
     action = self.request.get('action', 'none').lower()
     key = self.request.get('key', 'none')
     status = self.request.get('draft', '2')
     if 'draft' == action or 'post' == action:
         data = db.get(key)
         if data and 'draft' == action:
             data.sw_status(data)
         elif data and 'post' == action:
             data.sw_status(data, False)
         else:
             self.session['message'] = "Can't find the article"
         return self.redirect('/god/article?from='+action)
     if 'filter' == action:
         data = self.get_filter(status)
     elif 'find' == action:
         data = self.get_find(key)
         if data:
             return self.redirect('/god/article/edit?key=%s' % data.key())
         message = "Not find the article"
         data = dbs.Article.gql('ORDER BY created DESC')
     else:
         data = dbs.Article.gql('ORDER BY created DESC')
     rdic['message'] = message
     p = self.request.get('p',1)
     rdic['mvdata'] = Paginator(data, count, p)
     path = get_tpl('article.html')
     return self.response.out.write(render(path,rdic))
Exemple #7
0
 def post(self):
     rdic = {}
     key = self.request.get('key', None)
     if not key:
         return self.redirect('/god/melody')
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect('/god/melody')
     label = self.request.get('label', None)
     title = self.request.get('title', None)
     url = self.request.get('url', None)
     prior = self.request.get('prior',0)
     text = self.request.get('text', None)
     ext = self.request.get('ext', None)
     if title and label:
         try: prior = int(prior)
         except: prior = 0
         data.update(title,url,label,prior,ext,text)
         self.session['message'] = '%s <a href="/god/melody/edit?key=%s">%s</a> has been modified' % (data.label.upper(), data.key(), data.title)
         return self.redirect('/god/melody?from=edit')
     rdic['data'] = data
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('edit_melody.html')
     return self.response.out.write(render(path,rdic))
Exemple #8
0
 def post(self):
     rdic = {}
     title = self.request.get('title', None)
     slug = self.request.get('slug', None)
     text = self.request.get('text', None)
     if title and slug:
         data = dbs.Page.add(title,slug,text)
         self.session['message'] = 'New page <a href="/god/page/edit?key=%s">%s</a> has been created' % (data.key(), data.title)
         return self.redirect('/god/page?from=add')
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('add_page.html')
     return self.response.out.write(render(path,rdic))
Exemple #9
0
 def get(self):
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         self.session.delete('message')
     status = self.request.get('filter', 'none')
     rdic = {}
     rdic['message'] = message
     keys = self.get_filter(status)
     p = self.request.get('p',1)
     rdic['mvdata'] = dbs.Melody.get_page(keys, p)
     path = get_tpl('melody.html')
     return self.response.out.write(render(path,rdic))
Exemple #10
0
 def get(self):
     source = self.request.get("from", None)
     message = ""
     if source:
         message = self.session.get("message", "")
         self.session.delete("message")
     status = self.request.get("filter", "none")
     rdic = {}
     rdic["message"] = message
     keys = self.get_filter(status)
     p = self.request.get("p", 1)
     rdic["mvdata"] = dbs.Melody.get_page(keys, p)
     path = get_tpl("melody.html")
     return self.response.out.write(render(path, rdic))
Exemple #11
0
 def get(self):
     key = self.request.get('key', None)
     if not key:
         return self.redirect('/god/page')
     data = db.get(key)
     if not data:
         return self.redirect('/god/page')
     action = self.request.get('action', None)
     if 'delete' == action:
         dbs.Page.delete(data)
         self.session['message'] = 'Page <strong>%s</strong> has been deleted' % data.title
         return self.redirect('/god/page?from=delete')
     rdic = {}
     rdic['data'] = data
     path = get_tpl('edit_page.html')
     return self.response.out.write(render(path,rdic))
Exemple #12
0
 def get(self):
     key = self.request.get('key', None)
     if not key:
         return self.redirect('/god/melody')
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect('/god/melody')
     action = self.request.get('action', None)
     if 'delete' == action:
         data.delete()
         self.session['message'] = '%s <strong>%s</strong> has been deleted' % (data.label.upper(), data.title)
         return self.redirect('/god/melody?from=delete')
     rdic = {}
     rdic['data'] = data
     path = get_tpl('edit_melody.html')
     return self.response.out.write(render(path,rdic))
Exemple #13
0
 def get(self):
     key = self.request.get("key", None)
     if not key:
         return self.redirect("/god/melody")
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect("/god/melody")
     action = self.request.get("action", None)
     if "delete" == action:
         data.delete()
         self.session["message"] = "%s <strong>%s</strong> has been deleted" % (data.label.upper(), data.title)
         return self.redirect("/god/melody?from=delete")
     rdic = {}
     rdic["data"] = data
     path = get_tpl("edit_melody.html")
     return self.response.out.write(render(path, rdic))
Exemple #14
0
 def post(self):
     rdic = {}
     title = self.request.get("title", None)
     slug = self.request.get("slug", None)
     text = self.request.get("text", None)
     if title and slug:
         data = dbs.Page.add(title, slug, text)
         self.session["message"] = 'New page <a href="/god/page/edit?key=%s">%s</a> has been created' % (
             data.key(),
             data.title,
         )
         return self.redirect("/god/page?from=add")
     message = "Please fill the required fields"
     rdic["message"] = message
     path = get_tpl("add_page.html")
     return self.response.out.write(render(path, rdic))
Exemple #15
0
 def get(self):
     path = get_tpl('twitter_directs.html')
     rdic = {}
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$directs')
     if statuses is None:
         try:
             statuses = api.GetDirectMessages()
         except twitter.TwitterError, e:
             logging.error(str(e))
             return self.redirect('/god/twitter')
         for status in statuses:
             status.datetime = datetime.datetime.strptime(status.created_at, '%a %b %d %H:%M:%S +0000 %Y')
         memcache.set('twitter$directs', statuses, 240)
Exemple #16
0
 def get(self):
     path = get_tpl('twitter_directs.html')
     rdic = {}
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$directs')
     if statuses is None:
         try:
             statuses = api.GetDirectMessages()
         except twitter.TwitterError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
         except urlfetch.DownloadError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
Exemple #17
0
 def get(self, username):
     path = get_tpl('twitter_user.html')
     rdic = {}
     rdic['username'] = username
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$status$' + username)
     if statuses is None:
         try:
             statuses = api.GetUserTimeline(count=30, screen_name=username)
         except twitter.TwitterError, e:
             logging.error(str(e))
             return self.redirect('/god/twitter')
         for status in statuses:
             status.datetime = datetime.datetime.strptime(status.created_at, '%a %b %d %H:%M:%S +0000 %Y')
         memcache.set('twitter$status$' + username, statuses, 240)
Exemple #18
0
 def get(self, username):
     path = get_tpl('twitter_user.html')
     rdic = {}
     rdic['username'] = username
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$status$' + username)
     if statuses is None:
         try:
             statuses = api.GetUserTimeline(count=30, screen_name=username)
         except twitter.TwitterError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
         except urlfetch.DownloadError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
Exemple #19
0
 def post(self):
     rdic = {}
     label = self.request.get('label', None)
     title = self.request.get('title', None)
     url = self.request.get('url', None)
     prior = self.request.get('prior',0)
     text = self.request.get('text', None)
     ext = self.request.get('ext', None)
     if title and label:
         try: prior = int(prior)
         except: prior = 0
         data = dbs.Melody.add(title,url,label,prior,ext,text)
         self.session['message'] = 'New %s <a href="/god/melody/edit?key=%s">%s</a> has been created' % (data.label, data.key(), data.title)
         return self.redirect('/god/melody?from=add')
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('add_melody.html')
     return self.response.out.write(render(path,rdic))
Exemple #20
0
 def get(self):
     path = get_tpl('twitter_user.html')
     rdic = {}
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     username = dbs.Vigo.get('twitter')
     rdic['username'] = username
     statuses = memcache.get('twitter$favorites$' + username)
     if statuses is None:
         try:
             statuses = api.GetFavorites()
         except twitter.TwitterError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
         except urlfetch.DownloadError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
Exemple #21
0
 def get(self):
     action = self.request.get("action", "none").lower()
     key = self.request.get("key", "none")
     if "find" == action:
         data = self.get_find(key)
         if data:
             return self.redirect("/god/page/edit?key=%s" % data.key())
     source = self.request.get("from", None)
     message = ""
     if source:
         message = self.session.get("message", "")
         self.session.delete("message")
     rdic = {}
     rdic["message"] = message
     p = self.request.get("p", 1)
     keys = dbs.Page.all_keys()
     rdic["mvdata"] = dbs.Page.get_page(keys, p)
     path = get_tpl("page.html")
     return self.response.out.write(render(path, rdic))
Exemple #22
0
 def get(self):
     action = self.request.get('action', 'none').lower()
     key = self.request.get('key', 'none')
     if 'find' == action:
         data = self.get_find(key)
         if data:
             return self.redirect('/god/page/edit?key=%s' % data.key())
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         self.session.delete('message')
     rdic = {}
     rdic['message'] = message
     p = self.request.get('p',1)
     keys = dbs.Page.all_keys()
     rdic['mvdata'] = dbs.Page.get_page(keys, p)
     path = get_tpl('page.html')
     return self.response.out.write(render(path,rdic))
Exemple #23
0
 def post(self):
     rdic = {}
     key = self.request.get('key', None)
     if not key:
         return self.redirect('/god/page')
     data = dbs.get_by_key(key)
     if not data:
         return self.redirect('/god/page')
     title = self.request.get('title', None)
     slug = self.request.get('slug', None)
     text = self.request.get('text', None)
     if title and slug:
         data.update(title, slug, text)
         self.session['message'] = 'Page <a href="/god/article/edit?key=%s">%s</a> has been modified' % (data.key(), data.title)
         return self.redirect('/god/page?from=edit')
     rdic['data'] = data
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('edit_page.html')
     return self.response.out.write(render(path,rdic))
Exemple #24
0
 def post(self):
     rdic = {}
     title = self.request.get('title', None)
     slug = self.request.get('slug', None)
     text = self.request.get('text', None)
     keyword = self.request.get('keyword', None)
     draft = self.request.get('draft', None)
     if draft:
         draft = True
     else:
         draft = False
     if title and slug:
         data = dbs.Article.add(title,slug,text,draft,keyword)
         self.session['message'] = 'New article <a href="/god/article/edit?key=%s">%s</a> has been created' % (data.key(), data.title)
         if not draft:
             self.tweet(data)
             taskqueue.add(url='/god/task/ping', method='GET')
         return self.redirect('/god/article?from=add')
     message = 'Please fill the required fields'
     rdic['message'] = message
     path = get_tpl('add_article.html')
     return self.response.out.write(render(path,rdic))
Exemple #25
0
 def get(self):
     path = get_tpl('twitter_user.html')
     rdic = {}
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$public')
     if statuses is None:
         statuses = api.GetPublicTimeline()
         for status in statuses:
             status.datetime = datetime.datetime.strptime(status.created_at, '%a %b %d %H:%M:%S +0000 %Y')
         memcache.set('twitter$public', statuses, 120)
     rdic['statuses'] = statuses
     username = dbs.Vigo.get('twitter')
     profile = memcache.get('twitter$profile$' + username)
     if profile is None:
         profile = api.GetUser(username)
         memcache.set('twitter$profile$'+username, profile, 86400)
     rdic['profile'] = profile
     rdic['username'] = username
     return self.response.out.write(render(path, rdic))
Exemple #26
0
 def get(self):
     action = self.request.get('action','none')
     key = self.request.get('key',None)
     if 'flush' == action:
         memcache.flush_all()
         logging.info('flash all memcache')
         return self.redirect('/god/console/memcache')
     if 'delete' == action and key:
         memcache.delete(key)
         logging.info('delete memcache key: ' + str(key))
         return self.redirect('/god/console/memcache')
     elif 'display' == action and key:
         result = memcache.get(key)
     else:
         result = ''
     rdic = {}
     memstat = memcache.get_stats()
     rdic['key'] = key
     rdic['memstat'] = memstat
     rdic['result'] = result
     path = get_tpl('memcache.html')
     return self.response.out.write(render(path,rdic))
Exemple #27
0
 def get(self):
     action = self.request.get("action", "none")
     key = self.request.get("key", None)
     if "flush" == action:
         memcache.flush_all()
         logging.info("flash all memcache")
         return self.redirect("/god/console/memcache")
     if "delete" == action and key:
         memcache.delete(key)
         logging.info("delete memcache key: " + str(key))
         return self.redirect("/god/console/memcache")
     elif "display" == action and key:
         result = memcache.get(key)
     else:
         result = ""
     rdic = {}
     memstat = memcache.get_stats()
     rdic["key"] = key
     rdic["memstat"] = memstat
     rdic["result"] = result
     path = get_tpl("memcache.html")
     return self.response.out.write(render(path, rdic))
Exemple #28
0
 def get(self):
     source = self.request.get("from", None)
     message = ""
     if source:
         message = self.session.get("message", "")
         logging.info(message)
         self.session.delete("message")
     rdic = {}
     action = self.request.get("action", "none").lower()
     key = self.request.get("key", "none")
     status = self.request.get("draft", "2")
     p = self.request.get("p", 1)
     to = "/god/article?from=%s;p=%s" % (action, p)
     if "draft" == action or "post" == action:
         data = dbs.get_by_key(key)
         if data and "draft" == action:
             data.sw_status(True)
         elif data and "post" == action:
             data.sw_status(False)
         else:
             self.session["message"] = "Can't find the article"
         return self.redirect(to)
     if "filter" == action:
         keys = self.get_filter(status)
     elif "find" == action:
         data = self.get_find(key)
         if data:
             return self.redirect("/god/article/edit?key=%s;p=%s" % (data.key(), p))
         message = "Not find the article"
         keys = dbs.Article.all_keys()
     else:
         keys = dbs.Article.all_keys()
     rdic["message"] = message
     p = self.request.get("p", 1)
     rdic["mvdata"] = dbs.Article.get_page(keys, p)
     rdic["p"] = p
     path = get_tpl("article.html")
     return self.response.out.write(render(path, rdic))
Exemple #29
0
 def get(self):
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         logging.info(message)
         self.session.delete('message')
     rdic = {}
     action = self.request.get('action', 'none').lower()
     key = self.request.get('key', 'none')
     status = self.request.get('draft', '2')
     p = self.request.get('p',1)
     to = '/god/article?from=%s;p=%s' % (action, p)
     if 'draft' == action or 'post' == action:
         data = dbs.get_by_key(key)
         if data and 'draft' == action:
             data.sw_status(True)
         elif data and 'post' == action:
             data.sw_status(False)
         else:
             self.session['message'] = "Can't find the article"
         return self.redirect(to)
     if 'filter' == action:
         keys = self.get_filter(status)
     elif 'find' == action:
         data = self.get_find(key)
         if data:
             return self.redirect('/god/article/edit?key=%s;p=%s' % (data.key(), p))
         message = "Not find the article"
         keys = dbs.Article.all_keys()
     else:
         keys = dbs.Article.all_keys()
     rdic['message'] = message
     p = self.request.get('p',1)
     rdic['mvdata'] = dbs.Article.get_page(keys, p)
     rdic['p'] = p
     path = get_tpl('article.html')
     return self.response.out.write(render(path,rdic))
Exemple #30
0
 def get(self):
     path = get_tpl('twitter_user.html')
     rdic = {}
     source = self.request.get('from', None)
     message = ''
     if source:
         message = self.session.get('message','')
         self.session.delete('message')
     rdic['message'] = message
     qs = dbs.Vigo.get('oauth_twitter')
     if not qs:
         return self.redirect('/god/twitter/login')
     api = Twitter().set_qs_api(qs)
     statuses = memcache.get('twitter$home')
     if statuses is None:
         try:
             statuses = api.GetFriendsTimeline(count=30, retweets=True)
         except twitter.TwitterError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')
         except urlfetch.DownloadError, e:
             logging.warn(str(e))
             return self.redirect('/god/twitter')