def server_expired(): server = get_server(request.form['server']) sender = 'no-reply@' + get_application_id() + '.appspotmail.com' site_url = 'http://' + get_application_id() + '.appspot.com' for account in Account.query(): message = mail.EmailMessage(sender=sender, to=account.email) message.subject = "Server expire notification: %s" % server.server_name show_url = url_for('server.show', server_key=server.key.urlsafe()) message_body = "Server %s is expired at %s\n %s%s" \ % (server.server_name, server.expire_date, site_url, show_url) if server.blocked: url = 'http://%s/manager/expired/%s'\ % (server.ip_address, server.token) result = fetch_server_url(url=url, retry_count=3) if result.status_code == 200: if result.content == 'TRUE': message_body += '\n Server %s is blocked upon expiry, %s'\ % (server.server_name, server.expire_date) else: message_body += '\n %s' % result.content else: message_body += '\n Unable to reach %s to block upon expiry, %s'\ % (server.server_name, server.expire_date) message.body = message_body message.send() return make_response('')
def delete(account): encoded_key = request.args["account"] acc = ndb.Key(urlsafe=encoded_key) acc.delete() flash(u"Account deleted!") return render_template("account/accounts.html", account=account, accounts=Account.query())
def add(account): if request.method == "POST": account = Account() account.email = request.form["email"] account.role = request.form["role"] account.put() flash(u"Account added!") return render_template("account/accounts.html", account=account, accounts=Account.query()) else: return render_template("account/account_add.html", account=account)
def check(*args, **kwargs): user = users.get_current_user() if user: email = user.email() account = Account.query().filter(Account.email==email.lower()).get() if isinstance(account, Account): kwargs.update({'account': account}) return fn(*args, **kwargs) return abort(403)
def check_server_user_limit(): sender = 'no-reply@' + get_application_id() + '.appspotmail.com' site_url = 'http://' + get_application_id() + '.appspot.com' servers = Server.query() accounts = Account.query() for server in servers: if server.user_limit: for account in accounts: message = mail.EmailMessage(sender=sender, to=account.email) message_body = '' show_url = url_for('server.show', server_key=server.key.urlsafe()) url = 'http://%s/manager/user_count/%s'\ % (server.ip_address, server.token) result = fetch_server_url(url=url, retry_count=3) if result.status_code == 200: user_count = result.content if user_count > server.user_limit: message.subject = "Server expire notification: %s" % server.server_name message_body += "User limit reached on %s." \ "User limit: %s, Current users: %s\n %s%s" \ % (server.server_name, server.user_limit, user_count, site_url, show_url) if server.blocked: url = 'http://%s/manager/add_user_blocked/%s'\ % (server.ip_address, server.token) result = fetch_server_url(url=url, retry_count=3) user_blocked = result.content if user_blocked == 'TRUE': message_body += "Server %s add user is restricted to %s" \ % (server.server_name, server.user_limit) else: message_body += '\n %s' % user_blocked else: message_body += 'Unable to reach %s to retrieve user count \ upon user limit check' % server.server_name message.body = message_body message.send() return make_response('hello')
def list(account): return render_template("account/accounts.html", account=account, accounts=Account.query())
def get_account(email): account = Account.query().filter(Account.email==email).get() return account