~stefanor/ibid/exchange-336443

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
general
=======
- 'object' and 'type' are probably keywords that shouldn't be reused, btw
- proper exception handling needed all round (and maybe some more error checks?)
- could a Processor dynamically alter priority?  of itself, or another class?  if so, would it ever want to?  "learning"?
- the patch on ConfigObj only does one level of list interpolation.  Does ConfigObj support multi-level nested lists?

plugins
=======
- process() is still a bit biased towards type=message?
- how about having a lambda decorator like @match(pattern) to allow other types of matching?
- reload config is a good example of somewhere that error reporting should occur
- load/reload is a good example of the reloader not being generic enough... I think?
- is ignore strong enough?  it just sets processed to true - postprocessors won't ignore this.  is that bad?
- applause to Michael for the Responses processor: that's clever
  -- that said, not at all convinced by Address processor
    -- it takes a basestring only, not a dict as well
    -- do we even want what it does?  cf. the Announce plugin - I think Processors should decide for themselves whether they want to address their replies or not.  (But what about private replies - adding an address in to that is crap)
- identity plugin:  'identify' is different in different scopes and it's a little confusing - not cool to a first-time reader
- twisted helper functions (with that whole blocking-wrapper thing) may as well be written
- sources processor:  needs a bit of error checking, authentication and...  all sorts.
  -- (no, I know, it was there for debugging, just a note for Future Us)