def admin_register(admin, account, password): # 对注册接口进行管理权限验证 if admin != CurConfig.ADMIN_PWD: return Result(Status.AuthErr, msg="权限错误") # 先判断account是否已经存在 judge = UserManager.check_account(account) if judge: return Result(Status.AcctExist, msg="用户名已经存在") res = UserManager.add_user(account, password) if not res: return Result(Status.DBErr, msg="注册失败") return Result(Status.OK, msg="注册成功")
def __init__(self, configuration, workout_logger=None, **kwargs): self.logger = logging.getLogger(__name__) self.configuration = configuration if workout_logger == None: logger_factory = LoggerFactory(self.configuration) self.workout_logger = logger_factory.get_logger() else: self.workout_logger = workout_logger if 'slack_api' in kwargs: self.slack_api = kwargs['slack_api'] else: self.slack_api = FlexbotApiClient(configuration, token=self.configuration.slack_token()) if 'user_manager' in kwargs: self.user_manager = kwargs['user_manager'] else: self.user_manager = UserManager(self.slack_api, self.configuration, self.workout_logger) if 'bot' in kwargs: self.bot = kwargs['bot'] else: self.bot = Bot(self.slack_api, self.configuration, self.user_manager) if 'web_server' in kwargs: self.web_server = kwargs['web_server'] else: self.web_server = FlexbotWebServer(self.user_manager, self.user_manager, configuration)
def check(): res = UserManager.get_userinfo(session['userid']) if res: del res['uid'] del res['password'] return Result(Status.OK, **res) else: return Result(Status.LoginReq)
def register(account, password, code): if not ('randimg' in session and session['randimg'].upper() == code.upper()): return Result(Status.RegImgErr, msg="验证码有误") # 检查参数 if len(account) < 4 or re.match("[^a-zA-Z0-9]", account): return Result(Status.RegAccErr, msg="账号格式有误") if len(password) != 32: return Result(Status.RegPwdErr, msg="密码格式有误") # 先判断account是否已经存在 judge = UserManager.check_account(account) if judge: return Result(Status.AcctExist, msg="用户名已经存在") res = UserManager.add_user(account, password) if not res: return Result(Status.DBErr, msg="注册失败") return Result(Status.OK, msg="注册成功")
def login(account, password): res = UserManager.check_login(account, password) if res and 'uid' in res: session['userid'] = res['uid'] session.permanent = True del res['uid'] del res['password'] return Result(Status.OK, **res) else: return Result(Status.Error, msg='账号或密码错误')
def save(self): userManager = UserManager() userManager.addUser(self.user)
def save(self): userManager = UserManager() userManager.updUsers(self.user)
from flask import Flask, request, session, redirect, url_for, render_template from flask.ext.cors import CORS import sys import json import urllib import os import MySQLdb import json reload(sys) sys.setdefaultencoding("utf-8") from manager import UserManager userManager = UserManager() app = Flask(__name__) cors = CORS(app) app.secret_key = 'F12Zr47j\3yXaliejlcxuaiuiouqwioufu19wf/,?KT' db = MySQLdb.connect("localhost", "root", "rlawjddnrdlstjdusgksrjsgh", "CodeHouse", charset="utf8") cursor = db.cursor()
# -!- coding: utf-8 -!- # Main Script. from manager import UserManager userManager = UserManager() # 입력받기 while True: print("\n1. 로그인") print("2. 회원 가입") print("3. 현재 회원 정보 출력") print("4. 종료") choice = input("동작 선택 >> ") # 로그인 if choice == 1: email = raw_input("이메일 : ") pw = raw_input("패스워드 : ") loginUser = userManager.login(email, pw) if loginUser is None: print("로그인에 실패했습니다. 아이디 혹은 패스워드를 확인해주세요.") else: print("로그인 성공!") # 회원가입 elif choice == 2: email = raw_input("이메일 : ") pw = raw_input("패스워드 : ") name = raw_input("이름 : ") age = input("나이 : ")
class Server(object): def __init__(self, configuration, workout_logger=None, **kwargs): self.logger = logging.getLogger(__name__) self.configuration = configuration if workout_logger == None: logger_factory = LoggerFactory(self.configuration) self.workout_logger = logger_factory.get_logger() else: self.workout_logger = workout_logger if 'slack_api' in kwargs: self.slack_api = kwargs['slack_api'] else: self.slack_api = FlexbotApiClient(configuration, token=self.configuration.slack_token()) if 'user_manager' in kwargs: self.user_manager = kwargs['user_manager'] else: self.user_manager = UserManager(self.slack_api, self.configuration, self.workout_logger) if 'bot' in kwargs: self.bot = kwargs['bot'] else: self.bot = Bot(self.slack_api, self.configuration, self.user_manager) if 'web_server' in kwargs: self.web_server = kwargs['web_server'] else: self.web_server = FlexbotWebServer(self.user_manager, self.user_manager, configuration) def start(self): self.logger.debug('Starting workout loop') workout_loop_thread = threading.Thread(target=self.workout_loop) workout_loop_thread.daemon = False workout_loop_thread.start() # Start the webserver self.logger.debug('Starting webserver') cherrypy.config.update({'server.socket_host': '0.0.0.0', 'server.socket_port': self.configuration.webserver_port(), 'log.screen': True, }) cherrypy.quickstart(self.web_server) def workout_loop(self): """ Runs the workout bot in an infinite loop. """ was_office_hours = False while True: was_office_hours = self.workout_step(was_office_hours) def workout_step(self, was_office_hours): """ Runs a step of the workout bot, handling exceptions. Returns True iff is_office_hours returns true before the current workout. """ is_office_hours = self.bot.is_office_hours() try: self._workout_step(was_office_hours, is_office_hours) except NoEligibleUsersException: util.sleep(minutes=5) return is_office_hours def _workout_step(self, was_office_hours, is_office_hours): if is_office_hours: # Clear the previous day's history if this is the first workout of the day if not was_office_hours: self.user_manager.clear_users() # Get an exercise to do exercise, reps, mins_to_exercise = self.bot.select_exercise_and_start_time() util.sleep(minutes=mins_to_exercise) # Assign the exercise to someone self.bot.assign_exercise(exercise, reps) else: # Show some stats if the final workout has just passed if was_office_hours: self.slack_api.post_flex_message(self.user_manager.stats()) # Sleep for a bit if not self.configuration.debug(): util.sleep(minutes=5) # Sleep 5 minutes else: # If debugging, check again in 5 seconds util.sleep(seconds=5)
def set_password(password): res = UserManager.set_password(session['userid'], password) return Result(Status.OK if res else Status.Error)
def set_name(name): res = UserManager.set_username(session['userid'], name) return Result(Status.OK if res else Status.Error)
def set_page_flag(flag): flag = int(flag) res = UserManager.set_page_flag(session['userid'], flag) return Result(Status.OK if res else Status.Error)
def set_page_alias(alias): res = UserManager.set_page_alias(session['userid'], alias) return Result(Status.OK if res else Status.Error)
def get_userpage(user): res = UserManager.get_userpage(user) if res: return Result(Status.OK, **res) else: return Result(Status.Error)
# -!- coding: utf-8 -!- # Main Script. from manager import UserManager userManager = UserManager() # 입력받기 while True: print("\n1. 로그인") print("2. 회원 가입") print("3. 현재 회원 정보 출력") print("4. 종료") choice = input("동작 선택 >> ") # 로그인 if choice == 1: email = raw_input("이메일 : ") pw = raw_input("패스워드 : ") loginUser = userManager.login(email, pw) if loginUser is None: print("로그인에 실패했습니다. 아이디 혹은 패스워드를 확인해주세요.") else: print("로그인 성공!") # 회원가입 elif choice == 2: email = raw_input("이메일 : ") pw = raw_input("패스워드 : ") name = raw_input("이름 : ")