-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathmoderate.py
More file actions
48 lines (37 loc) · 1.45 KB
/
Copy pathmoderate.py
File metadata and controls
48 lines (37 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import os
import base64
import hashlib
import datetime
import webapp2
from google.appengine.ext.webapp import template
from google.appengine.ext import db
from google.appengine.api import images
from google.appengine.api import memcache
from google.appengine.api import users
class LogoProgram(db.Model):
code = db.TextProperty()
img = db.BlobProperty()
date = db.DateTimeProperty(auto_now_add=True)
hash = db.StringProperty()
class Moderate(webapp2.RequestHandler):
def get(self):
login_url = users.create_login_url("/moderate")
values = dict(login_url=login_url)
if users.is_current_user_admin():
values["items"] = db.GqlQuery("SELECT * FROM LogoProgram WHERE img = null").fetch(10000)
fstring = self.request.get("filter_string", None)
if fstring:
values["items"] = filter(lambda x: fstring in x.code, values["items"])
if int(self.request.get("delete", 0)):
for item in values["items"]:
try:
item.delete()
except db.InternalError:
pass
else:
values["items"] = ["please log in as an admin"]
page = os.path.join(os.path.dirname(__file__), 'moderate.html.tmpl')
self.response.out.write(template.render(page, values))
app = webapp2.WSGIApplication([('/moderate', Moderate)],debug=True)
if __name__ == "__main__":
main()