Пример #1
0
async def prelogin(request):
    if "sid" not in request.query:
        raise web.HTTPClientError()
    try:
        uid = int(request.query["sid"])
    except ValueError:
        raise web.HTTPClientError()
    exp = int(app["redis"].get(f"uid:{uid}:exp"))
    return web.json_response({"user": {"bannerNetworkId": None, "reg": 0,
                                       "paymentGroup": "",
                                       "preloginModuleIds": "", "id": uid,
                                       "avatariaLevel": get_level(exp)}})
Пример #2
0
    async def import_data(self, request):
        data = await request.post()

        if 'payload' not in data:
            return web.Response(status=500, text='no payload found')

        self.logger.debug("received import request {0}".format(
            data['payload']))

        try:
            imports = json.loads(data['payload'])
            for line in imports:
                if 'pattern' in line and 'command' in line and 'enabled' in line:
                    cron_item = CronItem(command=line['command'])
                    cron_item.set_all(line['pattern'])
                    cron_item.enable(line['enabled'])
                    self.logger.debug(
                        "received new job from import {0}, broadcasting it.".
                        format(cron_item))
                    broadcast(self.udp_port,
                              UdpSerializer.dump(cron_item, self.hash_key))
                else:
                    self.logger.error(
                        "import element invalid: {0}".format(line))
            return web.HTTPOk()
        except ValueError as e:
            self.logger.error(e)
            return web.HTTPClientError(text='invalid json received')
Пример #3
0
async def social(request):
    data = await request.post()
    if not data["method"]:
        raise web.HTTPClientError()
    if data["method"] == "getTestUsers":
        return web.json_response({"uids": [str(data["user_id"])]})
    elif data["method"] in ["getFriends", "getAppFriends"]:
        return web.json_response([])
    elif data["method"] == "getProfiles":
        return web.json_response([{"id": data["uids"]}])
Пример #4
0
async def mw_bot_ready(request, handler):
    """Wait until the bot is ready before dispatching
    the first request. Some of the website stuff
    depends on the bot's internal cache being ready"""
    if not request.app["bot"].is_ready():
        return web.HTTPClientError(
            text=
            "Error 425 Website is still booting up\nPlease try again in about 30 seconds"
        )
    return await handler(request)
Пример #5
0
async def Main(self):
    try:
        StopDate = datetime.now().strftime("%d.%m.%Y")
        StartDate = (datetime.now() + timedelta(days=-1)).strftime("%d.%m.%Y")
        db = self.app.get('db')

        auth = await CustomApi.session(**config['api'])

        if auth.get('error') != 0:
            print('dropped by authorization')
        else:
            request_api = await CustomApi.ordersbetween(StartDate, StopDate, auth['Session_id'])

            if request_api.get('error') != 0:
                print('dropped by data request')
            else:
                for client_phone in request_api['orders']:
                    client_phone['phone'] = await CustomApi.info_client(client_phone['contr_id'], auth['Session_id'])
                    inserter = {}
                    inserter['contr_id'] = client_phone.get('contr_id')
                    inserter['fone_cell'] = urllib.parse.unquote(client_phone.get('phone').get('fone_cell'))[1:]
                    summ = 0
                    if 'payments' in client_phone:
                        if client_phone.get('payments') is not None and len(client_phone.get('payments')) > 0 :
                            inserter['date_pay'] = datetime.strptime(client_phone.get('payments')[0].get('date_pay'),
                                                                     '%d.%m.%Y+%H:%M:%S')
                            for x in client_phone.get('payments'):
                                summ += float(x.get('debet').replace(',', '.'))

                            inserter['debet'] = str(summ)
                        else:
                            print('Payments exists but no first element found')
                    else:
                        print('No payments found')

                    if inserter.get('debet') is not None \
                            and inserter.get('fone_cell') is not None\
                            and inserter.get('fone_cell').strip() != '':
                        pprint(inserter)
                        phone_exists = await get_one_row(Data.check_phone(inserter.get('fone_cell')), db)
                        if phone_exists is not None:
                            phone_exists = dict(phone_exists)
                            if len(phone_exists) >0:
                                cur_debet = float(inserter['debet']) + float(phone_exists.get('debet', 0))
                                updater = {}
                                updater['debet'] =  str(cur_debet)
                                db_pdate = await get_apdate(Data.update(updater,inserter.get('fone_cell')), db)

                        else:
                            db_data = await get_insert_row(Data.get_insert(inserter), db)
            #send tags
            await api(db)





            return web.json_response({'Data': 1})

    except Exception as e:
        logging.debug(str(e))
        raise web.HTTPClientError(body=str(e))