Add delete command.
This commit is contained in:
		
							parent
							
								
									e717833d41
								
							
						
					
					
						commit
						60ac8116aa
					
				
					 1 changed files with 40 additions and 0 deletions
				
			
		|  | @ -179,6 +179,28 @@ def add_remove_tag_argparse(args, action): | ||||||
|     if args.autoyes or interactive.getpermission('Commit?'): |     if args.autoyes or interactive.getpermission('Commit?'): | ||||||
|         photodb.commit() |         photodb.commit() | ||||||
| 
 | 
 | ||||||
|  | def delete_argparse(args): | ||||||
|  |     photodb = find_photodb() | ||||||
|  | 
 | ||||||
|  |     need_commit = False | ||||||
|  |     if args.photo_id_args or args.photo_search_args: | ||||||
|  |         photos = get_photos_from_args(args) | ||||||
|  |         for photo in photos: | ||||||
|  |             photo.delete() | ||||||
|  |             need_commit = True | ||||||
|  | 
 | ||||||
|  |     if args.album_id_args or args.album_search_args: | ||||||
|  |         albums = get_albums_from_args(args) | ||||||
|  |         for album in albums: | ||||||
|  |             album.delete() | ||||||
|  |             need_commit = True | ||||||
|  | 
 | ||||||
|  |     if not need_commit: | ||||||
|  |         return | ||||||
|  | 
 | ||||||
|  |     if args.autoyes or interactive.getpermission('Commit?'): | ||||||
|  |         photodb.commit() | ||||||
|  | 
 | ||||||
| def digest_directory_argparse(args): | def digest_directory_argparse(args): | ||||||
|     directory = pathclass.Path(args.directory) |     directory = pathclass.Path(args.directory) | ||||||
|     photodb = find_photodb() |     photodb = find_photodb() | ||||||
|  | @ -386,6 +408,8 @@ Etiquette CLI | ||||||
| 
 | 
 | ||||||
| {remove_tag} | {remove_tag} | ||||||
| 
 | 
 | ||||||
|  | {delete} | ||||||
|  | 
 | ||||||
| {digest} | {digest} | ||||||
| 
 | 
 | ||||||
| {easybake} | {easybake} | ||||||
|  | @ -437,6 +461,18 @@ remove_tag: | ||||||
|     > etiquette_cli.py remove_tag watchlist spongebob*.mp4 |     > etiquette_cli.py remove_tag watchlist spongebob*.mp4 | ||||||
| '''.strip(), | '''.strip(), | ||||||
| 
 | 
 | ||||||
|  | delete=''' | ||||||
|  | delete: | ||||||
|  |     Remove photos or albums from the database. | ||||||
|  | 
 | ||||||
|  |     > etiquette_cli.py delete --photos id id id | ||||||
|  |     > etiquette_cli.py delete --search searchargs | ||||||
|  |     > etiquette_cli.py delete --albums id id id | ||||||
|  |     > etiquette_cli.py delete --album-search searchargs | ||||||
|  | 
 | ||||||
|  |     See search --help for more info about searchargs. | ||||||
|  | '''.strip(), | ||||||
|  | 
 | ||||||
| digest=''' | digest=''' | ||||||
| digest: | digest: | ||||||
|     Digest a directory, adding new files as Photos into the database. |     Digest a directory, adding new files as Photos into the database. | ||||||
|  | @ -686,6 +722,10 @@ def main(argv): | ||||||
|     p_remove_tag.add_argument('--yes', dest='autoyes', action='store_true') |     p_remove_tag.add_argument('--yes', dest='autoyes', action='store_true') | ||||||
|     p_remove_tag.set_defaults(func=lambda args: add_remove_tag_argparse(args, action='remove')) |     p_remove_tag.set_defaults(func=lambda args: add_remove_tag_argparse(args, action='remove')) | ||||||
| 
 | 
 | ||||||
|  |     p_delete = subparsers.add_parser('delete') | ||||||
|  |     p_delete.add_argument('--yes', dest='autoyes', action='store_true') | ||||||
|  |     p_delete.set_defaults(func=delete_argparse) | ||||||
|  | 
 | ||||||
|     p_digest = subparsers.add_parser('digest', aliases=['digest_directory', 'digest-directory']) |     p_digest = subparsers.add_parser('digest', aliases=['digest_directory', 'digest-directory']) | ||||||
|     p_digest.add_argument('directory') |     p_digest.add_argument('directory') | ||||||
|     p_digest.add_argument('--no_albums', '--no-albums', dest='make_albums', action='store_false', default=True) |     p_digest.add_argument('--no_albums', '--no-albums', dest='make_albums', action='store_false', default=True) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue