Let generate_id take the thing class instead of the table string.
This commit is contained in:
		
							parent
							
								
									c63f63f6a7
								
							
						
					
					
						commit
						d620660975
					
				
					 1 changed files with 10 additions and 5 deletions
				
			
		|  | @ -104,7 +104,7 @@ class PDBAlbumMixin: | |||
|         author_id = self.get_user_id_or_none(author) | ||||
| 
 | ||||
|         # Ok. | ||||
|         album_id = self.generate_id(table='albums') | ||||
|         album_id = self.generate_id(objects.Album) | ||||
|         log.info('New Album: %s %s.', album_id, title) | ||||
| 
 | ||||
|         data = { | ||||
|  | @ -196,7 +196,7 @@ class PDBBookmarkMixin: | |||
|         author_id = self.get_user_id_or_none(author) | ||||
| 
 | ||||
|         # Ok. | ||||
|         bookmark_id = self.generate_id(table='bookmarks') | ||||
|         bookmark_id = self.generate_id(objects.Bookmark) | ||||
|         log.info('New Bookmark: %s %s %s.', bookmark_id, title, url) | ||||
| 
 | ||||
|         data = { | ||||
|  | @ -349,7 +349,7 @@ class PDBPhotoMixin: | |||
|             raise TypeError(f'known_hash should be the 64-character sha256 hexdigest string.') | ||||
| 
 | ||||
|         # Ok. | ||||
|         photo_id = self.generate_id(table='photos') | ||||
|         photo_id = self.generate_id(objects.Photo) | ||||
|         log.info('New Photo: %s %s.', photo_id, filepath.absolute_path) | ||||
| 
 | ||||
|         data = { | ||||
|  | @ -969,7 +969,7 @@ class PDBTagMixin: | |||
|         author_id = self.get_user_id_or_none(author) | ||||
| 
 | ||||
|         # Ok. | ||||
|         tag_id = self.generate_id(table='tags') | ||||
|         tag_id = self.generate_id(objects.Tag) | ||||
|         log.info('New Tag: %s %s.', tag_id, tagname) | ||||
| 
 | ||||
|         self.caches['tag_exports'].clear() | ||||
|  | @ -1674,13 +1674,18 @@ class PhotoDB( | |||
|         if getattr(self, 'ephemeral', False): | ||||
|             self.ephemeral_directory.cleanup() | ||||
| 
 | ||||
|     def generate_id(self, table) -> str: | ||||
|     def generate_id(self, thing_class) -> str: | ||||
|         ''' | ||||
|         Create a new ID number that is unique to the given table. | ||||
|         Note that while this method may INSERT / UPDATE, it does not commit. | ||||
|         We'll wait for that to happen in whoever is calling us, so we know the | ||||
|         ID is actually used. | ||||
|         ''' | ||||
|         if not (isinstance(thing_class, type) and issubclass(thing_class, objects.ObjectBase)): | ||||
|             raise TypeError(thing_class) | ||||
| 
 | ||||
|         table = thing_class.table | ||||
| 
 | ||||
|         table = table.lower() | ||||
|         if table not in ['photos', 'tags', 'albums', 'bookmarks']: | ||||
|             raise ValueError(f'Invalid table requested: {table}.') | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue