def export_file_by_type_id(public_id, export_class): try: export_type_class = load_class('cmdb.file_export.export_types.' + export_class) export_type = export_type_class() file_export = FileExporter(None, export_type, public_id) 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_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(): try: _object_ids = 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('object', export_type_class, _object_ids, _class) else: export_type_class = load_class('cmdb.file_export.export_types.' + _class)() file_export = FileExporter('object', export_type_class, _object_ids) 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 get_filetypes(): filetypes = FileExporter.get_filetypes() filetype_list = [] for filetype in filetypes: filetype_class = load_class('cmdb.file_export.export_types.' + filetype) filetype_properties = { 'id': filetype, 'label': filetype_class.LABEL, 'icon': filetype_class.ICON, 'multiTypeSupport': filetype_class.MULTITYPE_SUPPORT, 'helperText': filetype_class.DESCRIPTION, 'active': filetype_class.ACTIVE } filetype_list.append(filetype_properties) return make_response(filetype_list)
def get_export_file_types(): _types = FileExporter.get_type_list() _list = [] for type_element in _types: type_element_class = load_class('cmdb.file_export.export_types.' + type_element) type_element_properties = { 'id': type_element, 'label': type_element_class.LABEL, 'icon': type_element_class.ICON, 'multiTypeSupport': type_element_class.MULTITYPE_SUPPORT, 'helperText': type_element_class.DESCRIPTION, 'active': type_element_class.ACTIVE } _list.append(type_element_properties) return make_response(_list)
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()