Ejemplo n.º 1
0
    def upload_tst(self, environ, start_response):
        '''
            Чекаем есть ли модель, если есть даём результат
        '''
        if self.model:
            clear_temp(settings.TEMP_DIR)
            form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ, keep_blank_values=True)

            try:
                fileitem = form['file']
            except KeyError:
                fileitem = None

            if fileitem.file:
                file_list = unpack(settings.TEMP_DIR, fileitem.file)
                inner_html = get_result_in_html(
                    model=self.model,
                    datafile=file_list[0],
                    test_mod=self.test_mod
                )
                with open(os.path.join(settings.TEMPLATES_DIR,'result.html'),'r') as template:
                    message = template.read().format(**{'content': inner_html})
                return message
            else:
                return 'Обязательно <a href="/">прикрепите файл</a>'
        else:
            return 'Сначала <a href="/">создайте модель, загрузив обучающую выборку</a>'
Ejemplo n.º 2
0
    def upload_tst(self, environ, start_response):
        '''
            Чекаем есть ли модель, если есть даём результат
        '''
        if self.model:
            clear_temp(settings.TEMP_DIR)
            form = cgi.FieldStorage(fp=environ['wsgi.input'],
                                    environ=environ,
                                    keep_blank_values=True)

            try:
                fileitem = form['file']
            except KeyError:
                fileitem = None

            if fileitem.file:
                file_list = unpack(settings.TEMP_DIR, fileitem.file)
                inner_html = get_result_in_html(model=self.model,
                                                datafile=file_list[0],
                                                test_mod=self.test_mod)
                with open(os.path.join(settings.TEMPLATES_DIR, 'result.html'),
                          'r') as template:
                    message = template.read().format(**{'content': inner_html})
                return message
            else:
                return 'Обязательно <a href="/">прикрепите файл</a>'
        else:
            return 'Сначала <a href="/">создайте модель, загрузив обучающую выборку</a>'
Ejemplo n.º 3
0
    def upload_tra(self, environ, start_response):
        '''
            Прямо в хендлере создаём модель, которую сохраним в.. инстансе приложения,
            Модель после загрузки сделаем неизменяемой - чтобы загрузить новую модель,
             не перезагружая приложение, нужно вызвать медот reset_model сделав запрос на '/reset_model'
            Если Демон запущен в тестовом режиме, то тут же проверим данные
        '''
        clear_temp(settings.TEMP_DIR)
        form = cgi.FieldStorage(fp=environ['wsgi.input'],
                                environ=environ,
                                keep_blank_values=True)

        try:
            fileitem = form['file']
        except KeyError:
            fileitem = None

        if fileitem.file:
            file_list = unpack(settings.TEMP_DIR, fileitem.file)
            file_list.sort()

            if self.test_mod:
                # Грузим все модели все проверяем выкатываем все результаты
                # Групируем тестовые и обучающие
                tra_tst_list, tra_tst = [], []
                for _file in file_list:
                    if len(tra_tst) < 2:
                        tra_tst.append(_file)
                    else:
                        tra_tst_list.append(tra_tst)
                        tra_tst = [_file]
                else:
                    tra_tst_list.append(tra_tst)

                inner_html = ''
                for pair in tra_tst_list:
                    # Отдаём имя файла с данными - получаем модель
                    self.model = self._get_model(pair[0])
                    # Отдаём модуль имя файла с тестовыми данными и модель - получаем html
                    inner_html += get_result_in_html(
                        model=self.model,  # ?
                        datafile=pair[1],
                        sourcefile=pair[0],
                        test_mod=self.test_mod)
                with open(os.path.join(settings.TEMPLATES_DIR, 'result.html'),
                          'r') as template:
                    message = template.read().format(**{'content': inner_html})
            else:
                # Грузим одну модель выкатываем приглашение загрузить тестовую
                self.model = self._get_model(file_list[0])
                with open(
                        os.path.join(settings.TEMPLATES_DIR,
                                     'wellcome_test.html'), 'r') as template:
                    message = template.read()
            return message
        else:
            message = 'please upload a file.'
            return message
Ejemplo n.º 4
0
    def upload_tra(self, environ, start_response):
        '''
            Прямо в хендлере создаём модель, которую сохраним в.. инстансе приложения,
            Модель после загрузки сделаем неизменяемой - чтобы загрузить новую модель,
             не перезагружая приложение, нужно вызвать медот reset_model сделав запрос на '/reset_model'
            Если Демон запущен в тестовом режиме, то тут же проверим данные
        '''
        clear_temp(settings.TEMP_DIR)
        form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ, keep_blank_values=True)

        try:
            fileitem = form['file']
        except KeyError:
            fileitem = None

        if fileitem.file:
            file_list = unpack(settings.TEMP_DIR, fileitem.file)
            file_list.sort()

            if self.test_mod:
                # Грузим все модели все проверяем выкатываем все результаты
                # Групируем тестовые и обучающие
                tra_tst_list, tra_tst = [], []
                for _file in file_list:
                    if len(tra_tst) < 2:
                        tra_tst.append(_file)
                    else:
                        tra_tst_list.append(tra_tst)
                        tra_tst = [_file]
                else:
                    tra_tst_list.append(tra_tst)

                inner_html = ''
                for pair in tra_tst_list:
                    # Отдаём имя файла с данными - получаем модель
                    self.model = self._get_model(pair[0])
                    # Отдаём модуль имя файла с тестовыми данными и модель - получаем html
                    inner_html += get_result_in_html(
                        model = self.model, # ?
                        datafile=pair[1],
                        sourcefile=pair[0],
                        test_mod=self.test_mod
                    )
                with open(os.path.join(settings.TEMPLATES_DIR,'result.html'),'r') as template:
                    message = template.read().format(**{'content': inner_html})
            else:
                # Грузим одну модель выкатываем приглашение загрузить тестовую
                self.model = self._get_model(file_list[0])
                with open(os.path.join(settings.TEMPLATES_DIR,'wellcome_test.html'),'r') as template:
                    message = template.read()
            return message
        else :
            message = 'please upload a file.'
            return message