Beispiel #1
0
    def get_hour_position_impression_click(self, ad_network_id, position_id,
                                           day, hour):
        """
        :type ad_network_id: str
        :type position_id: str
        :type day: datetime
        :type hour: str
        :rtype: (int, int)
        """
        if config.server_local_fake:
            return self.__get_random_data()

        impression = None
        click = None
        try:
            dt = day.strftime("%Y%m%d")
            impression = self.redis.get('%s|%s|%s%s|2' %
                                        (ad_network_id, position_id, dt, hour))
            click = self.redis.get('%s|%s|%s%s|3' %
                                   (ad_network_id, position_id, dt, hour))
        except:
            Logger.error(traceback.format_exc())
        finally:
            if not impression:
                impression = 0
            impression = int(impression)

            if not click:
                click = 0
            click = int(click)
            return impression, click
Beispiel #2
0
 def edit_user(cls, user_id, user_right):
     try:
         session = sessionmaker(bind=cls.engine)()
         with Defer(session.close):
             session.query(Users).filter(Users.id == user_id).update(
                 {Users.user_right: user_right})
             session.commit()
             db_user_list = session.query(
                 Users.id, Users.user_email, Users.user_right,
                 Users.create_time).filter(Users.id == user_id)[:]
             a_dict = dict()
             a_dict['success'] = True
             a_dict['msg'] = 'ok'
             a_dict['content'] = content = list()
             if len(db_user_list) > 0:
                 db_user = db_user_list[0]
                 a_user = {
                     'id':
                     db_user.id,
                     'user_email':
                     db_user.user_email,
                     'user_right':
                     db_user.user_right,
                     'create_time':
                     db_user.create_time.strftime('%Y-%m-%d %H:%M:%S')
                 }
                 content.append(a_user)
                 return json.dumps(a_dict)
     except:
         Logger.error(traceback.format_exc())
         a_dict = dict()
         a_dict['success'] = False
         a_dict['msg'] = 'update db failed'
         return json.dumps(a_dict)
Beispiel #3
0
    def __get_monitor_status(cls, job_id_set, service_list):
        """
        :type job_id_set: set[int]
        :param service_list: list[dict[str, Object]]
        :return:
        """
        try:
            if len(job_id_set) <= 0:
                return

            service_id_string = ','.join([str(item) for item in job_id_set])
            request_data = {'service_id': service_id_string}
            url = config.monitor_server_url + '/api_monitor_status'
            r = requests.post(url, data=request_data)
            Logger.info(
                "url=[%s], service_id_list=[%s], status_code=[%s], response=[%s]"
                % (url, job_id_set, r.status_code, r.text))
            if r.status_code != 200:
                return

            json_dict = json.loads(r.text)
            if json_dict['code'] != 0:
                return

            status_dict = json_dict['content']
            for a_service in service_list:
                result = status_dict.get(str(a_service['id']), None)
                if result is not None:
                    (healthy_code, last) = result
                    a_service[
                        'monitor_time'] = datetime.datetime.fromtimestamp(
                            last).strftime('%Y-%m-%d %H:%M:%S')
                    a_service['healthy_code'] = healthy_code
        except:
            Logger.error(traceback.format_exc())
Beispiel #4
0
 def delete_one_machine(cls, machine_id):
     try:
         session = sessionmaker(bind=cls.engine)()
         with Defer(session.close):
             using_count = session.query(Services).filter(
                 Services.machine_id == machine_id).count()
             if using_count > 0:
                 result = dict()
                 result['success'] = False
                 result['code'] = DbError.RELY_EXIST_ERROR
                 return json.dumps(result, ensure_ascii=False)
             session.query(Machines).filter(
                 Machines.id == machine_id).delete(
                     synchronize_session=False)
             session.commit()
             # 返回成功
             a_dict = dict()
             a_dict['success'] = True
             a_dict['code'] = DbError.OK
             a_dict['msg'] = 'ok'
             return json.dumps(a_dict)
     except:
         Logger.error(traceback.format_exc())
         a_dict = dict()
         a_dict['success'] = False
         a_dict['code'] = DbError.DB_OPERATE_ERROR
         a_dict['msg'] = 'delete from db error'
         return json.dumps(a_dict)
Beispiel #5
0
    def get_user_info(cls, user_account):
        """
        :type user_account: str
        :rtype: UserList
        """
        try:
            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 查询用户
            values = session.query(UserList).filter(
                UserList.user_account == user_account)
            # 关闭session
            session.close()

            # 获取用户信息
            user = None
            for value in values:
                user = value
                break

            # 未查到用户
            if not user:
                Logger.error("user_account[%s] number[%s] != 0" %
                             (user_account, len(values)))
                return None
            return user
        except:
            Logger.error(traceback.format_exc())
            return None
Beispiel #6
0
    def delete_machines(cls, machine_id_list):
        try:
            # 过滤参数
            split_id_list = machine_id_list.split(',')
            join_id_list = list()
            for user_id in split_id_list:
                if user_id != '':
                    join_id_list.append(user_id)
            if len(join_id_list) == 0:
                a_dict = dict()
                a_dict['success'] = False
                a_dict['msg'] = list()
                return json.dumps(a_dict)

            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                session.query(Machines).filter(
                    Machines.id.in_(join_id_list)).delete(
                        synchronize_session=False)
                session.commit()
                # 返回成功
                a_dict = dict()
                a_dict['success'] = True
                a_dict['msg'] = 'ok'
                return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['msg'] = 'delete from db error'
            return json.dumps(a_dict)
Beispiel #7
0
    def query_user_list(cls, user_account, off_set, limit):
        try:
            # 转换类型
            off_set = int(off_set)
            limit = int(limit)
            if limit == -1:
                limit_count = None
            else:
                limit_count = off_set + limit

            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 查询数据
            if user_account != '':
                like_condition = '%' + user_account + '%'
                count = session.query(
                    UserList.id, UserList.user_account, UserList.user_right,
                    UserList.update_time).filter(
                        UserList.user_account.like(like_condition)).count()
                values = session.query(
                    UserList.id, UserList.user_account, UserList.user_right,
                    UserList.update_time).filter(
                        UserList.user_account.like(
                            like_condition))[off_set:limit_count]
            else:
                count = session.query(UserList.id, UserList.user_account,
                                      UserList.user_right,
                                      UserList.update_time).count()
                values = session.query(
                    UserList.id, UserList.user_account, UserList.user_right,
                    UserList.update_time)[off_set:limit_count]
            # 关闭session
            session.close()
            # 返回结果
            a_user_list = list()
            for value in values:
                a_user = dict()
                a_user_list.append(a_user)
                a_user['user_id'] = value.id
                a_user['user_account'] = value.user_account
                a_user['user_right'] = value.user_right
                a_user['update_time'] = datetime.datetime.fromtimestamp(
                    value.update_time).strftime('%Y-%m-%d %H:%M:%S')

            # 返回成功
            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = a_user_list
            a_dict['item_count'] = count
            return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return json.dumps(a_dict)
Beispiel #8
0
 def read_public_key(self, file_path):
     try:
         content = ''
         with open(file_path, 'r') as key_file:
             content = key_file.read()
         return content
     except Exception, e:
         Logger.error(e.message)
         return ''
Beispiel #9
0
    def query_network_list(cls, network_name, off_set, limit):
        try:
            # 转换类型
            off_set = int(off_set)
            limit = int(limit)
            if limit == -1:
                limit_count = None
            else:
                limit_count = off_set + limit

            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 查询数据
            if network_name != '':
                like_condition = '%' + network_name + '%'
                count = session.query(
                    NetworkList.id, NetworkList.network,
                    NetworkList.update_time).filter(
                        NetworkList.network.like(like_condition)).count()
                values = session.query(
                    NetworkList.id, NetworkList.network,
                    NetworkList.update_time).filter(
                        NetworkList.network.like(
                            like_condition))[off_set:limit_count]
            else:
                count = session.query(NetworkList.id, NetworkList.network,
                                      NetworkList.update_time).count()
                values = session.query(
                    NetworkList.id, NetworkList.network,
                    NetworkList.update_time)[off_set:limit_count]
            # 关闭session
            session.close()
            # 返回结果
            a_network_list = list()
            for value in values:
                a_network = dict()
                a_network_list.append(a_network)
                a_network['network_id'] = value.id
                a_network['network_name'] = value.network
                a_network['update_time'] = datetime.datetime.fromtimestamp(
                    value.update_time).strftime('%Y-%m-%d %H:%M:%S')

            # 返回成功
            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = a_network_list
            a_dict['item_count'] = count
            return a_dict
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return a_dict
Beispiel #10
0
    def query_machine_list(cls, machine, off_set, limit):
        try:
            # 转换类型
            off_set = int(off_set)
            limit = int(limit)
            if limit == -1:
                limit_count = None
            else:
                limit_count = off_set + limit

            # 创建session
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                # 查询数据
                count_query = session.query(Machines.id)
                value_query = session.query(Machines.id, Machines.ssh_user,
                                            Machines.ssh_ip, Machines.ssh_port,
                                            Machines.create_time)
                if machine != '':
                    machine_condition = '%' + machine + '%'
                    count_query = count_query.filter(
                        or_(Machines.ssh_user.like(machine_condition),
                            Machines.ssh_ip.like(machine_condition)))
                    value_query = value_query.filter(
                        or_(Machines.ssh_user.like(machine_condition),
                            Machines.ssh_ip.like(machine_condition)))
                count = count_query.count()
                values = value_query[off_set:limit_count]

                # 返回结果
                a_machine_list = list()
                for value in values:
                    a_machine = dict()
                    a_machine_list.append(a_machine)
                    a_machine['id'] = value.id
                    a_machine['ssh_user'] = value.ssh_user
                    a_machine['ssh_ip'] = value.ssh_ip
                    a_machine['ssh_port'] = value.ssh_port
                    a_machine['create_time'] = value.create_time.strftime(
                        '%Y-%m-%d %H:%M:%S')

                # 返回成功
                a_dict = dict()
                a_dict['success'] = True
                a_dict['content'] = a_machine_list
                a_dict['item_count'] = count
                return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return json.dumps(a_dict)
Beispiel #11
0
 def check_login_valid(self):
     try:
         str_last_time = self.get_secure_cookie('last_time')
         if not str_last_time:
             return False
         when = float(str_last_time)
         now = time.time()
         if now - when > Config.LOGIN_EXPIRE_TIME:
             return False
         return True
     except Exception, e:
         Logger.error(e.message)
Beispiel #12
0
 def query_all_monitor_base_v2(cls, service_id):
     try:
         session = sessionmaker(bind=cls.engine)()
         with Defer(session.close):
             # 查询数据
             values = session.query(
                 Services.id,
                 Services.service_name).filter(Services.id != service_id)[:]
             # 返回结果
             return values
     except:
         Logger.error(traceback.format_exc())
         return None
Beispiel #13
0
    def query_user_list(cls, user_email, off_set, limit):
        try:
            # 转换类型
            off_set = int(off_set)
            limit = int(limit)
            if limit == -1:
                limit_count = None
            else:
                limit_count = off_set + limit

            # 创建session
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                # 查询数据
                count_query = session.query(Users.id)
                value_query = session.query(Users.id, Users.user_email,
                                            Users.user_right,
                                            Users.create_time)
                if user_email != '':
                    like_condition = '%' + user_email + '%'
                    count_query = count_query.filter(
                        Users.user_email.like(like_condition))
                    value_query = value_query.filter(
                        Users.user_email.like(like_condition))
                count = count_query.count()
                values = value_query[off_set:limit_count]

                # 返回结果
                a_user_list = list()
                for value in values:
                    a_user = dict()
                    a_user_list.append(a_user)
                    a_user['id'] = value.id
                    a_user['user_email'] = value.user_email
                    a_user['user_right'] = value.user_right
                    a_user['create_time'] = value.create_time.strftime(
                        '%Y-%m-%d %H:%M:%S')

                # 返回成功
                a_dict = dict()
                a_dict['success'] = True
                a_dict['content'] = a_user_list
                a_dict['item_count'] = count
                return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return json.dumps(a_dict)
Beispiel #14
0
 def get_user_info(cls, token, open_id):
     try:
         a_dict = {
             'access_token': token,
             'appid': Config.OAUTH_APP_ID,
             'openid': open_id
         }
         r = requests.post(Config.OAUTH_USER_URL, a_dict)
         if r.status_code != 200:
             Logger.error("get_user_info error, status_code[%s], content[%s]" % (r.status_code, r.content))
         return r.status_code, r.content
     except:
         Logger.error(traceback.format_exc())
         return None, None
Beispiel #15
0
    def edit_machine(cls, machine_id, ssh_user, ssh_ip, ssh_port):
        try:
            a_dict = dict()
            if not machine_id or not ssh_user or not ssh_ip or not ssh_port:
                a_dict['success'] = False
                a_dict['msg'] = 'data invalid'
                return json.dumps(a_dict)

            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                session.query(Machines).filter(
                    Machines.id == machine_id).update({
                        Machines.ssh_user:
                        ssh_user,
                        Machines.ssh_ip:
                        ssh_ip,
                        Machines.ssh_port:
                        ssh_port
                    })
                session.commit()
                db_machine_list = session.query(
                    Machines.id, Machines.ssh_user, Machines.ssh_ip,
                    Machines.ssh_port,
                    Machines.create_time).filter(Machines.id == machine_id)[:]
                a_dict['success'] = True
                a_dict['msg'] = 'ok'
                a_dict['content'] = content = list()
                if len(db_machine_list) > 0:
                    db_machine = db_machine_list[0]
                    a_machine = {
                        'id':
                        db_machine.id,
                        'ssh_user':
                        db_machine.ssh_user,
                        'ssh_ip':
                        db_machine.ssh_ip,
                        'ssh_port':
                        db_machine.ssh_port,
                        'create_time':
                        db_machine.create_time.strftime('%Y-%m-%d %H:%M:%S')
                    }
                    content.append(a_machine)
                    return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['msg'] = 'update db failed'
            return json.dumps(a_dict)
Beispiel #16
0
    def set_monitor_active(cls, service_id, expect_active):
        try:
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                session.query(Services).filter(
                    Services.id == service_id).update(
                        {Services.is_active: expect_active})
                session.commit()
                values = session.query(
                    Services.id, Services.user_email, Services.service_name,
                    Services.machine_id, Services.start_cmd, Services.stop_cmd,
                    Services.is_active, Services.auto_recover,
                    Services.mail_receiver,
                    Services.create_time).filter(Services.id == service_id)[:]
                a_dict = dict()
                a_dict['success'] = True
                a_dict['msg'] = 'ok'
                a_dict['content'] = content = list()
                if len(values) == 0:
                    return json.dumps(a_dict, ensure_ascii=False)
                else:
                    value = values[0]
                    a_service = dict()
                    content.append(a_service)
                    a_service['id'] = value.id
                    a_service['user_email'] = value.user_email
                    a_service['service_name'] = value.service_name
                    a_service['machine_id'] = value.machine_id
                    a_service['start_cmd'] = value.start_cmd
                    a_service['stop_cmd'] = value.stop_cmd
                    a_service['is_active'] = value.is_active
                    a_service['auto_recover'] = value.auto_recover
                    a_service['mail_receiver'] = value.mail_receiver
                    a_service['create_time'] = value.create_time.strftime(
                        '%Y-%m-%d %H:%M:%S')
                    a_service['healthy_code'] = 0
                    a_service['monitor_time'] = '1970-01-01 00:00:00'

                    # 获取最新监测状态
                    cls.__get_monitor_status(set(service_id), [a_service])
                    return json.dumps(a_dict, ensure_ascii=False)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['content'] = None
            a_dict['msg'] = 'update db failed'
            return json.dumps(a_dict, ensure_ascii=False)
Beispiel #17
0
 def get_user_info(cls, token, open_id):
     try:
         a_dict = {
             'access_token': token,
             'appid': config.server_oauth_app_id,
             'openid': open_id
         }
         r = requests.post(config.server_oauth_user_url, a_dict)
         if r.status_code != 200:
             Logger.error(
                 "get_user_info error, status_code[%s], content[%s]" %
                 (r.status_code, r.content))
         return r.status_code, r.content
     except:
         Logger.error(traceback.format_exc())
         return None, None
Beispiel #18
0
 def get_access_token(cls, code):
     try:
         a_dict = {
             'code': code,
             'appid': Config.OAUTH_APP_ID,
             'appsecret': Config.OAUTH_APP_SECRET,
             'redirect_uri': Config.OAUTH_REDIRECT_URL,
             'grant_type': 'auth_code',
         }
         r = requests.post(Config.OAUTH_TOKEN_URL, a_dict)
         if r.status_code != 200:
             Logger.error("get_access_token error, status_code[%s], content[%s]" % (r.status_code, r.content))
         return r.status_code, r.content
     except:
         Logger.error(traceback.format_exc())
         return None, None
Beispiel #19
0
 def get_access_token(cls, code):
     try:
         a_dict = {
             'code': code,
             'appid': config.server_oauth_app_id,
             'appsecret': config.server_oauth_app_secret,
             'redirect_uri': config.server_oauth_redirect_url,
             'grant_type': 'auth_code',
         }
         r = requests.post(config.server_oauth_token_url, a_dict)
         if r.status_code != 200:
             Logger.error(
                 "get_access_token error, status_code[%s], content[%s]" %
                 (r.status_code, r.content))
         return r.status_code, r.content
     except:
         Logger.error(traceback.format_exc())
         return None, None
Beispiel #20
0
    def query_machine_list_v2(cls):
        try:
            # 创建session
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                # 查询数据
                value_query = session.query(Machines.id, Machines.ssh_user,
                                            Machines.ssh_ip, Machines.ssh_port)
                values = value_query[:]

                # 返回结果
                a_machine_list = list()
                for value in values:
                    a_machine_list.append(value)
                return a_machine_list
        except:
            Logger.error(traceback.format_exc())
            return None
Beispiel #21
0
    def query_monitor_detail(cls, service_id):
        try:
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                values = session.query(
                    Services.id, Services.user_email, Services.service_name,
                    Services.machine_id, Machines.ssh_user, Machines.ssh_ip,
                    Machines.ssh_port, Services.start_cmd, Services.stop_cmd,
                    Services.is_active, Services.auto_recover,
                    Services.mail_receiver, Services.create_time).join(
                        Machines, Machines.id == Services.machine_id).filter(
                            Services.id == service_id)[:]
                if len(values) == 0:
                    return None

                monitor_detail = MonitorDetail()
                # Set monitor base information
                monitor_detail.base_info = values[0]
                # query check_cmd_list
                values = session.query(
                    CheckCmd.id, CheckCmd.local_check, CheckCmd.check_shell,
                    CheckCmd.operator, CheckCmd.check_value,
                    CheckCmd.good_match).filter(
                        CheckCmd.service_id == service_id)[:]
                for value in values:
                    if value.good_match == 1:
                        # healthy_check_list.append(check_cmd)
                        monitor_detail.healthy_check_list.append(value)
                    else:
                        # unhealthy_check_list.append(check_cmd)
                        monitor_detail.unhealthy_check_list.append(value)

                # query rely services
                values = session.query(
                    Services.id, Services.service_name).join(
                        ServiceRely,
                        Services.id == ServiceRely.rely_id).filter(
                            ServiceRely.service_id == service_id)[:]
                for value in values:
                    monitor_detail.rely_service_list.append(value)
                return monitor_detail
        except:
            Logger.error(traceback.format_exc())
            return None
Beispiel #22
0
    def add_one_user(cls, user_email, user_right):
        try:
            user = Users(user_email=user_email, user_right=user_right)
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                session.add(user)
                session.flush()
                session.commit()

                a_dict = dict()
                a_dict['success'] = True
                a_dict['msg'] = 'ok'
                return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['msg'] = 'insert into db error'
            return json.dumps(a_dict)
Beispiel #23
0
 def query_all_operator(cls):
     try:
         session = sessionmaker(bind=cls.engine)()
         with Defer(session.close):
             values = session.query(Operator.operator)[:]
             content = list()
             for value in values:
                 item = dict()
                 content.append(item)
                 item['operator'] = value.operator
             result = dict()
             result['success'] = True
             result['content'] = content
             return json.dumps(result, ensure_ascii=False)
     except:
         Logger.error(traceback.format_exc())
         a_dict = dict()
         a_dict['success'] = False
         a_dict['content'] = list()
         return json.dumps(a_dict, ensure_ascii=False)
Beispiel #24
0
    def delete_network_list(cls, network_id_list):
        try:
            # 过滤参数
            split_id_list = network_id_list.split(',')
            join_id_list = list()
            for user_id in split_id_list:
                if user_id != '':
                    join_id_list.append(user_id)
            if len(join_id_list) == 0:
                a_dict = dict()
                a_dict['success'] = 'false'
                a_dict['content'] = list()
                return json.dumps(a_dict)

            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 添加用户
            count = session.query(NetworkList).filter(
                NetworkList.id.in_(join_id_list)).delete(
                    synchronize_session=False)
            # 关闭session
            session.commit()
            session.close()

            if count <= 0:
                a_dict = dict()
                a_dict['success'] = 'false'
                a_dict['content'] = list()
                return json.dumps(a_dict)

            # 返回成功
            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = join_id_list
            return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = list()
            return json.dumps(a_dict)
Beispiel #25
0
    def edit_user(cls, user_id, user_right):
        try:
            # 创建session
            session = sessionmaker(bind=cls.engine)()

            # 更新并获取用户信息
            count = session.query(UserList).filter(
                UserList.id == user_id).update(
                    {UserList.user_right: user_right})
            if count != 1:
                session.commit()
                session.close()
                a_dict = dict()
                a_dict['success'] = 'false'
                a_dict['content'] = dict()
                return json.dumps(a_dict)

            values = session.query(UserList).filter(UserList.id == user_id)
            # 关闭session
            session.commit()
            session.close()

            # 返回成功
            a_user = dict()
            for value in values:
                a_user['user_id'] = value.id
                a_user['user_account'] = value.user_account
                a_user['user_right'] = value.user_right
                a_user['update_time'] = datetime.datetime.fromtimestamp(
                    value.update_time).strftime('%Y-%m-%d %H:%M:%S')

            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = a_user
            return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = dict()
            return json.dumps(a_dict)
Beispiel #26
0
    def add_user_account(cls, user_account, user_right):
        try:
            # 创建用户
            now = int(time.time())
            user = UserList(user_account=user_account,
                            user_right=user_right,
                            update_time=now)
            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 添加用户
            session.add(user)
            # 获取新id
            session.flush()
            new_user_id = user.id
            # 关闭session
            session.commit()
            session.close()

            # 插入成功,返回结果
            a_user_list = list()
            a_user = dict()
            a_user_list.append(a_user)
            a_user['user_id'] = new_user_id
            a_user['user_account'] = user_account
            a_user['user_right'] = user_right
            a_user['update_time'] = datetime.datetime.fromtimestamp(
                now).strftime('%Y-%m-%d %H:%M:%S')

            # 返回成功
            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = a_user_list
            a_dict['item_count'] = 1
            return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return json.dumps(a_dict)
Beispiel #27
0
    def add_one_machine(cls, ssh_user, ssh_ip, ssh_port):
        try:
            machine = Machines(ssh_user=ssh_user,
                               ssh_ip=ssh_ip,
                               ssh_port=ssh_port)
            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                session.add(machine)
                session.flush()
                session.commit()

                a_dict = dict()
                a_dict['success'] = True
                a_dict['msg'] = 'ok'
                return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['msg'] = 'insert into db error'
            return json.dumps(a_dict)
Beispiel #28
0
    def get_hour_win(self, ad_network_id, day, hour):
        """
        :type ad_network_id: str
        :type day: datetime
        :type hour: str
        :rtype: int
        """
        if config.server_local_fake:
            return random.randint(100, 10000)

        win = None
        try:
            dt = day.strftime("%Y%m%d")
            win = self.win_redis.get('%s|%s|%s|win' %
                                     (ad_network_id, dt, hour))
        except:
            Logger.error(traceback.format_exc())
        finally:
            if not win:
                win = 0
            win = int(win)
            return win
Beispiel #29
0
    def query_all_monitor_base(cls, service_name, off_set, limit):
        try:
            off_set = int(off_set)
            limit = int(limit)
            if limit == -1:
                limit_count = None
            else:
                limit_count = off_set + limit

            session = sessionmaker(bind=cls.engine)()
            with Defer(session.close):
                # 查询数据
                value_query = session.query(Services.id, Services.service_name)
                if service_name != '':
                    like_condition = '%' + service_name + '%'
                    value_query = value_query.filter(
                        Services.service_name.like(like_condition))

                values = value_query[off_set:limit_count]
                # 返回结果
                service_list = list()
                for value in values:
                    a_service = dict()
                    service_list.append(a_service)
                    a_service['id'] = value.id
                    a_service['service_name'] = value.service_name

                # 返回成功
                a_dict = dict()
                a_dict['success'] = True
                a_dict['content'] = service_list
                return json.dumps(a_dict, ensure_ascii=False)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = False
            a_dict['content'] = list()
            return json.dumps(a_dict, ensure_ascii=False)
Beispiel #30
0
    def add_network(cls, network_name):
        try:
            # 创建渠道
            now = int(time.time())
            network = NetworkList(network=network_name, update_time=now)
            # 创建session
            session = sessionmaker(bind=cls.engine)()
            # 添加渠道
            session.add(network)
            # 获取新id
            session.flush()
            new_network_id = network.id
            # 关闭session
            session.commit()
            session.close()

            # 插入成功,返回结果
            a_network_list = list()
            a_network = dict()
            a_network_list.append(a_network)
            a_network['network_id'] = new_network_id
            a_network['network_name'] = network_name
            a_network['update_time'] = datetime.datetime.fromtimestamp(
                now).strftime('%Y-%m-%d %H:%M:%S')

            # 返回成功
            a_dict = dict()
            a_dict['success'] = 'true'
            a_dict['content'] = a_network_list
            a_dict['item_count'] = 1
            return json.dumps(a_dict)
        except:
            Logger.error(traceback.format_exc())
            a_dict = dict()
            a_dict['success'] = 'false'
            a_dict['content'] = list()
            a_dict['item_count'] = 0
            return json.dumps(a_dict)