def createSourceNameIndex(self, statisticObject, readSourceUtils, saveSourceUtils, parseSourceNameCallback): """ Создание индекса по именам файлов :param statisticObject: объект для создания статистики :param readSourceUtils: объект для чтения данных статистики :param saveSourceUtils: объект для сохранения индекса по статистике :param parseSourceNameCallback: колбэк для обработки имен файлов """ if not statisticObject: raise ParamError("statisticObject cannot be the None-object") if not isinstance(statisticObject, Statistic): raise TypeError("statisticObject can be the list Statistic") if not readSourceUtils: raise ParamError("readSourceUtils cannot be the None-object") if not isinstance(readSourceUtils, MongoReadUtils): raise TypeError("readSourceUtils can be the list MongoReadUtils") if not saveSourceUtils: raise ParamError("saveSourceUtils cannot be the None-object") if not isinstance(saveSourceUtils, MongoSaveUtils): raise TypeError("saveSourceUtils can be the list MongoSaveUtils") if not ISaveRetrievalUtils.providedBy(saveSourceUtils): raise TypeError("saveSourceUtils is not provided by ISaveRetrievalUtils") if not parseSourceNameCallback: raise ParamError("parseSourceNameCallback cannot be the None-object") if not isinstance(parseSourceNameCallback, FileNameNormalization): raise TypeError("parseSourceNameCallback can be the list FileNameNormalization") for file_data in readSourceUtils.getSubDicts(statisticObject.getMainStatisticID()): # получение кортежа '/opt/test dir/file.txt' -> ('/opt/test dir', 'file.txt') name_node = os.path.split(file_data['dict_name']) try: paths = parseSourceNameCallback.normalizeTextWithoutRepetition(name_node[0].encode("utf-8")) names = parseSourceNameCallback.normalizeTextWithoutRepetition(name_node[1].encode("utf-8")) names.extend(paths) saveSourceUtils.saveFilename(file_data['_id'], list(set(names)), name_node[1]) except IndexError or ParamError: # если вдруг - пустое значение pass
def __init__(self, mongoSaveUtils, mongoReadUtils): """ Инициализация :param mongoSaveUtils: параметры для записи данных в mongodb :param mongoReadUtils: параметры для чтения данных из mongodb """ if not mongoSaveUtils: raise ParamError("mongoUtils cannot be the None-object") if not isinstance(mongoSaveUtils, MongoSaveUtils): raise TypeError("mongoUtils can be the list MongoSaveUtils") if not ISaveRetrievalUtils.providedBy(mongoSaveUtils): raise TypeError("mongoUtils is not provided by ISaveRetrievalUtils") if not mongoReadUtils: raise ParamError("mongoReadUtils cannot be the None-object") if not isinstance(mongoReadUtils, MongoReadUtils): raise TypeError("mongoReadUtils can be the list MongoReadUtils") self.__mongoSaveUtils = mongoSaveUtils self.__mongoReadUtils = mongoReadUtils self.__ms = StatisticFactory().createStatistic(MONGO_TYPE, self.__mongoSaveUtils)
def __init__(self, mongoSaveUtils, mongoReadUtils): """ Инициализация :param mongoSaveUtils: параметры для записи данных в mongodb :param mongoReadUtils: параметры для чтения данных из mongodb """ if not mongoSaveUtils: raise ParamError("mongoUtils cannot be the None-object") if not isinstance(mongoSaveUtils, MongoSaveUtils): raise TypeError("mongoUtils can be the list MongoSaveUtils") if not ISaveRetrievalUtils.providedBy(mongoSaveUtils): raise TypeError( "mongoUtils is not provided by ISaveRetrievalUtils") if not mongoReadUtils: raise ParamError("mongoReadUtils cannot be the None-object") if not isinstance(mongoReadUtils, MongoReadUtils): raise TypeError("mongoReadUtils can be the list MongoReadUtils") self.__mongoSaveUtils = mongoSaveUtils self.__mongoReadUtils = mongoReadUtils self.__ms = StatisticFactory().createStatistic(MONGO_TYPE, self.__mongoSaveUtils)