Remove old SQL_ constants. Use the dicts.
This commit is contained in:
		
							parent
							
								
									a8ead9c0c9
								
							
						
					
					
						commit
						e5a316ff9c
					
				
					 2 changed files with 7 additions and 41 deletions
				
			
		|  | @ -144,39 +144,6 @@ for statement in DB_INIT.split(';'): | |||
| _sql_dictify = lambda columns: {key:index for (index, key) in enumerate(columns)} | ||||
| SQL_INDEX = {key: _sql_dictify(value) for (key, value) in SQL_COLUMNS.items()} | ||||
| 
 | ||||
| def _extract_column_names(table): | ||||
|     statement = DB_INIT.split('CREATE TABLE IF NOT EXISTS %s(' % table)[1] | ||||
|     statement = statement.split(');')[0] | ||||
|     statement = statement.replace('\n', ' ') | ||||
|     columns = statement.split(',') | ||||
|     columns = [column.strip().split(' ')[0] for column in columns] | ||||
|     return columns | ||||
| 
 | ||||
| SQL_LASTID_COLUMNS = _extract_column_names('id_numbers') | ||||
| SQL_ALBUM_DIRECTORY_COLUMNS = _extract_column_names('album_associated_directories') | ||||
| SQL_ALBUM_COLUMNS = _extract_column_names('albums') | ||||
| SQL_BOOKMARK_COLUMNS = _extract_column_names('bookmarks') | ||||
| SQL_PHOTO_COLUMNS = _extract_column_names('photos') | ||||
| SQL_TAG_COLUMNS = _extract_column_names('tags') | ||||
| SQL_SYN_COLUMNS = _extract_column_names('tag_synonyms') | ||||
| SQL_ALBUMGROUP_COLUMNS = _extract_column_names('album_group_rel') | ||||
| SQL_ALBUMPHOTO_COLUMNS = _extract_column_names('album_photo_rel') | ||||
| SQL_PHOTOTAG_COLUMNS = _extract_column_names('photo_tag_rel') | ||||
| SQL_TAGGROUP_COLUMNS = _extract_column_names('tag_group_rel') | ||||
| SQL_USER_COLUMNS = _extract_column_names('users') | ||||
| 
 | ||||
| SQL_ALBUM = _sql_dictify(SQL_ALBUM_COLUMNS) | ||||
| SQL_ALBUM_DIRECTORY = _sql_dictify(SQL_ALBUM_DIRECTORY_COLUMNS) | ||||
| SQL_ALBUMGROUP = _sql_dictify(SQL_ALBUMGROUP_COLUMNS) | ||||
| SQL_BOOKMARK = _sql_dictify(SQL_BOOKMARK_COLUMNS) | ||||
| SQL_ALBUMPHOTO = _sql_dictify(SQL_ALBUMPHOTO_COLUMNS) | ||||
| SQL_LASTID = _sql_dictify(SQL_LASTID_COLUMNS) | ||||
| SQL_PHOTO = _sql_dictify(SQL_PHOTO_COLUMNS) | ||||
| SQL_PHOTOTAG = _sql_dictify(SQL_PHOTOTAG_COLUMNS) | ||||
| SQL_SYN = _sql_dictify(SQL_SYN_COLUMNS) | ||||
| SQL_TAG = _sql_dictify(SQL_TAG_COLUMNS) | ||||
| SQL_TAGGROUP = _sql_dictify(SQL_TAGGROUP_COLUMNS) | ||||
| SQL_USER = _sql_dictify(SQL_USER_COLUMNS) | ||||
| 
 | ||||
| ALLOWED_ORDERBY_COLUMNS = [ | ||||
|     'extension', | ||||
|  |  | |||
|  | @ -10,7 +10,6 @@ from . import helpers | |||
| from voussoirkit import bytestring | ||||
| from voussoirkit import pathclass | ||||
| from voussoirkit import spinal | ||||
| from voussoirkit import sqlhelpers | ||||
| 
 | ||||
| 
 | ||||
| class ObjectBase: | ||||
|  | @ -211,13 +210,13 @@ class GroupableMixin: | |||
| 
 | ||||
| 
 | ||||
| class Album(ObjectBase, GroupableMixin): | ||||
|     group_sql_index = constants.SQL_ALBUMGROUP | ||||
|     group_table = 'album_group_rel' | ||||
|     group_sql_index = constants.SQL_INDEX[group_table] | ||||
| 
 | ||||
|     def __init__(self, photodb, db_row): | ||||
|         super().__init__(photodb) | ||||
|         if isinstance(db_row, (list, tuple)): | ||||
|             db_row = dict(zip(constants.SQL_ALBUM_COLUMNS, db_row)) | ||||
|             db_row = dict(zip(constants.SQL_COLUMNS['albums'], db_row)) | ||||
| 
 | ||||
|         self.id = db_row['id'] | ||||
|         self.title = db_row['title'] or '' | ||||
|  | @ -481,7 +480,7 @@ class Bookmark(ObjectBase): | |||
|     def __init__(self, photodb, db_row): | ||||
|         super().__init__(photodb) | ||||
|         if isinstance(db_row, (list, tuple)): | ||||
|             db_row = dict(zip(constants.SQL_BOOKMARK_COLUMNS, db_row)) | ||||
|             db_row = dict(zip(constants.SQL_COLUMNS['bookmarks'], db_row)) | ||||
| 
 | ||||
|         self.id = db_row['id'] | ||||
|         self.title = db_row['title'] | ||||
|  | @ -537,7 +536,7 @@ class Photo(ObjectBase): | |||
|     def __init__(self, photodb, db_row): | ||||
|         super().__init__(photodb) | ||||
|         if isinstance(db_row, (list, tuple)): | ||||
|             db_row = dict(zip(constants.SQL_PHOTO_COLUMNS, db_row)) | ||||
|             db_row = dict(zip(constants.SQL_COLUMNS['photos'], db_row)) | ||||
| 
 | ||||
|         self.real_filepath = helpers.remove_path_badchars(db_row['filepath'], allowed=':\\/') | ||||
|         self.real_path = pathclass.Path(self.real_filepath) | ||||
|  | @ -1041,13 +1040,13 @@ class Tag(ObjectBase, GroupableMixin): | |||
|     ''' | ||||
|     A Tag, which can be applied to Photos for organization. | ||||
|     ''' | ||||
|     group_sql_index = constants.SQL_TAGGROUP | ||||
|     group_table = 'tag_group_rel' | ||||
|     group_sql_index = constants.SQL_INDEX[group_table] | ||||
| 
 | ||||
|     def __init__(self, photodb, db_row): | ||||
|         super().__init__(photodb) | ||||
|         if isinstance(db_row, (list, tuple)): | ||||
|             db_row = dict(zip(constants.SQL_TAG_COLUMNS, db_row)) | ||||
|             db_row = dict(zip(constants.SQL_COLUMNS['tags'], db_row)) | ||||
|         self.id = db_row['id'] | ||||
|         self.name = db_row['name'] | ||||
|         self.description = db_row['description'] or '' | ||||
|  | @ -1318,7 +1317,7 @@ class User(ObjectBase): | |||
|     def __init__(self, photodb, db_row): | ||||
|         super().__init__(photodb) | ||||
|         if isinstance(db_row, (list, tuple)): | ||||
|             db_row = dict(zip(constants.SQL_USER_COLUMNS, db_row)) | ||||
|             db_row = dict(zip(constants.SQL_COLUMNS['users'], db_row)) | ||||
|         self.id = db_row['id'] | ||||
|         self.username = db_row['username'] | ||||
|         self.created = db_row['created'] | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue