コード例 #1
0
ファイル: web.py プロジェクト: nyddle/snitch-django
def index(app=None):
    db_manager = SqlrMongoManager(
        host=current_app.config['MONGO_HOST'],
        port=current_app.config['MONGO_PORT'],
        db=current_app.config['DB'])
    if request.method == 'POST':
        #request.args
        filters = {}
        if app is not None and app != 'All':
            filters['app'] = app
        if 'from' in request.args:
            filters['from'] = request.args['from']
        if 'to' in request.args:
            filters['to'] = request.args['to']
        if 'type' in request.args:
            filters['etype'] = request.args['type']
        events_list = db_manager.get_events(session['user']['token'],
                                            **filters)
        types_list = db_manager.get_types(session['user']['token'])
        apps_list = db_manager.get_apps(session['user']['token'])
        return jsonify({
            'events': events_list,
            'apps': apps_list,
            'types': types_list
        })

    # todo: refactor for use one mongo session
    return render_template('index.html')
コード例 #2
0
ファイル: api.py プロジェクト: nyddle/snitch-django
def get():
    """
    JSON params:
    Required:
    token - string
    Optional:
    app - str or list
    date_interval - list with to elems. 0 is min, 1 is max. If you don't need
    max - set it to 0;
    type - string.

    Response:
    result: bool;
    reason: string(returned if result is False;
    events: list; returned if result is True;
    """
    db_manager = SqlrMongoManager(host=current_app.config['MONGO_HOST'],
                                  port=current_app.config['MONGO_PORT'],
                                  db=current_app.config['DB'])
    user = db_manager.validate_token(request.json['token'])
    if not user:
        return jsonify({'result': False, 'reason': 'Wrong token'})

    params = {'app': ['app:default'] if not 'app' in request.json
              else request.json['app']
              if isinstance(request.json['app'], list)
              else [request.json['app']],

              'date_interval': tuple(request.json['date_interval'])
              if 'date_interval' in request.json
              and isinstance(request.json['data_interval'], list) else (),
              'etype': request.json['type'] if 'type' in request.json else None
              }
    # todo: return id
    events = db_manager.get_events(request.json['token'], **params)
    events = list(events)
    return jsonify({'result': True, 'events': events})