def get(self, url_path): def notify_admins(user, new_url): from google.appengine.api.mail import send_mail_to_admins mail = user.email() subject = "SymPy bot notification" body = "New upload URL " + new_url send_mail_to_admins(sender=mail, subject=subject, body=body) from google.appengine.api import users user = users.get_current_user() is_admin = users.is_current_user_admin() rows = [] upload_url = "" if user: if is_admin: if self.request.get("generate"): import sha rand_string = os.urandom(10) sha_hash = sha.new(rand_string) new_record = UploadURL(url_path=sha_hash.hexdigest(), user=user.nickname()) new_record.put() new_url = self.request.host_url + "/upload_pull/" + \ sha_hash.hexdigest() notify_admins(user, new_url) if self.request.get("populate"): taskqueue.add(url="/worker", queue_name="github") rows = UploadURL.all() last_row = rows.order("-created_at").get() if last_row: upload_url = (last_row.url_path) else: upload_url = ("") self.render( "upload_url.html", { "user": user, "upload_url": upload_url, "is_admin": is_admin, "rows": rows, "login_url": users.create_login_url("/upload_pull"), "logout_url": users.create_logout_url("/upload_pull"), })