def main(): print("WELCOME TO CAB BOOKING SYSTEM".center(100, '*')) print("1.Register as a new user") print("2.Login to an existing account") print("3.Admin Login") print("4.Exit the application") ch = input("Enter your choice: ") if ch == '1': res = reg() user_activities(res) elif ch == '2': res = log() if res == "Invalid": print("Invalid credentials\n") while True: res = log() if res != "Invalid": clear() print("Welcome " + res) user_activities(res) else: clear() print("Welcome " + res) user_activities(res) elif ch == '3': name = input("Enter username: "******"Enter email: ") if not validate_admin(email, name): while True: name = input("Enter username: "******"Enter email: ") if validate_admin(email, name): admin_activities() else: admin_activities() elif ch == '4': quit() else: print("Enter a valid Choice") main()
def reg(): log.destroy() register.reg()
def reg(): register.reg(homeui)
"random_id": random.randint(1, 2147483647) }) elif len(message.split(" ")) == 2: messag = d.check_date( messages["items"][0]["last_message"]["text"], messages["items"][0]["last_message"]["from_id"]) vk.method( "messages.send", { "peer_id": idd, "message": messag, "random_id": random.randint(1, 2147483647) }) else: vk.method( "messages.send", { "peer_id": idd, "message": "Запишите трату в формате [вещь] [сумма]", "random_id": random.randint(1, 2147483647) }) elif sub.check(idd) == False: reg.reg(idd) vk.method( "messages.send", { "peer_id": idd, "message": "Вы успешно зарегистрировались в программе!", "random_id": random.randint(1, 2147483647) })
def application(env, start_response): env1 = Environment(loader = FileSystemLoader('temp')) c = http.cookies.SimpleCookie() if 'HTTP_COOKIE' in env: c = http.cookies.SimpleCookie(env['HTTP_COOKIE']) # журнальный инстанс jclient = MongoClient("mongodb://{0}:27017".format(os.environ["HS_MONGO_JOURNAL_PORT_27017_TCP_ADDR"])) # инстанс с данными client = MongoClient("mongodb://{0}:27017".format(os.environ["HS_MONGO_DATA_PORT_27017_TCP_ADDR"])) if 'user' not in c: try: request_body_size = int(env.get('CONTENT_LENGTH', 0)) except (ValueError): request_body_size = 0 query = dict() if request_body_size != 0: qs = urllib.parse.unquote(env['wsgi.input'].read(request_body_size).decode('ascii')) query = parse_qs(qs) if env['PATH_INFO'] == "/register/" or env['PATH_INFO'] == "/register": import register return register.reg(env, start_response, query) elif "login" in query: import auth return auth.auth(env, start_response, query) template = env1.get_template("auth.html") resp = template.render() start_response('200 OK', [('Content-Type', 'text/html')]) return [resp.encode('utf-8')] else: db = jclient[c["user"].value] collection = db.task collection_info = db["meta"] info = collection_info.find_one() if 'meta' in db.collection_names() and hashlib.md5(info["password"].encode('utf-8')).hexdigest() == c["secret"].value: try: request_body_size = int(env.get('CONTENT_LENGTH', 0)) except (ValueError): request_body_size = 0 qs = str() query = dict() if request_body_size > 0: qs = urllib.parse.unquote(env['wsgi.input'].read(request_body_size).decode('ascii')) elif len(env['QUERY_STRING']) > 0: qs = env['QUERY_STRING'] resp = "" if len(qs): query = parse_qs(qs) if len(qs) and "jshow" not in query: if 'exit' not in query: userlimmit = 1000000 if query["act"][0] == "add": import time import json start_response('200 OK', [('Content-Type', 'application/json')]) limmit = 5 groups = client[c["user"].value].collection_names(False) if len(groups) >= limmit: return [json.dumps({"status": "500", "error_text": "Превышен лиммит количества групп"}).encode('utf-8')] if "meta" not in jclient[c["user"].value].collection_names(): return [json.dumps({"status": "500", "error_text": "wrong user"}).encode('utf-8')] import vkreq resp_vk = vkreq.get_group(query["groupid"][0]) if "error" in resp_vk: return [json.dumps({"status": "500", "error_text": "wrong gid"}).encode('utf-8')] elif resp_vk["response"][0]["members_count"] >= userlimmit: return [ json.dumps({"status": "500", "error_text": "число пользователей должно быть меньше {0}".format(userlimmit)}).encode( 'utf-8')] str_gid = str(resp_vk["response"][0]["gid"]) if str_gid in client[c["user"].value].collection_names(): return [json.dumps({"status": "500", "error_text": "Группа уже была добавленна раньше"}).encode('utf-8')] if "meta" not in jclient[str_gid].collection_names(): jclient[str_gid]["meta"].insert_one(resp_vk["response"][0]) import rmqsend rmqsend.send(json.dumps({"user": c["user"].value, "group_id": str_gid}).encode('utf-8')) return [json.dumps({"status": "200"}).encode('utf-8')] elif query["act"][0] == "update": import json last_doc_journal = jclient[c["user"].value]["journal"].find_one({"gid": query["gid"][0]}, sort = [("ts", DESCENDING)]) import time # Ограничение на частоту запросов на обновление rest = 1800 start_response('200 OK', [('Content-Type', 'application/json')]) if last_doc_journal is not None and (int(time.time()) - last_doc_journal["ts"]) < rest: return [ json.dumps({"status": "500", "error_test": "Превышен лиммит на количество запросов на обновление"}).encode('utf-8')] import vkreq resp_vk = vkreq.get_group(query["gid"][0]) if resp_vk["members_count"] >= userlimmit: return [ json.dumps({"status": "500", "error_text": "число пользователей должно быть меньше {0}".format(userlimmit)}).encode( 'utf-8')] import rmqsend rmqsend.send(json.dumps({"user": c["user"].value, "group_id": query["gid"][0]}).encode('utf-8')) return [json.dumps({"status": "200"}).encode('utf-8')] else: collection.update_one({"_id": bson.objectid.ObjectId(query["id"][0])}, {'$set': {'act': query['act']}}) start_response('200 OK', [('Content-Type', 'application/json')]) import json return [json.dumps({"status": "200", "act": query["act"][0]}).encode('utf-8')] elif "exit" in query: c["user"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" c["secret"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" template = env1.get_template("auth.html") resp = template.render() else: usermeta = collection_info.find_one() groups = client[c["user"].value].collection_names(False) usermeta["groups"] = [] for i in groups: usermeta["groups"].append(jclient[i]["meta"].find_one()) usermeta["groups"][len(usermeta["groups"]) - 1]["journal"] = [] for doc in jclient[c["user"].value]["journal"].find({"gid": str(i)}).sort([("ts", DESCENDING)]): doc["ts"] = str(doc["ts"]) usermeta["groups"][len(usermeta["groups"]) - 1]["journal"].append(doc) if "jshow" in query and str(i) in query["jshow"]: usermeta["groups"][len(usermeta["groups"]) - 1]["jshow"] = "y" else: usermeta["groups"][len(usermeta["groups"]) - 1]["jshow"] = "n" template = env1.get_template("index.html") resp = template.render(user = usermeta) else: if 'user' not in c: c['user'] = dict() c["user"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" if 'secret' not in c: c['secret'] = dict() c["secret"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" template = env1.get_template("auth.html") resp = template.render() start_response('200 OK', [('Content-Type', 'text/html'), ('Set-Cookie', c["user"].OutputString()), ('Set-Cookie', c["secret"].OutputString())]) return [resp.encode('utf-8')]
import register import login choice = input(""" choose 1 or 2 1) register now 2) login now """) if choice == "1": register.reg() elif choice == "2": login.log()
def application(env, start_response): env1 = Environment(loader=FileSystemLoader('temp')) c = http.cookies.SimpleCookie() if 'HTTP_COOKIE' in env: c = http.cookies.SimpleCookie(env['HTTP_COOKIE']) # журнальный инстанс jclient = MongoClient("mongodb://{0}:27017".format( os.environ["HS_MONGO_JOURNAL_PORT_27017_TCP_ADDR"])) # инстанс с данными client = MongoClient("mongodb://{0}:27017".format( os.environ["HS_MONGO_DATA_PORT_27017_TCP_ADDR"])) if 'user' not in c: try: request_body_size = int(env.get('CONTENT_LENGTH', 0)) except (ValueError): request_body_size = 0 query = dict() if request_body_size != 0: qs = urllib.parse.unquote( env['wsgi.input'].read(request_body_size).decode('ascii')) query = parse_qs(qs) if env['PATH_INFO'] == "/register/" or env['PATH_INFO'] == "/register": import register return register.reg(env, start_response, query) elif "login" in query: import auth return auth.auth(env, start_response, query) template = env1.get_template("auth.html") resp = template.render() start_response('200 OK', [('Content-Type', 'text/html')]) return [resp.encode('utf-8')] else: db = jclient[c["user"].value] collection = db.task collection_info = db["meta"] info = collection_info.find_one() if 'meta' in db.collection_names() and hashlib.md5( info["password"].encode( 'utf-8')).hexdigest() == c["secret"].value: try: request_body_size = int(env.get('CONTENT_LENGTH', 0)) except (ValueError): request_body_size = 0 qs = str() query = dict() if request_body_size > 0: qs = urllib.parse.unquote( env['wsgi.input'].read(request_body_size).decode('ascii')) elif len(env['QUERY_STRING']) > 0: qs = env['QUERY_STRING'] resp = "" if len(qs): query = parse_qs(qs) if len(qs) and "jshow" not in query: if 'exit' not in query: userlimmit = 1000000 if query["act"][0] == "add": import time import json start_response('200 OK', [('Content-Type', 'application/json')]) limmit = 5 groups = client[c["user"].value].collection_names( False) if len(groups) >= limmit: return [ json.dumps({ "status": "500", "error_text": "Превышен лиммит количества групп" }).encode('utf-8') ] if "meta" not in jclient[ c["user"].value].collection_names(): return [ json.dumps({ "status": "500", "error_text": "wrong user" }).encode('utf-8') ] import vkreq resp_vk = vkreq.get_group(query["groupid"][0]) if "error" in resp_vk: return [ json.dumps({ "status": "500", "error_text": "wrong gid" }).encode('utf-8') ] elif resp_vk["response"][0][ "members_count"] >= userlimmit: return [ json.dumps({ "status": "500", "error_text": "число пользователей должно быть меньше {0}" .format(userlimmit) }).encode('utf-8') ] str_gid = str(resp_vk["response"][0]["gid"]) if str_gid in client[ c["user"].value].collection_names(): return [ json.dumps({ "status": "500", "error_text": "Группа уже была добавленна раньше" }).encode('utf-8') ] if "meta" not in jclient[str_gid].collection_names(): jclient[str_gid]["meta"].insert_one( resp_vk["response"][0]) import rmqsend rmqsend.send( json.dumps({ "user": c["user"].value, "group_id": str_gid }).encode('utf-8')) return [json.dumps({"status": "200"}).encode('utf-8')] elif query["act"][0] == "update": import json last_doc_journal = jclient[ c["user"].value]["journal"].find_one( {"gid": query["gid"][0]}, sort=[("ts", DESCENDING)]) import time # Ограничение на частоту запросов на обновление rest = 1800 start_response('200 OK', [('Content-Type', 'application/json')]) if last_doc_journal is not None and (int( time.time()) - last_doc_journal["ts"]) < rest: return [ json.dumps({ "status": "500", "error_test": "Превышен лиммит на количество запросов на обновление" }).encode('utf-8') ] import vkreq resp_vk = vkreq.get_group(query["gid"][0]) if resp_vk["members_count"] >= userlimmit: return [ json.dumps({ "status": "500", "error_text": "число пользователей должно быть меньше {0}" .format(userlimmit) }).encode('utf-8') ] import rmqsend rmqsend.send( json.dumps({ "user": c["user"].value, "group_id": query["gid"][0] }).encode('utf-8')) return [json.dumps({"status": "200"}).encode('utf-8')] else: collection.update_one( {"_id": bson.objectid.ObjectId(query["id"][0])}, {'$set': { 'act': query['act'] }}) start_response('200 OK', [('Content-Type', 'application/json')]) import json return [ json.dumps({ "status": "200", "act": query["act"][0] }).encode('utf-8') ] elif "exit" in query: c["user"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" c["secret"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" template = env1.get_template("auth.html") resp = template.render() else: usermeta = collection_info.find_one() groups = client[c["user"].value].collection_names(False) usermeta["groups"] = [] for i in groups: usermeta["groups"].append(jclient[i]["meta"].find_one()) usermeta["groups"][len(usermeta["groups"]) - 1]["journal"] = [] for doc in jclient[c["user"].value]["journal"].find({ "gid": str(i) }).sort([("ts", DESCENDING)]): doc["ts"] = str(doc["ts"]) usermeta["groups"][len(usermeta["groups"]) - 1]["journal"].append(doc) if "jshow" in query and str(i) in query["jshow"]: usermeta["groups"][len(usermeta["groups"]) - 1]["jshow"] = "y" else: usermeta["groups"][len(usermeta["groups"]) - 1]["jshow"] = "n" template = env1.get_template("index.html") resp = template.render(user=usermeta) else: if 'user' not in c: c['user'] = dict() c["user"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" if 'secret' not in c: c['secret'] = dict() c["secret"]["Expires"] = "Thu, 01-Jan-1970 00:00:00 GMT" template = env1.get_template("auth.html") resp = template.render() start_response('200 OK', [('Content-Type', 'text/html'), ('Set-Cookie', c["user"].OutputString()), ('Set-Cookie', c["secret"].OutputString())]) return [resp.encode('utf-8')]