mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-28 17:50:56 +01:00
added models
This commit is contained in:
@@ -3,6 +3,12 @@ from flask_restful import reqparse, Resource
|
||||
from db.manager import db_manager
|
||||
from utils import jsonify
|
||||
|
||||
DEFAULT_ARGS = [
|
||||
'page',
|
||||
'page_size',
|
||||
'filter'
|
||||
]
|
||||
|
||||
|
||||
class BaseApi(Resource):
|
||||
col_name = 'tmp'
|
||||
@@ -61,8 +67,30 @@ class BaseApi(Resource):
|
||||
else:
|
||||
return jsonify(db_manager.get(col_name=self.col_name, id=id))
|
||||
|
||||
def update(self, id=None):
|
||||
pass
|
||||
def put(self):
|
||||
args = self.parser.parse_args()
|
||||
item = {}
|
||||
for k in args.keys():
|
||||
if k not in DEFAULT_ARGS:
|
||||
item[k] = args.get(k)
|
||||
item = db_manager.save(col_name=self.col_name, item=item)
|
||||
return item
|
||||
|
||||
def remove(self, id=None):
|
||||
def post(self, id=None):
|
||||
args = self.parser.parse_args()
|
||||
item = db_manager.get(col_name=self.col_name, id=id)
|
||||
if item is None:
|
||||
return {
|
||||
'status': 'ok',
|
||||
'code': 401,
|
||||
'error': 'item not exists'
|
||||
}
|
||||
values = {}
|
||||
for k in args.keys():
|
||||
if k not in DEFAULT_ARGS:
|
||||
values[k] = args.get(k)
|
||||
item = db_manager.update_one(col_name=self.col_name, id=id, values=values)
|
||||
return item
|
||||
|
||||
def delete(self, id=None):
|
||||
pass
|
||||
|
||||
@@ -4,45 +4,20 @@ from flask_restful import reqparse, Resource
|
||||
|
||||
from app import api
|
||||
from db.manager import db_manager
|
||||
from routes.base import BaseApi
|
||||
from tasks.spider import execute_spider
|
||||
|
||||
# logger = get_logger('tasks')
|
||||
parser = reqparse.RequestParser()
|
||||
parser.add_argument('spider_name', type=str)
|
||||
|
||||
# collection name
|
||||
COL_NAME = 'spiders'
|
||||
|
||||
|
||||
class SpiderApi(Resource):
|
||||
col_name = COL_NAME
|
||||
|
||||
def get(self, id=None):
|
||||
args = parser.parse_args()
|
||||
cond = {}
|
||||
if args.filter is not None:
|
||||
cond = json.loads(args.filter)
|
||||
if id is None:
|
||||
return db_manager.list(col_name=self.col_name, cond=cond, page=args.page, page_size=args.page_size)
|
||||
else:
|
||||
return db_manager.get(col_name=self.col_name, id=id)
|
||||
|
||||
def list(self):
|
||||
args = parser.parse_args()
|
||||
cond = {}
|
||||
if args.filter is not None:
|
||||
cond = json.loads(args.filter)
|
||||
return db_manager.list(col_name=self.col_name, cond=cond, page=args.page, page_size=args.page_size)
|
||||
|
||||
def update(self, id=None):
|
||||
pass
|
||||
|
||||
def remove(self, id=None):
|
||||
pass
|
||||
class SpiderApi(BaseApi):
|
||||
col_name = 'spiders'
|
||||
|
||||
|
||||
class SpiderExecutorApi(Resource):
|
||||
col_name = COL_NAME
|
||||
col_name = 'spiders'
|
||||
|
||||
def post(self, id):
|
||||
args = parser.parse_args()
|
||||
|
||||
Reference in New Issue
Block a user