Add Channel.normalize_queuefile_extension.
This commit is contained in:
		
							parent
							
								
									8c2aea06f3
								
							
						
					
					
						commit
						38299db102
					
				
					 2 changed files with 24 additions and 9 deletions
				
			
		|  | @ -1,4 +1,6 @@ | ||||||
| import datetime | import datetime | ||||||
|  | import typing | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| from . import constants | from . import constants | ||||||
| from . import exceptions | from . import exceptions | ||||||
|  | @ -34,12 +36,26 @@ class Channel(Base): | ||||||
|         self.name = db_row['name'] |         self.name = db_row['name'] | ||||||
|         self.uploads_playlist = db_row['uploads_playlist'] |         self.uploads_playlist = db_row['uploads_playlist'] | ||||||
|         self.download_directory = db_row['download_directory'] |         self.download_directory = db_row['download_directory'] | ||||||
|         self.queuefile_extension = db_row['queuefile_extension'] |         self.queuefile_extension = self.normalize_queuefile_extension(db_row['queuefile_extension']) | ||||||
|         self.automark = db_row['automark'] or "pending" |         self.automark = db_row['automark'] or 'pending' | ||||||
| 
 | 
 | ||||||
|     def __repr__(self): |     def __repr__(self): | ||||||
|         return f'Channel:{self.id}' |         return f'Channel:{self.id}' | ||||||
| 
 | 
 | ||||||
|  |     @staticmethod | ||||||
|  |     def normalize_queuefile_extension(queuefile_extension) -> typing.Optional[str]: | ||||||
|  |         if queuefile_extension is None: | ||||||
|  |             return None | ||||||
|  | 
 | ||||||
|  |         if not isinstance(queuefile_extension, str): | ||||||
|  |             raise TypeError(f'queuefile_extension should be {str}, not {type(queuefile_extension)}.') | ||||||
|  | 
 | ||||||
|  |         queuefile_extension = queuefile_extension.strip() | ||||||
|  |         if not queuefile_extension: | ||||||
|  |             return None | ||||||
|  | 
 | ||||||
|  |         return queuefile_extension | ||||||
|  | 
 | ||||||
|     def _rss_assisted_videos(self): |     def _rss_assisted_videos(self): | ||||||
|         ''' |         ''' | ||||||
|         RSS-assisted refresh will use the channel's RSS feed to find videos |         RSS-assisted refresh will use the channel's RSS feed to find videos | ||||||
|  | @ -162,19 +178,16 @@ class Channel(Base): | ||||||
|         if commit: |         if commit: | ||||||
|             self.ycdldb.commit() |             self.ycdldb.commit() | ||||||
| 
 | 
 | ||||||
|     def set_queuefile_extension(self, extension, commit=True): |  | ||||||
|         if not extension: |  | ||||||
|             extension = None |  | ||||||
| 
 | 
 | ||||||
|         if extension is not None: |     def set_queuefile_extension(self, queuefile_extension, commit=True): | ||||||
|             extension = extension.strip() |         queuefile_extension = self.normalize_queuefile_extension(queuefile_extension) | ||||||
| 
 | 
 | ||||||
|         pairs = { |         pairs = { | ||||||
|             'id': self.id, |             'id': self.id, | ||||||
|             'queuefile_extension': extension, |             'queuefile_extension': queuefile_extension, | ||||||
|         } |         } | ||||||
|         self.ycdldb.sql_update(table='channels', pairs=pairs, where_key='id') |         self.ycdldb.sql_update(table='channels', pairs=pairs, where_key='id') | ||||||
|         self.queuefile_extension = extension |         self.queuefile_extension = queuefile_extension | ||||||
| 
 | 
 | ||||||
|         if commit: |         if commit: | ||||||
|             self.ycdldb.commit() |             self.ycdldb.commit() | ||||||
|  |  | ||||||
|  | @ -138,6 +138,8 @@ class YCDLDBChannelMixin: | ||||||
|         if download_directory is not None: |         if download_directory is not None: | ||||||
|             download_directory = pathclass.Path(download_directory).absolute_path |             download_directory = pathclass.Path(download_directory).absolute_path | ||||||
| 
 | 
 | ||||||
|  |         queuefile_extension = objects.Channel.normalize_queuefile_extension(queuefile_extension) | ||||||
|  | 
 | ||||||
|         self.log.info('Adding channel %s %s', channel_id, name) |         self.log.info('Adding channel %s %s', channel_id, name) | ||||||
| 
 | 
 | ||||||
|         data = { |         data = { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue