Esempio n. 1
0
def dang_ki():
    user = User('huynhtan06',
                hashlib.sha256('123456'.encode("utf-8")).hexdigest(),
                2,
                first_name="HT06")
    MySql.save_to_db(user)
    print(user.password)
    return {"hello": "ok"}
Esempio n. 2
0
def put_event(event_id):
    post_data = request.get_json()
    user_id = Helps.get_user_id_from_headers()
    event_own_id = list(map(int, event_id.split('_')))
    user_id_of_event = MySql.get_user_id_of_event(event_own_id[0])

    if user_id_of_event == user_id and event_own_id[1] == user_id:
        local_start_date = Helps.format_time(post_data.get('start_date'))
        local_end_date = Helps.format_time(post_data.get('end_date'))
        list_type = MySql.get_all_type()

        if Helps.is_check_device_Invalid(post_data, list_type, local_start_date, local_end_date, event_own_id[0]):
            try:
                MySql.update_event(event_own_id[0], local_start_date, local_end_date, post_data['text'])
                MySql.save_to_db()
            except IndentationError:
                MySql.rollback()
                return {"action": "error", "message": "ERROR: Insert database error"}
            if Helps.insert_data_child(post_data, list_type, event_id=post_data['id_old']):
                return {"action": "success", "tid": post_data['id'], "message": "UPDATED"}
            else:
                return {"action": "error", "message": "ERROR: Insert database error"}
        else:
            return {"action": "error", "message": "ERROR: The device has been used"}
    return {"action": "error", "message": "Failed to update other people's events"}
Esempio n. 3
0
def get_events():
    user_id = Helps.get_user_id_from_headers()
    department_id = MySql.get_department_of_user(user_id)
    '''xu li light box'''
    data = Helps.config_lightbox(user_id, department_id)
    '''xu li event cua user'''
    list_event = Helps.config_event(user_id)
    return jsonify({'data': list_event, 'collections': data})
Esempio n. 4
0
def get_events():
    user_id = Helps.get_user_id_from_headers()
    department_id = MySql.get_department_of_user(user_id)

    data_color = Helps.random_color_user(user_id, department_id)
    data = Helps.config_lightbox(user_id, department_id)
    list_event = Helps.config_event_for_department(data_color, department_id)
    return jsonify({'data': list_event, 'collections': data})
Esempio n. 5
0
def find_list():
    user_id = Helps.get_user_id_from_headers()
    department_id = MySql.get_department_of_user(user_id)
    a = list(map(int, request.get_json()['list_user'].split(',')))

    data_color = Helps.random_color_search(a)
    data = Helps.config_lightbox(user_id, department_id)
    list_event = Helps.config_event_for_search(data_color, a)
    return jsonify({'data': list_event, 'collections': data})
Esempio n. 6
0
def main():
    index = [
        'depTime', 'addtime', 'flightNumber', 'cabin', 'seats', 'last_cabin',
        'last_seats', 'price', 'last_price', 'invalid', 'bId', 'preTime'
    ]
    df_all = pd.DataFrame(columns=index)
    db = MySql()
    for i in range(-30, 30):
        yd = datetime.now() - timedelta(days=i)
        yd = yd.strftime('%Y%m%d')
        for id in db.get_id('WN', yd):
            item = db.get_series(id, yd)
            try:
                df_all = wn_analyst(item, df_all)
            except:
                import traceback
                traceback.print_exc()
                continue

    df_all.to_csv('src/data/price_diff.csv', encoding='utf_8_sig')
Esempio n. 7
0
def Login():
    post_data = request.get_json()
    username = post_data['user_name']
    user = MySql.get_user_by_user_name(username)
    if user and user.password == hashlib.sha256(
            post_data["password"].encode("utf-8")).hexdigest():
        access_token = create_access_token(identity=user.id,
                                           expires_delta=False)
        return jsonify(status="success", access_token=access_token), 200
    else:
        return jsonify(status="error",
                       message="Usename or password is error"), 200
Esempio n. 8
0
def insert_event():
    post_data = request.get_json()
    user_id = Helps.get_user_id_from_headers()
    department_id = MySql.get_department_of_user(user_id)

    local_start_date = Helps.format_time(post_data.get('start_date'))
    local_end_date = Helps.format_time(post_data.get('end_date'))
    list_type = MySql.get_all_type()

    if Helps.is_check_device_Invalid(post_data, list_type, local_start_date,
                                     local_end_date):
        try:
            event = Event(local_start_date, local_end_date,
                          post_data.get('text'), user_id, department_id)
            MySql.save_to_db(event)
        except IndentationError:
            MySql.rollback()
            return {
                "action": "error",
                "message": "ERROR: Insert database error"
            }
        if Helps.insert_data_child(post_data, list_type, event=event):
            return {
                "action": "success",
                "tid": event.id,
                "message": "Inserted"
            }
        else:
            return {
                "action": "error",
                "message": "ERROR: Insert database error"
            }
    return {"action": "error", "message": "ERROR: The device has been used"}
Esempio n. 9
0
def main():
    trainSet = loadData()
    mysql = MySql('locations', 'leo', 'mm123456', collection='new_provices')
    cursor = connect('lagou', 'predicts')
    results = mysql.find()

    for result in results:
        province = result.get('Province')
        city = result.get('city')
        county = result.get('county')
        lng = float(result.get('Longitude'))
        lat = float(result.get('latitude'))
        neighbors = get_neighbors(trainSet, [lng, lat], 1)
        assume = predict(neighbors)
        cursor.insert({
            'province': province,
            'city': city,
            'county': county,
            'lng': lng,
            'lat': lat,
            'value': assume
        })

    mysql.close()
Esempio n. 10
0
def delete_event(event_id):
    user_id = Helps.get_user_id_from_headers()
    event_own_device = list(map(int, event_id.split('_')))
    user_id_of_event = MySql.get_user_id_of_event(event_own_device[0])

    if user_id_of_event is None:
        return {"action": "success", "message": "DELETED"}

    if event_own_device[1] == user_id:
        event_device = MySql.get_event_device_by_id(event_own_device[2])
        MySql.remove_from_db(event_device)
        MySql.save_to_db()
        return {"action": "success", "message": "DELETED"}
    return {"action": "error", "message": "Failed to delete other people's events"}
Esempio n. 11
0
def get_list():
    list_type = MySql.get_all_type2()
    return jsonify([u.list_type_json() for u in list_type])
Esempio n. 12
0
def delete_event(event_id):
    user_id = Helps.get_user_id_from_headers()
    user_id_of_ev = MySql.get_user_id_of_event(event_id)
    if user_id_of_ev is None:
        return {"action": "success", "message": "DELETED"}

    if user_id_of_ev == user_id:
        for a in MySql.get_devices_by_event_id(event_id):
            MySql.remove_from_db(a)
        for b in MySql.get_users_by_event_id(event_id):
            MySql.remove_from_db(b)
        ev = MySql.get_event_by_id(event_id)
        MySql.remove_from_db(ev)
        MySql.save_to_db()
        return {"action": "success", "message": "DELETED"}
    else:
        a = MySql.get_event_user_by_event_member(event_id, user_id)
        MySql.remove_from_db(a)
        MySql.save_to_db()
        return {"action": "success", "message": "DELETED"}
Esempio n. 13
0
def get_list_user_search():
    list_user = MySql.get_all_user()
    return jsonify([u.json_list_user() for u in list_user])
Esempio n. 14
0
def delete_event(event_id):
    user_id = Helps.get_user_id_from_headers()
    event_own_id = list(map(int, event_id.split('_')))
    user_id_of_event = MySql.get_user_id_of_event(event_own_id[0])

    if user_id_of_event is None:
        return {"action": "success", "message": "DELETED"}

    if user_id_of_event == user_id and event_own_id[1] == user_id:
        for a in MySql.get_devices_by_event_id(event_own_id[0]):
            MySql.remove_from_db(a)
        for b in MySql.get_users_by_event_id(event_own_id[0]):
            MySql.remove_from_db(b)
        ev = MySql.get_event_by_id(event_own_id[0])
        MySql.remove_from_db(ev)
        MySql.save_to_db()
        return {"action": "success", "message": "DELETED"}
    if user_id_of_event != user_id and user_id == event_own_id[1]:
        a = MySql.get_event_user_by_event_member(event_own_id[0], user_id)
        MySql.remove_from_db(a)
        MySql.save_to_db()
        return {"action": "success", "message": "DELETED"}
    return {
        "action": "error",
        "message": "Failed to delete other people's events"
    }
Esempio n. 15
0
class Run:

    db = MySql()
    hand = Handle()
    max_num = settings.CON_CURRENT_NUM
    g_pool = []
    carrier_map = dict(
        ZE={
            'days': 30,
            'filters': [Volcano]
        },
        TW={
            'days':30,
            'filters': [Volcano]
        }
    )
    yesterday = util.yesterday()

    def run_item(self, item, ts):
        item = self.hand.run_base(item)
        flight = item.get('flightNumber')
        id = item.get('id')
        logging.info('go on id: ' + str(id))
        series = util.get_history(flight, id)
        if series:
            ret = self.hand.run_active(series)
            item.update(ret)
        else:
            series = []
        if int(ts) <= int(self.yesterday):  # 如果是昨天及以前的数据, 则入库储存
            self.db.add_li(item, 'base_ticket', ['id'])
            self.db.add_li(series, 'history_' + ts, ['flightNumber', 'addtime'])

    def run_all(self, ts):
        carrier_all = settings.CARRIER
        self.db.create_table('history_' + ts)
        for carrier in carrier_all:
            logging.info('%s in %s is begin:' % (carrier, ts))
            for item in util.get_id(carrier, ts):
                self.g_pool.append(gevent.spawn(self.run_item, item, ts))
                if len(self.g_pool) > self.max_num:
                    gevent.joinall(self.g_pool)
                    self.g_pool.clear()

    def ana_all(self, ts=None, carriers=None):
        """
        分析全部数据
        :param ts:
        :param carriers:
        :return:
        """
        carriers = carriers or settings.CARRIER
        if ts:
            ts_date = datetime.strptime(ts, '%Y%m%d')
        else:
            ts_date = datetime.now() + timedelta(days=1)
        for carrier in carriers:
            data_map = self.carrier_map.get(carrier)
            if not data_map:
                continue
            logging.info('start analysis carrier : ' + carrier)
            days = data_map.get('days')
            filters = data_map.get('filters')
            mans = []
            for filter in filters:
                mans.append(filter(carrier))
            for day in range(days):
                this_date = (ts_date + timedelta(days=day)).strftime('%Y%m%d')
                for item in util.get_id(carrier, this_date, tp=4):
                    # self.ana_item(item, filters)
                    self.g_pool.append(gevent.spawn(self.ana_item, item, mans))
                    if len(self.g_pool) > self.max_num:
                        gevent.joinall(self.g_pool)
                        self.g_pool.clear()
                for man in mans:
                    man.record()

    def ana_item(self, item, mans):
        flight = item.get('flightNumber')
        id = item.get('id')
        logging.info('go on id: %s and fn: %s ' % (str(id), flight))
        series = util.get_history(flight, id)
        for man in mans:
            man.run(series)
Esempio n. 16
0
from utils.mongo import connect
from utils.mysql import MySql

mysql = MySql('locations', 'leo', 'mm123456', collection='new_provices')
locations = connect('lagou', 'location')

cities = []
try:
    for location in locations.find():
        city = location.get('city')
        new_city = city + '%'
        result = mysql.find(mohu=True, city=new_city)
        try:
            province = result.get('Province')
        except Exception:
            print(city)
        locations.update_one({'city': city}, {'$set': {'province': province}})
finally:
    mysql.close()