Example #1
0
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="注册成功")
Example #2
0
    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)
Example #3
0
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)
Example #4
0
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="注册成功")
Example #5
0
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='账号或密码错误')
Example #6
0
 def save(self):
     userManager = UserManager()
     userManager.addUser(self.user)
Example #7
0
 def save(self):
     userManager = UserManager()
     userManager.updUsers(self.user)
Example #8
0
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()

Example #9
0
# -!- 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("나이 : ")
Example #10
0
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)
Example #11
0
def set_password(password):
    res = UserManager.set_password(session['userid'], password)
    return Result(Status.OK if res else Status.Error)
Example #12
0
def set_name(name):
    res = UserManager.set_username(session['userid'], name)
    return Result(Status.OK if res else Status.Error)
Example #13
0
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)
Example #14
0
def set_page_alias(alias):
    res = UserManager.set_page_alias(session['userid'], alias)
    return Result(Status.OK if res else Status.Error)
Example #15
0
def get_userpage(user):
    res = UserManager.get_userpage(user)
    if res:
        return Result(Status.OK, **res)
    else:
        return Result(Status.Error)
Example #16
0
# -!- 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("이름 : ")