Exemplo n.º 1
0
    def check(self):
        """Проверка файлов"""

        # Список поступивших файлов файлов
        maskFiles = glob.glob(self.cfg.Base["fileOpsRoot"] + self.cfg.fileMask)
        # Всего файлов найлено
        numAllFiles = len(maskFiles)

        # Расскидываем файлы по папкам
        fileCtrl = FileControl()
        fileCtrl.run(maskFiles)

        # Всего базовых файлов перемещено:
        numBaseFiles = fileCtrl.numBaseMove

        # Получаем список рабочих файлов
        workFiles = glob.glob(self.cfg.AEC["work"] + self.cfg.fileMask)
        # Всего файлов на обработку
        numWorkFiles = len(workFiles)

        # Объект для сохранения данных в БД
        dbSave = DataSave()

        # Счетчики для полосы загрузки
        i = 0

        # Всего ошибок найдено
        numAllError = 0

        # Перебираем файлы
        for rpoFile in workFiles:

            # Создаем парсер
            parser = PostParser(rpoFile)
            # Парсим файл
            opsFile = parser.load()

            # Работа фильтров
            myFilter = Filter(opsFile)
            # Найдено ошибок в файле
            numFileError = myFilter.error
            # Передаем количество ошибок в файл
            opsFile.error = numFileError
            numAllError += numFileError

            # Добавляем в базу
            dbSave.addBase(opsFile)
            # Сохраняем обработанный файл в папку с результатом
            parser.save()
            # Удаляем его из рабочей папки
            os.remove(rpoFile)

            # Ведем расчеты для полосы загрузки
            i += 1
            x = (i * 100) / numWorkFiles
            # Выводим полосу
            sys.stdout.write(u"\rВыполнено: %s%%" % x)
            sys.stdout.flush()

        # Сохраняем в базу
        dbSave.save()

        # Получаем информацию
        countList = dbSave.getCountFiles()

        # Выводим информацию
        print u"\n\nВсего найдено файлов:", numAllFiles, u"шт.\n"

        print u"Из них:"
        print u"    перемещено на отправку -", numBaseFiles, u"шт."
        print u"    перемещено на обработку -", countList[0], u"шт.\n"

        print u"Обработка:"
        print u"    всего дубликатов -", countList[1], u"шт."
        print u"    добавленно новых -", countList[2], u"шт."
        print u"\nВсего ошибок найдено: ", numAllError, u"шт.\n"