'port_remote': 8090,
'background_color': '#ffffff',
'queries_cutoff': '',
- 'whitelist_tags_prefilter': [],
- 'needed_tags_prefilter': [],
- 'whitelist_tags_display': [],
+ 'tags_prefilter_whitelist': [],
+ 'tags_prefilter_needed': [],
+ 'tags_display_whitelist': [],
'allow_file_edit': True
}
background_color: str
allow_file_edit: bool
queries_cutoff: DatetimeStr
- needed_tags_prefilter: TagSet
- whitelist_tags_prefilter: TagSet
- whitelist_tags_display: TagSet
+ tags_prefilter_needed: TagSet
+ tags_prefilter_whitelist: TagSet
+ tags_display_whitelist: TagSet
def __init__(self):
def set_attrs_from_dict(d):
set_attrs_from_dict({k[len(ENVIRON_PREFIX):].lower(): v
for k, v in environ.items()
if k.isupper() and k.startswith(ENVIRON_PREFIX)})
- for attr_name in ('needed_tags_prefilter',
- 'whitelist_tags_prefilter',
- 'whitelist_tags_display'):
- setattr(VideoFile, attr_name, getattr(self, attr_name))
+ for attr_key in [key for key in self.__class__.__annotations__.keys()
+ if key.startswith('tags_')]:
+ setattr(VideoFile, attr_key, getattr(self, attr_key))
class YoutubeQuery(DbData):
digest: Hash
tags: TagSet
# class attributes
- needed_tags_prefilter: TagSet
- whitelist_tags_prefilter: TagSet
- whitelist_tags_display: TagSet
+ tags_prefilter_needed: TagSet
+ tags_prefilter_whitelist: TagSet
+ tags_display_whitelist: TagSet
def __init__(self,
digest: Optional[Hash],
f for f in cls.get_all(conn)
if (show_absent or f.present)
and str(filter_path).lower() in str(f.rel_path).lower()
- and (cls.needed_tags_prefilter.are_all_in(f.tags)
- or not cls.whitelist_tags_prefilter.all_also_in(f.tags).empty)
- and needed_tags_seen.whitelisted(cls.whitelist_tags_display
+ and (cls.tags_prefilter_needed.are_all_in(f.tags)
+ or not cls.tags_prefilter_whitelist.all_also_in(f.tags).empty)
+ and needed_tags_seen.whitelisted(cls.tags_display_whitelist
).are_all_in(f.tags)]
@property
def tags_showable(self) -> TagSet:
- """Show .tags passing .whitelist_tags_display, if latter set."""
- return self.tags.whitelisted(self.whitelist_tags_display)
+ """Show .tags passing .tags_display_whitelist, if latter set."""
+ return self.tags.whitelisted(self.tags_display_whitelist)
def unused_tags(self, conn: DbConn) -> TagSet:
"""Return tags used among other VideoFiles, not in self."""
tags = TagSet()
for file in self.get_all(conn):
tags.add(file.tags.all_not_in(self.tags).whitelisted(
- self.whitelist_tags_display))
+ self.tags_display_whitelist))
return tags
@property