def import_model(project): if not self.loginCheck(project=project, admin=True): abort(401, 'forbidden') try: # get data username = html.escape(request.get_cookie('username')) if request.json is not None: modelID = str(request.json['model_id']) try: modelID = uuid.UUID(modelID) # modelID is indeed a UUID; import from database return self.middleware.importModelDatabase( project, username, modelID) except: # model comes from network public = request.json.get('public', True) anonymous = request.json.get('anonymous', False) namePolicy = request.json.get('name_policy', 'skip') customName = request.json.get('custom_name', None) forceReimport = not ( modelID.strip().lower().startswith('aide://')) return self.middleware.importModelURI( project, username, modelID, public, anonymous, forceReimport, namePolicy, customName) else: # file upload file = request.files.get(list(request.files.keys())[0]) public = parse_boolean(request.params.get('public', True)) anonymous = parse_boolean( request.params.get('anonymous', False)) namePolicy = request.params.get('name_policy', 'skip') customName = request.params.get('custom_name', None) return self.middleware.importModelFile( project, username, file, public, anonymous, namePolicy, customName) except Exception as e: return {'status': 1, 'message': str(e)}
def uploadImages(project): ''' Upload image files through UI. ''' if not self.loginCheck(project=project, admin=True): abort(401, 'forbidden') if not self.is_fileServer: return self.relay_request(project, 'uploadImages', 'post') try: images = request.files try: existingFiles = request.params.get('existingFiles') except: existingFiles='keepExisting' try: splitIntoPatches = helpers.parse_boolean(request.params.get('splitPatches')) if splitIntoPatches: splitProperties = json.loads(request.params.get('splitParams')) else: splitProperties = None except: splitIntoPatches = False splitProperties = None result = self.middleware.uploadImages(project, images, existingFiles, splitIntoPatches, splitProperties) return {'result': result} except Exception as e: return {'status': 1, 'message': str(e)}
def save_labelclass_autoadapt_info(project): if not self.loginCheck(project=project, admin=True): abort(401, 'unauthorized') try: enabled = parse_boolean(request.params.get('enabled')) response = self.middleware.setLabelclassAutoadaptEnabled(project, enabled) return {'status': 0, 'message': response} except Exception as e: return {'status': 1, 'message': str(e)}
def get_class_definitions(project): if self.loginCheck(project=project): try: showHidden = parse_boolean(request.params['show_hidden']) except: showHidden = False classDefs = { 'classes': self.middleware.getClassDefinitions(project, showHidden) } return classDefs else: abort(401, 'not logged in')
def get_time_activity(project): if not self.loginCheck(project=project, admin=True): abort(401, 'forbidden') try: try: type = request.query['type'] except: type = 'image' try: numDaysMax = request.query['num_days'] except: numDaysMax = 31 try: perUser = parse_boolean(request.query['per_user']) except: perUser = False stats = self.middleware.getTimeActivity(project, type, numDaysMax, perUser) return {'result': stats} except Exception as e: abort(401, str(e))