def __init__(self): """ Constructor de la clase. :return: void :rtype: None """ # Se instancian los super ExceptionBehaviour.__init__(self) VarTypedClass.__init__(self) # Carga de configuraciones core_config = ConfigLoader(DIR_CONFIG, "core.ini") validator_config = ConfigLoader(DIR_CONFIG, "validator.ini") self._doCheckStructureInSubfolder = validator_config.is_false("STRICT_MODE_PACKAGES") self._doRegexCaseInsensitive = validator_config.is_true("CASE_INSENSITIVE") self._verbose = core_config.is_true("VERBOSE") # Variables de estado self._isStructGenerated = False self._isValidStructureDirectories = True # Variables de la estructura self._structureBoolHierarchy = [False] self._structureBoolHierarchy2 = [False] self._structureDirectoryName = DIR_STRUCTURE_FOLDERNAME self._structureDirectoryRoot = DIR_DATA self._structurePackage = Package([]) # Instancia un filemanager para generar la estructura self._fm = FileManager() self._fm.set_default_working_directory(self._structureDirectoryRoot) self._fm.restore_wd() self._fm.enable_auto_extract() self._fm.enable_do_remove_extracted_folders() self._fm.disable_remove_on_extract() self._fm.enable_restrict_characters() self._fm.enable_structure_characters() if self._verbose: self._fm.enable_verbose() else: self._fm.disable_verbose() # Variables de verificación self._validRegexChars = self._fm._get_valid_regex_chars()
def __init__(self, wd=DIR_UPLOADS): """ Constructor de la clase. :param wd: Working directory, carpeta de trabajo sobre la cual se cargarán los distintos archivos :type wd: str :return: void :rtype: None """ # Se instancian los super err.ExceptionBehaviour.__init__(self) VarTypedClass.__init__(self) # Carga de configuraciones config = ConfigLoader(DIR_CONFIG, "filemanager.ini") core_config = ConfigLoader(DIR_CONFIG, "core.ini") folder_config = ConfigLoader(DIR_CONFIG, "folder.ini") package_config = ConfigLoader(DIR_CONFIG, "packages.ini") # Parámetros de extracción self._autoExtract = config.is_true("AUTOEXTRACT") # Auto extraer un archivo comprimido self._doRemoveExtractedFolders = config.is_true("DO_REMOVE_EXTRACTED_FOLDERS") self._extractIfFolderAlreadyExists = config.is_true("REPLACE_IF_FOLDER_ALREADY_EXISTS") if config.param_exists("RAR_EXTRACT_ENCODING"): self._rarFileEncoding = config.get_value("RAR_EXTRACT_ENCODING") else: self._rarFileEncoding = _DEFAULT_RAR_EXTRACT_ENCODING # Parámetros de exclusión self._ignoredFiles = folder_config.get_value_listed("IGNORE") self._removeOnExtract = config.is_true("REMOVE_ON_EXTRACT") # Parámetros de caracteres self._doCharactersRestricted = config.is_true("CHARACTERS_DO_RESTRICT") self._needDotOnFile = package_config.is_true("NEED_DOT_ON_FILE") self._validChars = package_config.get_value("VALID_CHARACTERS") self._validChars_rec = self._validChars self._validStructureChars = package_config.get_value("VALID_STRUCTURE_CHARACTERS") self._validRegexChars = package_config.get_value("VALID_REGEX_CHARACTERS") # Otros parámetros if package_config.param_exists("ENCODE"): self._fileEncoding = package_config.get_value("ENCODE") else: self._fileEncoding = _DEFAULT_FILE_ENCODING self._verbose = core_config.is_true("VERBOSE") # Variables del FD self._wd = wd self._defaultwd = DIR_UPLOADS self._lastExecutionExtractedFilelist = []