Files
crawlab/routes/files.py
2019-02-28 18:57:44 +08:00

47 lines
1.2 KiB
Python

import os
from flask_restful import reqparse, Resource
from utils import jsonify
from utils.file import get_file_content
class FileApi(Resource):
parser = reqparse.RequestParser()
arguments = []
def __init__(self):
super(FileApi).__init__()
self.parser.add_argument('path', type=str)
def get(self, action=None):
args = self.parser.parse_args()
path = args.get('path')
if action is not None:
if action == 'getDefaultPath':
return jsonify({
'defaultPath': os.path.abspath(os.path.join(os.path.curdir, 'spiders'))
})
elif action == 'get_file':
file_data = get_file_content(path)
file_data['status'] = 'ok'
return jsonify(file_data)
else:
return {}
folders = []
files = []
for _path in os.listdir(path):
if os.path.isfile(os.path.join(path, _path)):
files.append(_path)
elif os.path.isdir(os.path.join(path, _path)):
folders.append(_path)
return jsonify({
'status': 'ok',
'files': sorted(files),
'folders': sorted(folders),
})