def setUp(self): self.data = get_data('image_item.json') self.data['name'] = 'test' self.data['size'] = 1 self.parent_task = get_sample_task_base() self.item = OneDriveItem(drive=self.parent_task.drive, data=self.data) # The '/' in relative path is generated by MergeDirTask at root. Merging root itself has rel parent path ''. self.task = DownloadFileTask(self.parent_task, rel_parent_path='/', item=self.item) self.calls_hist = setup_os_mock()
def _create_download_task(self, item_local_path, item): """ Create a new directory or download the file. :param str item_local_path: :param onedrived.api.items.OneDriveItem item: """ if item.is_folder: try: self.logger.info('Creating directory "%s".', item_local_path) mkdir(item_local_path) self.items_store.update_item(item, ItemRecordStatuses.OK) self._create_merge_dir_task(item.name, item) except (OSError, IOError) as e: self.logger.error('Error creating directory "%s": %s.', item_local_path, e) else: if not self.task_pool.has_pending_task(item_local_path): self.logger.info('Will download file "%s".', item_local_path) self.task_pool.add_task( DownloadFileTask(self, rel_parent_path=self.rel_path + '/', item=item))