Esempio n. 1
0
def find_node():
    s = request.args.get('q', '')
    limit = request.args.get('limit', 20)
    label = request.args.get('label', g.config.node_label)
    prop = request.args.get('prop', 'name')

    results = preform_search(s, limit, label, prop)

    return jsonify(q=s, linit=limit, label=label, prop=prop, results=results)
Esempio n. 2
0
def get_set_info():
    """
  delivers set information for a given list of set ids
  :return:
  """
    sets = request.args.getlist('sets[]')
    # print sets
    if len(sets) == 0:
        return jsonify()

    config = g.config

    def to_key(s):
        return mc_prefix + config.id + 'setinfo' + '_' + s

    def compute():
        response = dict()
        to_query = []
        for s in sets:
            obj = mc.get(to_key(s))
            if obj:
                response[s] = obj
            else:
                to_query.append(s)
        if len(to_query) >= 0:  # all cached
            graph = resolve_db(config)
            query = create_get_sets_query(to_query, config)
            records = graph.run(query)

            for record in records:
                node = record['n']
                obj = json.dumps(
                    dict(id=record['uid'],
                         labels=map(str, node.labels()),
                         properties=node.properties))
                # cache for next time
                mc.set(to_key(record['id']), obj)
                response[record['id']] = obj

        # print 'sent setinfo for ',sets
        # manually create combined version avoiding partial json loads
        yield '{' + ','.join(
            ('"' + k + '": ' + v for k, v in response.iteritems())) + '}'

    return Response(compute(), mimetype='application/json')
Esempio n. 3
0
        def login():
            if ns.request.method == 'POST':
                user = ns.request.values['username']
                user_obj = self.login(user, ns.request.values)
                if not user_obj:
                    return ns.abort(401)  # 401 Unauthorized
                _log.debug('user login: ' + user)
                return ns.jsonify(name=user_obj.name, roles=user_obj.roles)

            # return a login mask
            login_mask = """
      <!DOCTYPE html>
      <html>
      <body>
        <form name="login" action="/login" method="post" accept-charset="utf-8">
          <div><label for="username">User name: </label><input type="text" name="username" placeholder="name" required="required"></div>
          <div><label for="password">Password</label><input type="password" name="password" placeholder="password" required="required"></div>
          <div><label for="remember"><input type="checkbox" name="remember" value="True" required="required"></label></div>
          <div><input type="reset" value="Reset"><input type="submit" value="Login"></div>
        </form>
      </body>
      </html>
      """
            return ns.render_template_string(login_mask)
Esempio n. 4
0
 def logout():
     self.logout()
     return ns.jsonify(msg='Bye Bye')
Esempio n. 5
0
 def loggedinas():
     if self.is_authenticated():
         user_obj = self.current_user
         _log.debug('user login: '******'"not_yet_logged_in"'
Esempio n. 6
0
def get_config():
    return jsonify(g.config.client_conf)
Esempio n. 7
0
def jsontest():
    return ns.jsonify({'x': 'where are you', 'y': "too"})