Example #1
0
async def get_list(request):
    """Get the release list."""
    ua = request.headers.get('User-Agent', None)
    _REQUESTS.append((time.time(), ua))

    with _LOCK:
        return response_json(_LIST)
Example #2
0
async def registry(request):
    registration = RegistryRetriever(session).register_user(
        request.json['username'], request.json['password'],
        request.json['email'])
    return response_json({"result": registration},
                         headers=HEADERS,
                         status=registration['status'])
Example #3
0
        async def decorated_function(request, *args, **kwargs):
            payload = check_jwt_status(request)

            if payload:
                response = await f(request, payload, *args, **kwargs)
                return response
            else:
                return response_json({'status': 'not_authorized'}, 403)
Example #4
0
async def test(request):
    access_token = request.args.get('access_token')
    request_data = request.json
    print(f'request: {request.body.decode()}')
    url = f'https://oapi.dingtalk.com/robot/send?access_token={access_token}'
    data = get_dingtalk_data(request_data)

    response = await post(url, data)
    print(f'{url}: {response}')
    return response_json(request.json)
Example #5
0
async def getinfo(req, tag):
    global Q_normal
    if Develop:
        rtn = mreq.getinfo(req.args, tag, req.path, req.query_string)
    else:
        job = Q_normal.enqueue_call(
            func=mreq.getinfo,
            args=[req.args, tag, req.path, req.query_string],
            timeout=20)
        while True:
            await sleep(.01)
            if job.result is not None:
                rtn = job.result
                break
    return response_json(rtn)
Example #6
0
async def analytics(request):
    """Return some analytics."""
    requests = {}
    total = 0
    for req in _REQUESTS:
        ua = req[1]
        if ua not in requests:
            requests[ua] = 1
        else:
            requests[ua] += 1

        total += 1

    requests['total'] = total
    return response_json(requests)
Example #7
0
async def get_user(request, user_id):
    user = UserRetriever(session).user_data(user_id)
    return response_json({'response': user},
                         headers=HEADERS,
                         status=user['status'])
Example #8
0
async def get_users(request):
    users = UserRetriever(session).list_users()
    return response_json({'user_data': users}, headers=HEADERS)
Example #9
0
async def get_list(request):
    """Get the add-on list which matches a set of filters."""
    args = request.args
    ua = request.headers.get('User-Agent', None)
    _REQUESTS.append((time.time(), ua))

    # Defaults based on 0.6.X
    arch = args['arch'][0] if 'arch' in args else None
    node = args['node'][0] if 'node' in args else '57'
    python = \
        args['python'][0].split(',') if 'python' in args else ['2.7', '3.5']
    test = args['test'][0] == '1' if 'test' in args else False
    query = args['query'][0] if 'query' in args else None
    type_ = args['type'][0] if 'type' in args else None

    if 'version' in args:
        version = args['version'][0]
    elif ua is not None and (ua.startswith('mozilla-iot-gateway/')
                             or ua.startswith('webthings-gateway/')):
        version = ua.split('/')[1].split(' ')[0]
    else:
        version = '0.6.1'

    version = semver.parse_version_info(version)

    results = []
    with _LOCK:
        for addon in _LIST:
            packages = check_addon(
                addon,
                arch,
                node,
                python,
                test,
                query,
                type_,
                version,
            )

            if packages:
                if version.major == 0 and version.minor <= 6:
                    results.append({
                        'name': addon['id'],
                        'display_name': addon['name'],
                        'description': addon['description'],
                        'author': addon['author'],
                        'homepage': addon['homepage_url'],
                        'packages': {
                            package['architecture']: {
                                'version': package['version'],
                                'url': package['url'],
                                'checksum': package['checksum'],
                            }
                            for package in packages
                        },
                        'api': 2,
                    })
                elif version.major == 0 and version.minor <= 9:
                    results.extend([{
                        'name': addon['id'],
                        'display_name': addon['name'],
                        'description': addon['description'],
                        'author': addon['author'],
                        'homepage': addon['homepage_url'],
                        'license': addon['license_url'],
                        'version': package['version'],
                        'url': package['url'],
                        'checksum': package['checksum'],
                        'type': addon['primary_type'],
                    } for package in packages])
                else:
                    results.extend([{
                        'id': addon['id'],
                        'name': addon['name'],
                        'description': addon['description'],
                        'author': addon['author'],
                        'homepage_url': addon['homepage_url'],
                        'license_url': addon['license_url'],
                        'version': package['version'],
                        'url': package['url'],
                        'checksum': package['checksum'],
                        'primary_type': addon['primary_type'],
                    } for package in packages])

    return response_json(results)
Example #10
0
async def offer(request):
    session = Session()
    return response_json({'auth': 'offer'}, headers=HEADERS, status=200)
Example #11
0
async def create(request):
    session = Session()
    return response_json({"result": 'create'}, headers=HEADERS, status=200)