MCPcopy
hub / github.com/django-cms/django-filer / _copy_folder

Method _copy_folder

filer/admin/folderadmin.py:1110–1134  ·  view source on GitHub ↗
(self, folder, destination, suffix, overwrite)

Source from the content-addressed store, hash-verified

1108 return name
1109
1110 def _copy_folder(self, folder, destination, suffix, overwrite):
1111 if overwrite:
1112 # Not yet implemented as we have to find a portable (for different storage backends) way to overwrite files
1113 raise NotImplementedError
1114
1115 # TODO: Should we also allow not to overwrite the folder if it exists, but just copy into it?
1116
1117 # TODO: Is this a race-condition? Would this be a problem?
1118 foldername = self._get_available_name(destination, folder.name)
1119
1120 old_folder = Folder.objects.get(pk=folder.pk)
1121
1122 folder, _ = Folder.objects.get_or_create(
1123 name=foldername,
1124 owner=old_folder.owner,
1125 parent=destination,
1126 )
1127
1128 for perm in FolderPermission.objects.filter(folder=old_folder):
1129 perm.pk = None
1130 perm.id = None
1131 perm.folder = folder
1132 perm.save()
1133
1134 return 1 + self._copy_files_and_folders_impl(old_folder.files.all(), old_folder.children.all(), folder, suffix, overwrite)
1135
1136 def _copy_files_and_folders_impl(self, files_queryset, folders_queryset, destination, suffix, overwrite):
1137 n = self._copy_files(files_queryset, destination, suffix, overwrite)

Callers 1

Calls 3

_get_available_nameMethod · 0.95
saveMethod · 0.45

Tested by

no test coverage detected