| 24 | |
| 25 | |
| 26 | class LocalStorageManager(object): |
| 27 | _logger = None |
| 28 | _storage_config_file = "connector.config" |
| 29 | |
| 30 | def _log(self): |
| 31 | """ |
| 32 | Get the log |
| 33 | """ |
| 34 | return logging.getLogger(__name__) |
| 35 | |
| 36 | def __init__(self, config_file="", log_level=None) -> None: |
| 37 | self._logger = self._log() |
| 38 | if log_level is not None: |
| 39 | self._logger.setLevel(log_level) |
| 40 | |
| 41 | if config_file != "": |
| 42 | self._storage_config_file = config_file |
| 43 | |
| 44 | config = configparser.ConfigParser() |
| 45 | list = config.read(self._storage_config_file) |
| 46 | if len(list) == 0: |
| 47 | self._logger.error("Error: Could not find the config file") |
| 48 | exit(1) |
| 49 | |
| 50 | def write_file(self, folder: str, filename: str, data) -> bool: |
| 51 | """ |
| 52 | Write to the local filesystem |
| 53 | """ |
| 54 | try: |
| 55 | with open(folder + "/" + filename, "wb") as dest_file: |
| 56 | dest_file.write(data) |
| 57 | except Exception as err: |
| 58 | self._logger.error("Could not write to local filesystem") |
| 59 | self._logger.error(str(err)) |
| 60 | return False |
| 61 | |
| 62 | return True |
| 63 | |
| 64 | def write_large_file( |
| 65 | self, folder: str, remote_file_name: str, local_file_path: str |
| 66 | ) -> bool: |
| 67 | """ |
| 68 | Copy a large file between two local folders. |
| 69 | """ |
| 70 | try: |
| 71 | shutil.copy(local_file_path, folder + "/" + remote_file_name) |
| 72 | except Exception as err: |
| 73 | self._logger.error("Could not write to local filesystem") |
| 74 | self._logger.error(str(err)) |
| 75 | return False |
| 76 | |
| 77 | return True |
| 78 | |
| 79 | def create_folder(self, foldername: str) -> bool: |
| 80 | """ |
| 81 | Create a local folder for the data |
| 82 | """ |
| 83 | try: |
nothing calls this directly
no outgoing calls
no test coverage detected