Example #1
0
def photos_verify(request):
    """ Just verify if picture is valid """
    if request.method == 'GET':
        return json_response({'status': 'FAIL'}, 403)
    elif request.method == 'POST':
        photo = SinglePhotoForm(request.POST, request.FILES)
        if photo.is_valid():
            return json_response({'status': 'OK'})
        else:
            return json_response({'status': 'FAIL'}, 403)
Example #2
0
def me(request):
    session = yield from get_session(request)
    try:
        user_id = session['user_id']
    except KeyError:
        return json_response({})
    else:
        with(yield from request.app['db']) as conn:
            query = sa.select([models.users]).where(models.users.c.id == user_id)
            u = yield from conn.execute(query)
            user = yield from u.fetchone()
            schema = schemas.UserSchema()
            result = schema.dump(user)
            return json_response(result.data)
Example #3
0
def pugs_json(request):
    from pugs import pugs
    data = []
    for i,pug in enumerate(pugs):
        data.append({'id': i, 'url': pug['url'] , 'url_small': pug['url'], 'type': pug['ratio'] })

    return json_response( data )
Example #4
0
def photos_upload(request):
    """ Upload photos """
    if request.method == 'POST':
        photo = SinglePhotoForm(request.POST, request.FILES)
        if photo.is_valid():
            genitalia = Genitalia(name='',image=request.FILES['photo'])
            already_uploaded = Genitalia.objects.filter(hash=genitalia.get_hash())
            if not already_uploaded:
                genitalia.save()
                return json_response({'status': 'OK'})
            else:
                return json_response({'status': 'FAIL','error': 'Picture already uploaded'}, 403)
        else:
            return json_response({'status': 'FAIL','error': 'Not a valid picture'}, 403)

    return json_response({'status': 'FAIL'}, 403)
Example #5
0
def users(request, **kwargs):
    with(yield from request.app['db']) as conn:
        query = sa.select([models.users])
        ret = yield from conn.execute(query)
        schema = schemas.UserSchema(many=True)
        result = schema.dump(list(ret))
        return json_response(result.data)
Example #6
0
def predict():
    values = zip(df['Date'], df['Vam co dong'])
    aut = zip(labels, df['Vam co dong'][-3:])
    value = []
    input_variables = data
    # print(input_variables)
    flow = [flask.request.form['flow']]
    input_variables.append(flow)
    input_variables = fit_data(input_variables)
    # print("a",input_variables)
    predictions = json_response(input_variables, endpoint, lookback)
    # print(json_response)
    prediction = round(
        predict_transf(predictions['predictions']).flatten().tolist()[0], 2)
    # print("predict", prediction)
    value.append((prediction))
    input_variables = input_variables.tolist()
    # print(type(input_variables))
    pre = predictions['predictions'][0]
    # print(type(pre), pre)
    input_variables.append(pre)
    predictions_2 = json_response(input_variables, endpoint, lookback)
    prediction_2 = round(
        predict_transf(predictions_2['predictions']).flatten().tolist()[0], 2)
    value.append(prediction_2)
    input_variables.append(predictions_2['predictions'][0])
    # print('after+1', input_variables)
    # input_variables = fit_data(input_variables)
    # print(inputs(input_variables, lookback))
    prediction_3 = json_response(input_variables, endpoint, lookback)
    # print('json2', json_response.text)
    prediction_3 = round(
        predict_transf(prediction_3['predictions']).flatten().tolist()[0], 2)
    value.append(prediction_3)
    chart = zip(labels, df['Vam co dong'][-3:], value)
    # prediction = model.predict(input_variables)[0]

    return flask.render_template('index.html',
                                 predict_1=prediction,
                                 predict_2=prediction_2,
                                 predict_3=prediction_3,
                                 values=values,
                                 aut=aut,
                                 chart=chart,
                                 charts=zip(labels, value),
                                 predict=zip(date, predict_data),
                                 dubao=zip(df["Date"][-3:], value))
def uploaddata():
    auth = request.authorization
    if auth.username != 'admin' or auth.password != 'thesecret':
        abort(401)
    directory = request.args.get('dir')
    load_data(directory)
    #fluxo de callback pendente.
    return json_response({'directory': directory, 'status': 'OK'})
def home():
    auth = request.authorization
    if auth.username != 'admin' or auth.password != 'thesecret':
        abort(401)
    return json_response({
        'username': auth.username,
        'password': auth.password,
        'status': 'OK'
    })
Example #9
0
 async def wrapped(request, **kwargs):
     limit = int(request.GET.get('limit', 20))
     offset = int(request.GET.get('offset', 0))
     n_list = await handler(request, limit=limit, offset=offset)
     items = [dict(row) for row in n_list] if is_iterable(n_list) else []
     result = {
         'meta': {
             'offset': offset,
             'limit': limit
         },
         'items': items
     }
     return json_response(result, **kwargs)
Example #10
0
def notifications(request, team=None, limit=20, offset=0):
    limit = int(request.GET.get('limit', 20))
    offset = int(request.GET.get('offset', 0))
    with(yield from request.app['db']) as conn:
        nf = models.notifications.alias()
        us = models.users.alias()
        items = []
        nf_count = 0
        trans = yield from conn.begin()
        session = yield from get_session(request)
        user_id = session['user_id'] if 'user_id' in session else None
        try:
            nf_count = yield from conn.scalar(sa.select([sa.func.count(nf.c.id)])
                                          .where(nf.c.team == team['id']))

            nf_query = sa.select([nf])\
                .where(nf.c.team == team["id"])\
                .order_by(sa.desc(nf.c.creation_date))\
                .limit(limit)\
                .offset(offset)
            nfs = yield from conn.execute(nf_query)
            for n in nfs:
                item = dict(n)
                author_query = sa.select([us]).where(us.c.id == item["author"])
                author = yield from conn.execute(author_query)
                item["author"] = yield from author.fetchone()
                items.append(item)
        except Exception:
            yield from trans.rollback()
        else:
            yield from trans.commit()

        schema = schemas.NotificationSchema(many=True)
        result = {
            'meta': {
                'offset': offset,
                'limit': limit,
                'total': nf_count,
                'user_id': user_id
            },
            'items': schema.dump(items).data
        }

        return json_response(result)
Example #11
0
def photos_json(request):
    """ Server the photos as a JSON """
    data = cache.get( 'photos_json' ) or []

    # If no data
    if not data:
        for photo in Genitalia.objects.filter(approved=True).reverse():
        #for photo in Genitalia.objects.filter(approved=True):
            small = small_photo(photo)
            big   = big_photo(photo)
            data.append({
                    'id':           photo.id,
                    'url':           big['url'],
                    'url_small':    small['url'],
                    'type':         'size-%dx%d' % small['size']
                })
        cache.set('photos_json', data, 1200*10 )

    return json_response( data )
Example #12
0
def teams(request):
    with(yield from request.app['db']) as conn:
        trans = yield from conn.begin()
        result = []
        try:
            query = sa.select([models.teams])
            teams = yield from conn.execute(query)
            for row in teams:
                item = dict(row)
                owner = yield from conn.execute(sa.select([models.users])\
                                                        .where(models.users.c.id == item['owner']))
                item['owner'] = yield from owner.fetchone()
                result.append(item)
        except Exception:
            yield from trans.rollback()
        else:
            yield from trans.commit()
        schema = schemas.TeamSchema(many=True)
        return json_response(schema.dump(result).data)
Example #13
0
def remove_notification(request):
    id = request.path.split('/')[-1]
    result = {'error': ''}
    if id:
        session = yield from get_session(request)
        user_id = session['user_id'] if 'user_id' in session else None
        if not user_id:
            result = {'error': 'You must be loged in to remove item'}
        else:
            with(yield from request.app['db']) as conn:
                trans = yield from conn.begin()
                try:
                    query = sa.select([models.notifications])\
                        .where(models.notifications.c.id == id)
                    res = yield from conn.execute(query)
                    nf = yield from res.fetchone()
                    if not nf:
                        result = {'error': 'No such item'}
                    elif nf['author'] != user_id:
                        result = {'error': 'You can not remove this item. Its not yours, you silly dog!'}
                    else:
                        if (yield from conn.execute(models.notifications.delete()\
                                                    .where(models.notifications.c.id == id))):
                            result = {"id": id}
                        else:
                            result = {'erorr': 'Error on save'}
                except Exception as e:
                    print(str(e))
                    yield from trans.rollback()
                else:
                    yield from trans.commit()
    else:
        print('Can not delete noitfication: no id')
        result = {'error': 'Can not delete noitfication: no id'}
    print(json.dumps(result))
    return json_response(json.dumps(result))
def not_found(e):
    return json_response(status=404)