Skip to content

Commit cad1ad5

Browse files
extensions as entry points
1 parent a65140a commit cad1ad5

22 files changed

Lines changed: 56 additions & 62 deletions

setup.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,31 @@
4545
package_data={
4646
"sifter": ['py.typed']
4747
},
48+
entry_points={
49+
'sifter_extensions': [
50+
# sifter commands
51+
'discard = sifter.commands.discard:CommandDiscard',
52+
'fileinto = sifter.commands.fileinto:CommandFileInto',
53+
'if = sifter.commands.if_cmd:CommandIf',
54+
'elseif = sifter.commands.if_cmd:CommandElsIf',
55+
'else = sifter.commands.if_cmd:CommandElse',
56+
'keep = sifter.commands.keep:CommandKeep',
57+
'redirect = sifter.commands.redirect:CommandRedirect',
58+
'require = sifter.commands.require:CommandRequire',
59+
'stop = sifter.commands.stop:CommandStop',
60+
# sifter tests
61+
'address = sifter.tests.address:TestAddress',
62+
'allof = sifter.tests.allof:TestAllOf',
63+
'anyof = sifter.tests.anyof:TestAnyOf',
64+
'exists = sifter.tests.exists:TestExists',
65+
'header = sifter.tests.header:TestHeader',
66+
'false = sifter.tests.false:TestFalse',
67+
'not_test = sifter.tests.not_test:TestNot',
68+
'size = sifter.tests.size:TestSize',
69+
'true = sifter.tests.true:TestTrue',
70+
# sifter comparators
71+
'ascii_casemap = sifter.comparators.ascii_casemap:ComparatorASCIICasemap',
72+
'octed = sifter.comparators.octet:ComparatorOctet'
73+
],
74+
}
4875
)

sifter/commands/discard.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,3 @@ class CommandDiscard(Command):
1616
def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions]:
1717
state.actions.cancel_implicit_keep()
1818
return None
19-
20-
21-
CommandDiscard.register()

sifter/commands/fileinto.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,3 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
2222
state.actions.append('fileinto', file_dest) # type: ignore
2323
state.actions.cancel_implicit_keep()
2424
return None
25-
26-
27-
CommandFileInto.register()

sifter/commands/if_cmd.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ class CommandIf(CommandIfBase):
2828
RULE_IDENTIFIER = 'IF'
2929

3030

31-
CommandIf.register()
32-
33-
3431
class CommandElsIf(CommandIfBase):
3532

3633
RULE_IDENTIFIER = 'ELSIF'
@@ -41,9 +38,6 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
4138
return super().evaluate(message, state)
4239

4340

44-
CommandElsIf.register()
45-
46-
4741
class CommandElse(Command):
4842

4943
RULE_IDENTIFIER = 'ELSE'
@@ -54,6 +48,3 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
5448
if state.last_if:
5549
return None
5650
return self.block.evaluate(message, state)
57-
58-
59-
CommandElse.register()

sifter/commands/keep.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,3 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
1818
state.actions.append('keep')
1919
state.actions.cancel_implicit_keep()
2020
return None
21-
22-
23-
CommandKeep.register()

sifter/commands/redirect.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,3 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
5252
state.actions.append('redirect', self.email_address)
5353
state.actions.cancel_implicit_keep()
5454
return None
55-
56-
57-
CommandRedirect.register()

sifter/commands/require.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,3 @@ def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions
2828
)
2929
state.require_extension(ext_name)
3030
return None
31-
32-
33-
CommandRequire.register()

sifter/commands/stop.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,3 @@ class CommandStop(Command):
1616
def evaluate(self, message: Message, state: EvaluationState) -> Optional[Actions]:
1717
state.actions.append('stop')
1818
return None
19-
20-
21-
CommandStop.register()

sifter/comparators/ascii_casemap.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,3 @@ class ComparatorASCIICasemap(ComparatorOctet):
1111
@classmethod
1212
def sort_key(cls, s: Text) -> Text:
1313
return s.upper()
14-
15-
16-
ComparatorASCIICasemap.register()

sifter/comparators/octet.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,3 @@ def cmp_matches(cls, s: Text, pattern: Text, state: EvaluationState) -> Optional
4949
cls.sort_key(s),
5050
re.MULTILINE | re.DOTALL
5151
)
52-
53-
54-
ComparatorOctet.register()

0 commit comments

Comments
 (0)