Пример #1
0
        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)}
Пример #3
0
 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)}
Пример #4
0
 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))