def export_file_by_type_id(type_id, export_class, request_user: UserModel): try: export_type_class = load_class('cmdb.file_export.export_types.' + export_class) export_type = export_type_class() file_export = FileExporter(export_type, type_id) file_export.objects = file_export.from_database(user=request_user, permission=AccessControlPermission.READ) except TypeNotFoundError as e: return abort(400, e.message) except ModuleNotFoundError as e: return abort(400, e) except CMDBError as e: return abort(404, jsonify(message='Not Found', error=e.message)) return file_export.export()
def export_file(request_user: UserModel): import json try: _object_ids = json.loads(request.args.get('ids', [])) _class = request.args.get('classname', '') _zipping = request.args.get('zip', False) in ['true', 'True'] if _zipping: export_type_class = load_class('cmdb.file_export.export_types.' + 'ZipExportType')() file_export = FileExporter(export_type_class, _object_ids, 'object', _class) else: export_type_class = load_class('cmdb.file_export.export_types.' + _class)() file_export = FileExporter(export_type_class, _object_ids, 'object') file_export.objects = file_export.from_database(user=request_user, permission=AccessControlPermission.READ) except TypeNotFoundError as e: return abort(400, e.message) except ModuleNotFoundError as e: return abort(400, e) except CMDBError as e: return abort(404, jsonify(message='Not Found', error=e.message)) return file_export.export()