Remove commit argument from ALL methods. @transaction does it.
This commit is contained in:
		
							parent
							
								
									0a984117c5
								
							
						
					
					
						commit
						1fc2ed09f5
					
				
					 2 changed files with 40 additions and 42 deletions
				
			
		|  | @ -89,7 +89,7 @@ class GroupableMixin: | |||
|         for parent in parents: | ||||
|             parent.add_children(children) | ||||
| 
 | ||||
|     def add_child(self, member, *, commit=False): | ||||
|     def add_child(self, member): | ||||
|         self.assert_same_type(member) | ||||
| 
 | ||||
|         if member == self: | ||||
|  | @ -112,7 +112,7 @@ class GroupableMixin: | |||
| 
 | ||||
|         self.photodb._cached_frozen_children = None | ||||
| 
 | ||||
|     def add_children(self, members, *, commit=False): | ||||
|     def add_children(self, members): | ||||
|         for member in members: | ||||
|             self.add_child(member) | ||||
| 
 | ||||
|  | @ -122,7 +122,7 @@ class GroupableMixin: | |||
|         if self.photodb != other.photodb: | ||||
|             raise TypeError(f'Objects must belong to the same PhotoDB.') | ||||
| 
 | ||||
|     def delete(self, *, delete_children=False, commit=False): | ||||
|     def delete(self, *, delete_children=False): | ||||
|         ''' | ||||
|         Delete this object's relationships to other groupables. | ||||
|         Any unique / specific deletion methods should be written within the | ||||
|  | @ -184,7 +184,7 @@ class GroupableMixin: | |||
|         row = self.photodb.sql_select_one(query, [self.id, member.id]) | ||||
|         return row is not None | ||||
| 
 | ||||
|     def remove_child(self, member, *, commit=False): | ||||
|     def remove_child(self, member): | ||||
|         if not self.has_child(member): | ||||
|             return | ||||
| 
 | ||||
|  | @ -283,7 +283,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def add_associated_directory(self, path, *, commit=False): | ||||
|     def add_associated_directory(self, path): | ||||
|         ''' | ||||
|         Add a directory from which this album will pull files during rescans. | ||||
|         These relationships are not unique and multiple albums | ||||
|  | @ -308,7 +308,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def add_photo(self, photo, *, commit=False): | ||||
|     def add_photo(self, photo): | ||||
|         if self.has_photo(photo): | ||||
|             return | ||||
| 
 | ||||
|  | @ -316,7 +316,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def add_photos(self, photos, *, commit=False): | ||||
|     def add_photos(self, photos): | ||||
|         existing_photos = set(self.get_photos()) | ||||
|         photos = set(photos) | ||||
|         photos = photos.difference(existing_photos) | ||||
|  | @ -326,7 +326,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     # Photo.add_tag already has @required_feature | ||||
|     @decorators.transaction | ||||
|     def add_tag_to_all(self, tag, *, nested_children=True, commit=False): | ||||
|     def add_tag_to_all(self, tag, *, nested_children=True): | ||||
|         ''' | ||||
|         Add this tag to every photo in the album. Saves you from having to | ||||
|         write the for-loop yourself. | ||||
|  | @ -346,7 +346,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def delete(self, *, delete_children=False, commit=False): | ||||
|     def delete(self, *, delete_children=False): | ||||
|         self.photodb.log.debug('Deleting %s', self) | ||||
|         GroupableMixin.delete(self, delete_children=delete_children) | ||||
|         self.photodb.sql_delete(table='album_associated_directories', pairs={'albumid': self.id}) | ||||
|  | @ -363,7 +363,7 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def edit(self, title=None, description=None, *, commit=False): | ||||
|     def edit(self, title=None, description=None): | ||||
|         ''' | ||||
|         Change the title or description. Leave None to keep current value. | ||||
|         ''' | ||||
|  | @ -465,12 +465,12 @@ class Album(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def remove_photo(self, photo, *, commit=False): | ||||
|     def remove_photo(self, photo): | ||||
|         self._remove_photo(photo) | ||||
| 
 | ||||
|     @decorators.required_feature('album.edit') | ||||
|     @decorators.transaction | ||||
|     def remove_photos(self, photos, *, commit=False): | ||||
|     def remove_photos(self, photos): | ||||
|         existing_photos = set(self.get_photos()) | ||||
|         photos = set(photos) | ||||
|         photos = photos.intersection(existing_photos) | ||||
|  | @ -575,13 +575,13 @@ class Bookmark(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('bookmark.edit') | ||||
|     @decorators.transaction | ||||
|     def delete(self, *, commit=False): | ||||
|     def delete(self): | ||||
|         self.photodb.sql_delete(table='bookmarks', pairs={'id': self.id}) | ||||
|         self._uncache() | ||||
| 
 | ||||
|     @decorators.required_feature('bookmark.edit') | ||||
|     @decorators.transaction | ||||
|     def edit(self, title=None, url=None, *, commit=False): | ||||
|     def edit(self, title=None, url=None): | ||||
|         ''' | ||||
|         Change the title or URL. Leave None to keep current. | ||||
|         ''' | ||||
|  | @ -665,7 +665,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.add_remove_tag') | ||||
|     @decorators.transaction | ||||
|     def add_tag(self, tag, *, commit=False): | ||||
|     def add_tag(self, tag): | ||||
|         tag = self.photodb.get_tag(name=tag) | ||||
| 
 | ||||
|         existing = self.has_tag(tag, check_children=False) | ||||
|  | @ -715,7 +715,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     # Photo.add_tag already has @required_feature add_remove_tag | ||||
|     @decorators.transaction | ||||
|     def copy_tags(self, other_photo, *, commit=False): | ||||
|     def copy_tags(self, other_photo): | ||||
|         ''' | ||||
|         Take all of the tags owned by other_photo and apply them to this photo. | ||||
|         ''' | ||||
|  | @ -724,7 +724,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.edit') | ||||
|     @decorators.transaction | ||||
|     def delete(self, *, delete_file=False, commit=False): | ||||
|     def delete(self, *, delete_file=False): | ||||
|         ''' | ||||
|         Delete the Photo and its relation to any tags and albums. | ||||
|         ''' | ||||
|  | @ -748,7 +748,7 @@ class Photo(ObjectBase): | |||
|     #@decorators.time_me | ||||
|     @decorators.required_feature('photo.generate_thumbnail') | ||||
|     @decorators.transaction | ||||
|     def generate_thumbnail(self, *, commit=False, **special): | ||||
|     def generate_thumbnail(self, **special): | ||||
|         ''' | ||||
|         special: | ||||
|             For videos, you can provide a `timestamp` to take the thumbnail at. | ||||
|  | @ -867,17 +867,17 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     # Photo.rename_file already has @required_feature | ||||
|     @decorators.transaction | ||||
|     def move_file(self, directory, commit=False): | ||||
|     def move_file(self, directory): | ||||
|         directory = pathclass.Path(directory) | ||||
|         directory.assert_is_directory() | ||||
|         new_path = directory.with_child(self.real_path.basename) | ||||
|         new_path.assert_not_exists() | ||||
|         self.rename_file(new_path.absolute_path, move=True, commit=commit) | ||||
|         self.rename_file(new_path.absolute_path, move=True) | ||||
| 
 | ||||
|     #@decorators.time_me | ||||
|     @decorators.required_feature('photo.reload_metadata') | ||||
|     @decorators.transaction | ||||
|     def reload_metadata(self, *, commit=False): | ||||
|     def reload_metadata(self): | ||||
|         ''' | ||||
|         Load the file's height, width, etc as appropriate for this type of file. | ||||
|         ''' | ||||
|  | @ -937,7 +937,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.edit') | ||||
|     @decorators.transaction | ||||
|     def relocate(self, new_filepath, *, allow_duplicates=False, commit=False): | ||||
|     def relocate(self, new_filepath, *, allow_duplicates=False): | ||||
|         ''' | ||||
|         Point the Photo object to a different filepath. | ||||
| 
 | ||||
|  | @ -965,7 +965,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.add_remove_tag') | ||||
|     @decorators.transaction | ||||
|     def remove_tag(self, tag, *, commit=False): | ||||
|     def remove_tag(self, tag): | ||||
|         tag = self.photodb.get_tag(name=tag) | ||||
| 
 | ||||
|         self.photodb.log.debug('Removing %s from %s', tag, self) | ||||
|  | @ -983,7 +983,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.edit') | ||||
|     @decorators.transaction | ||||
|     def rename_file(self, new_filename, *, move=False, commit=False): | ||||
|     def rename_file(self, new_filename, *, move=False): | ||||
|         ''' | ||||
|         Rename the file on the disk as well as in the database. | ||||
| 
 | ||||
|  | @ -1054,7 +1054,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.edit') | ||||
|     @decorators.transaction | ||||
|     def set_searchhidden(self, searchhidden, *, commit=False): | ||||
|     def set_searchhidden(self, searchhidden): | ||||
|         data = { | ||||
|             'id': self.id, | ||||
|             'searchhidden': bool(searchhidden), | ||||
|  | @ -1065,7 +1065,7 @@ class Photo(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('photo.edit') | ||||
|     @decorators.transaction | ||||
|     def set_override_filename(self, new_filename, *, commit=False): | ||||
|     def set_override_filename(self, new_filename): | ||||
|         if new_filename is not None: | ||||
|             cleaned = helpers.remove_path_badchars(new_filename) | ||||
|             cleaned = cleaned.strip() | ||||
|  | @ -1158,7 +1158,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def add_synonym(self, synname, *, commit=False): | ||||
|     def add_synonym(self, synname): | ||||
|         synname = self.photodb.normalize_tagname(synname) | ||||
| 
 | ||||
|         if synname == self.name: | ||||
|  | @ -1180,7 +1180,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def convert_to_synonym(self, mastertag, *, commit=False): | ||||
|     def convert_to_synonym(self, mastertag): | ||||
|         ''' | ||||
|         Convert this tag into a synonym for a different tag. | ||||
|         All photos which possess the current tag will have it replaced with the | ||||
|  | @ -1243,7 +1243,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def delete(self, *, delete_children=False, commit=False): | ||||
|     def delete(self, *, delete_children=False): | ||||
|         self.photodb.log.debug('Deleting %s', self) | ||||
|         self.photodb._cached_frozen_children = None | ||||
|         GroupableMixin.delete(self, delete_children=delete_children) | ||||
|  | @ -1254,7 +1254,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def edit(self, description=None, *, commit=False): | ||||
|     def edit(self, description=None): | ||||
|         ''' | ||||
|         Change the description. Leave None to keep current value. | ||||
|         ''' | ||||
|  | @ -1286,7 +1286,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def remove_synonym(self, synname, *, commit=False): | ||||
|     def remove_synonym(self, synname): | ||||
|         ''' | ||||
|         Delete a synonym. | ||||
|         This will have no effect on photos or other synonyms because | ||||
|  | @ -1309,7 +1309,7 @@ class Tag(ObjectBase, GroupableMixin): | |||
| 
 | ||||
|     @decorators.required_feature('tag.edit') | ||||
|     @decorators.transaction | ||||
|     def rename(self, new_name, *, apply_to_synonyms=True, commit=False): | ||||
|     def rename(self, new_name, *, apply_to_synonyms=True): | ||||
|         ''' | ||||
|         Rename the tag. Does not affect its relation to Photos or tag groups. | ||||
|         ''' | ||||
|  | @ -1393,7 +1393,7 @@ class User(ObjectBase): | |||
| 
 | ||||
|     @decorators.required_feature('user.edit') | ||||
|     @decorators.transaction | ||||
|     def set_display_name(self, display_name, *, commit=False): | ||||
|     def set_display_name(self, display_name): | ||||
|         display_name = self.normalize_display_name( | ||||
|             display_name, | ||||
|             max_length=self.photodb.config['user']['max_display_name_length'], | ||||
|  |  | |||
|  | @ -83,7 +83,6 @@ class PDBAlbumMixin: | |||
|             *, | ||||
|             associated_directory=None, | ||||
|             author=None, | ||||
|             commit=False, | ||||
|             photos=None, | ||||
|         ): | ||||
|         ''' | ||||
|  | @ -134,7 +133,7 @@ class PDBBookmarkMixin: | |||
| 
 | ||||
|     @decorators.required_feature('bookmark.new') | ||||
|     @decorators.transaction | ||||
|     def new_bookmark(self, url, title=None, *, author=None, commit=False): | ||||
|     def new_bookmark(self, url, title=None, *, author=None): | ||||
|         # These might raise exceptions. | ||||
|         title = objects.Bookmark.normalize_title(title) | ||||
|         url = objects.Bookmark.normalize_url(url) | ||||
|  | @ -213,7 +212,6 @@ class PDBPhotoMixin: | |||
|             *, | ||||
|             allow_duplicates=False, | ||||
|             author=None, | ||||
|             commit=False, | ||||
|             do_metadata=True, | ||||
|             do_thumbnail=True, | ||||
|             searchhidden=False, | ||||
|  | @ -277,7 +275,7 @@ class PDBPhotoMixin: | |||
|         return photo | ||||
| 
 | ||||
|     @decorators.transaction | ||||
|     def purge_deleted_files(self, photos=None, *, commit=False): | ||||
|     def purge_deleted_files(self, photos=None): | ||||
|         ''' | ||||
|         Delete Photos whose corresponding file on disk is missing. | ||||
| 
 | ||||
|  | @ -294,7 +292,7 @@ class PDBPhotoMixin: | |||
|             photo.delete() | ||||
| 
 | ||||
|     @decorators.transaction | ||||
|     def purge_empty_albums(self, albums=None, *, commit=False): | ||||
|     def purge_empty_albums(self, albums=None): | ||||
|         if albums is None: | ||||
|             to_check = set(self.get_albums()) | ||||
|         else: | ||||
|  | @ -914,7 +912,7 @@ class PDBTagMixin: | |||
| 
 | ||||
|     @decorators.required_feature('tag.new') | ||||
|     @decorators.transaction | ||||
|     def new_tag(self, tagname, description=None, *, author=None, commit=False): | ||||
|     def new_tag(self, tagname, description=None, *, author=None): | ||||
|         ''' | ||||
|         Register a new tag and return the Tag object. | ||||
|         ''' | ||||
|  | @ -1074,7 +1072,7 @@ class PDBUserMixin: | |||
| 
 | ||||
|     @decorators.required_feature('user.new') | ||||
|     @decorators.transaction | ||||
|     def register_user(self, username, password, *, display_name=None, commit=False): | ||||
|     def register_user(self, username, password, *, display_name=None): | ||||
|         # These might raise exceptions. | ||||
|         self.assert_valid_username(username) | ||||
| 
 | ||||
|  | @ -1122,7 +1120,6 @@ class PDBUtilMixin: | |||
|             new_photo_kwargs={}, | ||||
|             new_photo_ratelimit=None, | ||||
|             recurse=True, | ||||
|             commit=False, | ||||
|         ): | ||||
|         ''' | ||||
|         Create an album, and add the directory's contents to it recursively. | ||||
|  | @ -1239,7 +1236,8 @@ class PDBUtilMixin: | |||
|         else: | ||||
|             return None | ||||
| 
 | ||||
|     def easybake(self, ebstring, author=None, *, commit=False): | ||||
|     @decorators.transaction | ||||
|     def easybake(self, ebstring, author=None): | ||||
|         ''' | ||||
|         Easily create tags, groups, and synonyms with a string like | ||||
|         "group1.group2.tag+synonym" | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue