| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import json
- from flask import Blueprint, request
- import jimit as ji
- from models import Database as db
- from models import Utils, Rules
- from models.initialize import app
- __author__ = 'James Iter'
- __date__ = '2017/5/30'
- __contact__ = 'james.iter.cn@gmail.com'
- __copyright__ = '(c) 2017 by James Iter.'
- blueprint = Blueprint(
- 'host',
- __name__,
- url_prefix='/api/host'
- )
- blueprints = Blueprint(
- 'hosts',
- __name__,
- url_prefix='/api/hosts'
- )
- @Utils.dumps2response
- def r_get(ids):
- args_rules = [
- Rules.IDS.value
- ]
- try:
- ji.Check.previewing(args_rules, {args_rules[0][1]: ids})
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- ret['data'] = list()
- if -1 == ids.find(','):
- _id = ids
- if db.r.hexists(app.config['hosts_info'], _id):
- ret['data'] = {_id: json.loads(db.r.hget(app.config['hosts_info'], _id))}
- else:
- for _id in ids.split(','):
- if db.r.hexists(app.config['hosts_info'], _id):
- ret['data'].append({_id: json.loads(db.r.hget(app.config['hosts_info'], _id))})
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
- @Utils.dumps2response
- def r_get_by_filter():
- try:
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- ret['data'] = list()
- for k, v in db.r.hgetall(app.config['hosts_info']).items():
- ret['data'].append({k: json.loads(v)})
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
- @Utils.dumps2response
- def r_content_search():
- keyword = request.args.get('keyword', '')
- args_rules = [
- Rules.KEYWORD.value
- ]
- try:
- ji.Check.previewing(args_rules, {'keyword': keyword})
- ret = dict()
- ret['state'] = ji.Common.exchange_state(20000)
- ret['data'] = list()
- for k, v in db.r.hgetall(app.config['hosts_info']).items():
- v = json.loads(v)
- if -1 != v['hostname'].find(keyword):
- ret['data'].append({k: v})
- return ret
- except ji.PreviewingError, e:
- return json.loads(e.message)
|