Justin Warren
8265639047
Use __future__.annotations so type hints
...
work with Python < 2.9
2023-07-09 07:33:26 +10:00
Justin Warren
9f95f143df
Added parser for Mastodon 4.1 blocklist CSV format
2023-02-13 10:22:33 +11:00
Justin Warren
bb1d89e8be
Added blocklist threshold config params.
...
Added tests for threshold config params.
Actually using the config values in merge_blocklists()
2023-02-12 18:06:07 +11:00
Justin Warren
b67ff0c471
Merging domain above threshold needs to be in the threshold check block.
...
Added debugging statements for threshold merging.
2023-02-12 17:53:26 +11:00
Justin Warren
1e377099f0
Merge branch 'main' into allowlist-thresholds
2023-02-12 16:11:00 +11:00
Justin Warren
fb3a7ec2da
Added tests of comment merging.
...
Tweaked comment merging to pass tests.
2023-01-22 13:25:40 +11:00
Justin Warren
b8aa11e5ce
Don't merge comments if new comment is empty.
2023-01-22 13:15:29 +11:00
Justin Warren
3b4cdcbcdf
Refactored the code to use Blocklist data structure for allowlists.
...
Fixed bug in parse_blocklist() for preparse selection.
Updated test cases for allowlists.
Removed some code that is no longer needed.
2023-01-22 13:05:44 +11:00
Justin Warren
c018ebdf35
Add merge thresholds to merge_blocklists()
2023-01-22 09:02:03 +11:00
Justin Warren
e0207c4371
Remove unnecessary `count` from DomainBlock object.
2023-01-22 09:01:30 +11:00
Justin Warren
e59187d98f
Merge branch 'main' into allowlist-thresholds
2023-01-22 08:27:21 +11:00
Justin Warren
9fe934240a
Added Mastodon public API parser type because #33
...
Added ability to set scheme when talking to instances.
2023-01-22 07:54:46 +11:00
Shawn Grigson
8d3b9da144
Blockdata var already converted to _asdict()
2023-01-17 17:17:59 -06:00
Justin Warren
70b1ff32ff
Support a merge threshold level.
...
Added a Blocklist object.
Refactored tests to match changed code.
2023-01-17 09:04:34 +11:00
Justin Warren
a25773f838
Allowlists just remove blocks from merged list before push.
2023-01-15 13:33:32 +11:00
Justin Warren
3aa2e378e3
Remove implied setting of reject_media/reports
...
if severity is set to 'suspend'.
Complicates understanding of what the code actually does.
2023-01-15 10:02:12 +11:00
Justin Warren
04c19c62df
Merge branch 'main' into allowlists
2023-01-15 09:56:13 +11:00
Justin Warren
11accf33d3
Restructured argparsing for easier testing.
...
Fixed bug: mergeplan in config file was ignored. Reported in #22
Added test cases for cmdline parsing.
Added test cases for configfile parsing.
2023-01-15 09:46:37 +11:00
Justin Warren
17e0bdab0b
Force allowlist entries to always be severity 'noop'.
2023-01-14 11:00:21 +11:00
Justin Warren
6d4e18bbf6
Fixed bug in how DomainBlock defaults
...
handle reject_media, reject_reports.
2023-01-14 10:59:19 +11:00
Justin Warren
7a31c3380e
Added support for allowlists.
...
Updated docstring for merge_blocklists()
2023-01-14 10:44:08 +11:00
Justin Warren
894b133fbb
str2bool() now converts '' to False.
...
Added some extra debug logging of blocklist parsing.
2023-01-14 10:43:17 +11:00
Justin Warren
9817c99e40
Fixed bug in _asdict() of severity level.
2023-01-14 10:41:54 +11:00
Justin Warren
69c28f1a3f
add DomainBlock type hint to update_known_block().
...
Use ._asdict() to get info to pass to add block API call.
2023-01-13 17:31:50 +11:00
Justin Warren
a718af5a0b
Fix DomainBlock.id usage during __iter__()
2023-01-13 17:30:41 +11:00
Justin Warren
55dad3fa32
Aligned API call rate limit with server default.
2023-01-13 17:12:23 +11:00
Justin Warren
e0d40b5861
Fixed bug in severity change detection.
2023-01-12 09:31:16 +11:00
Justin Warren
327a44d907
Removed redundant global vars.
...
Refactored fetch from URLs and instances.
Change API delay to be in calls per hour.
Improved check_followed_severity() behaviour.
Updated sample config to include new format.
Added support for per-instance-source import_fields.
BlockSeverity of 'suspend' implies reject_media and reject_reports.
2023-01-12 09:09:06 +11:00
Justin Warren
66f0373cbe
Added boolean fields like 'reject_reports' to mergeplan handling.
...
Clarified logic in apply_mergeplan() for boolean fields.
Added tests for boolean merge situations.
2023-01-12 08:08:09 +11:00
Justin Warren
0a6eec4bf2
Improved comment merging.
2023-01-12 07:39:17 +11:00
Justin Warren
10011a5ffb
Refactored to add a DomainBlock object.
...
Refactored to use a BlockParser structure.
Added ability to limit max severity per-URL source.
Improved method for checking if changes are needed.
2023-01-12 07:02:48 +11:00
Justin Warren
edbc418e5e
Merge pull request #13 from eigenmagic/timeouts
...
Added timeout to requests calls
2023-01-10 18:50:33 +11:00
Justin Warren
1d0649ace5
Add args to show version information.
2023-01-10 13:16:23 +11:00
Justin Warren
23b8833a67
Added timeout to requests calls
2023-01-10 13:06:53 +11:00
Justin Warren
04d9eea827
Set User-Agent to FediBlockHole
2023-01-10 09:13:50 +11:00
Justin Warren
4ab369f95b
Package tool for PyPI/pip distribution.
2023-01-10 08:53:54 +11:00