Skip to content

Commit a27b568

Browse files
Johnetordoffcslzchen
authored andcommitted
Replace unnecessary path revalidation
- In addititon, remove superfluous condition statement `if not futures: continue`
1 parent bf5f9e3 commit a27b568

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

waterbutler/core/provider.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ async def _folder_file_op(self,
335335

336336
folder = await dest_provider.create_folder(dest_path, folder_precheck=False)
337337

338-
dest_path = await dest_provider.revalidate_path(dest_path.parent, dest_path.name, folder=dest_path.is_dir)
338+
folder_path = dest_provider.path_from_metadata(dest_path.parent, folder)
339339

340340
folder.children = []
341341
items = await self.metadata(src_path) # type: ignore
@@ -349,19 +349,15 @@ async def _folder_file_op(self,
349349
futures.append(asyncio.ensure_future(
350350
func(
351351
dest_provider,
352-
# TODO figure out a way to cut down on all the requests made here
353-
(await self.revalidate_path(src_path, item.name, folder=item.is_folder)),
354-
(await dest_provider.revalidate_path(dest_path, item.name, folder=item.is_folder)),
352+
self.path_from_metadata(src_path, item),
353+
folder_path.child(item.name, None, folder=item.is_folder),
355354
handle_naming=False,
356355
)
357356
))
358357

359358
if item.is_folder:
360359
await futures[-1]
361360

362-
if not futures:
363-
continue
364-
365361
done, _ = await asyncio.wait(futures, return_when=asyncio.FIRST_EXCEPTION)
366362

367363
for fut in done:
@@ -673,9 +669,8 @@ async def validate_path(self, path: str, **kwargs) -> wb_path.WaterButlerPath:
673669

674670
def path_from_metadata(self,
675671
parent_path: wb_path.WaterButlerPath,
676-
meta_data: wb_metadata.BaseMetadata) -> wb_path.WaterButlerPath:
677-
return parent_path.child(meta_data.name, _id=meta_data.path.strip('/'),
678-
folder=meta_data.is_folder)
672+
metadata: wb_metadata.BaseMetadata) -> wb_path.WaterButlerPath:
673+
return parent_path.child(metadata.name, _id=metadata.id, folder=metadata.is_folder)
679674

680675
async def revisions(self, path: wb_path.WaterButlerPath, **kwargs):
681676
"""Return a list of :class:`.BaseFileRevisionMetadata` objects representing the revisions

0 commit comments

Comments
 (0)