Improve export_symlinks.
This commit is contained in:
		
							parent
							
								
									ea5f22bae1
								
							
						
					
					
						commit
						9d048a5d88
					
				
					 1 changed files with 14 additions and 34 deletions
				
			
		|  | @ -45,14 +45,17 @@ def find_photodb(): | |||
| 
 | ||||
| def export_symlinks_albums(albums, destination, dry_run): | ||||
|     album_directory_names = etiquette.helpers.decollide_names(albums, lambda a: a.display_name) | ||||
|     for album in albums: | ||||
|     for (album, directory_name) in album_directory_names.items(): | ||||
|         associated_directories = album.get_associated_directories() | ||||
|         if len(associated_directories) == 1: | ||||
|             album_dir = associated_directories.pop() | ||||
|             symlink_dir = destination.with_child(etiquette.helpers.remove_path_badchars(album.display_name)) | ||||
|             directory_name = etiquette.helpers.remove_path_badchars(directory_name) | ||||
|             symlink_dir = destination.with_child(directory_name) | ||||
|             if dry_run: | ||||
|                 yield symlink_dir | ||||
|                 continue | ||||
|             if not album_dir.exists: | ||||
|                 continue | ||||
|             if symlink_dir.exists: | ||||
|                 yield symlink_dir | ||||
|                 continue | ||||
|  | @ -60,44 +63,21 @@ def export_symlinks_albums(albums, destination, dry_run): | |||
|             os.symlink(src=album_dir.absolute_path, dst=symlink_dir.absolute_path) | ||||
|             yield symlink_dir | ||||
| 
 | ||||
|         # photo_filenames = etiquette.helpers.album_photos_as_filename_map( | ||||
|         #     album, | ||||
|         #     once_each=False, | ||||
|         #     naming='simplified', | ||||
|         #     root_name=album_directory_names[album], | ||||
|         # ) | ||||
|         # for (photo, filepaths) in photo_filenames.items(): | ||||
|         #     if not include_searchhidden and photo.searchhidden: | ||||
|         #         continue | ||||
|         #     if not photo.real_path.exists: | ||||
|         #         continue | ||||
|         #     for filepath in filepaths: | ||||
|         #         filepath = destination.join(filepath) | ||||
|         #         print(filepath.absolute_path) | ||||
|         #         if dry_run: | ||||
|         #             yield filepath | ||||
|         #             continue | ||||
|         #         if filepath.exists: | ||||
|         #             yield filepath | ||||
|         #             continue | ||||
|         #         print(filepath, filepath.exists) | ||||
|         #         filepath.parent.makedirs(exist_ok=True) | ||||
|         #         os.symlink(src=photo.real_path.absolute_path, dst=filepath.absolute_path) | ||||
|         #         yield filepath | ||||
| 
 | ||||
| def export_symlinks_photos(photos, destination, dry_run): | ||||
|     photo_filenames = etiquette.helpers.decollide_names(photos, lambda p: p.basename) | ||||
|     for (photo, filename) in photo_filenames.items(): | ||||
|         filepath = destination.with_child(filename) | ||||
|         print(filepath.absolute_path) | ||||
|         symlink_path = destination.with_child(filename) | ||||
|         if dry_run: | ||||
|             yield filepath | ||||
|             yield symlink_path | ||||
|             continue | ||||
|         if filepath.exists: | ||||
|             yield filepath | ||||
|         if not photo.real_path.exists: | ||||
|             continue | ||||
|         os.symlink(src=photo.real_path.absolute_path, dst=filepath.absolute_path) | ||||
|         yield filepath | ||||
|         if symlink_path.exists: | ||||
|             yield symlink_path | ||||
|             continue | ||||
|         print(symlink_path.absolute_path) | ||||
|         os.symlink(src=photo.real_path.absolute_path, dst=symlink_path.absolute_path) | ||||
|         yield symlink_path | ||||
| 
 | ||||
| def get_photos_by_glob(pattern): | ||||
|     photodb = find_photodb() | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue