Delete file path entry in db when file is moved inside collection
This commit is contained in:
		
							parent
							
								
									1a78962012
								
							
						
					
					
						commit
						2ac8ca3b67
					
				| @ -287,7 +287,6 @@ class Collection(object): | ||||
|         row_data = {} | ||||
|         for title in self.db.tables[table]['header']: | ||||
|             key = utils.camel2snake(title) | ||||
|             # Convert Path type to str | ||||
|             row_data[title] = metadata[key] | ||||
| 
 | ||||
|         return row_data | ||||
| @ -336,6 +335,10 @@ class Collection(object): | ||||
|                 media.metadata['file_path'] = os.path.relpath(dest_path, | ||||
|                         self.root) | ||||
|                 self._add_db_data(dest_path, media.metadata) | ||||
|                 if self.mode == 'move': | ||||
|                     # Delete file path entry in db when file is moved inside collection | ||||
|                     if str(self.root) in str(src_path): | ||||
|                         self.db.delete_filepath(str(src_path.relative_to(self.root))) | ||||
| 
 | ||||
|             self.summary.append((src_path, dest_path)) | ||||
|             record = True | ||||
|  | ||||
| @ -259,17 +259,20 @@ class Sqlite: | ||||
| 
 | ||||
|         return value | ||||
| 
 | ||||
|     def delete_row(self, table, id): | ||||
|     def delete_row(self, table, column, value): | ||||
|         """ | ||||
|         Delete a row by row id in table | ||||
|         :param table: database table | ||||
|         :param id: id of the row | ||||
|         :return: | ||||
|         """ | ||||
|         sql = f'delete from {table} where id=?' | ||||
|         self.cur.execute(sql, (id,)) | ||||
|         sql = f'delete from {table} where {column}=?' | ||||
|         self.cur.execute(sql, (value,)) | ||||
|         self.con.commit() | ||||
| 
 | ||||
|     def delete_filepath(self, value): | ||||
|         self.delete_row('metadata', 'FilePath', value) | ||||
| 
 | ||||
|     def delete_all_rows(self, table): | ||||
|         """ | ||||
|         Delete all row in table | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user