Add domain-wide blacklist and whitelist functionality
This commit is contained in:
parent
aa8a74ba67
commit
bdbd46ebd4
14 changed files with 930 additions and 305 deletions
|
|
@ -184,3 +184,33 @@ def test_regex_should_be_sent() -> None:
|
|||
assert should_be_sent(reader, first_entry[0]) is True, "Entry should be sent with newline-separated patterns"
|
||||
reader.delete_tag(feed, "regex_whitelist_author")
|
||||
assert should_be_sent(reader, first_entry[0]) is False, "Entry should not be sent"
|
||||
|
||||
|
||||
def test_domain_whitelist_should_be_sent() -> None:
|
||||
"""Domain-wide whitelist should apply to feeds on the same domain."""
|
||||
reader: Reader = get_reader()
|
||||
|
||||
reader.add_feed(feed_url)
|
||||
feed: Feed = reader.get_feed(feed_url)
|
||||
reader.update_feeds()
|
||||
|
||||
entries: Iterable[Entry] = reader.get_entries(feed=feed)
|
||||
first_entry: Entry | None = next(iter(entries), None)
|
||||
assert first_entry is not None, "Expected at least one entry"
|
||||
|
||||
assert has_white_tags(reader, feed) is False, "Feed should not have whitelist tags"
|
||||
assert should_be_sent(reader, first_entry) is False, "Entry should not be sent"
|
||||
|
||||
reader.set_tag(
|
||||
(),
|
||||
"domain_whitelist",
|
||||
{
|
||||
"lovinator.space": {
|
||||
"whitelist_author": "TheLovinator",
|
||||
"regex_whitelist_title": r"fvnnn\\w+",
|
||||
},
|
||||
},
|
||||
) # pyright: ignore[reportArgumentType]
|
||||
|
||||
assert has_white_tags(reader, feed) is True, "Domain whitelist should count as whitelist tags"
|
||||
assert should_be_sent(reader, first_entry) is True, "Entry should be sent by domain whitelist"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue