NickTracker #111

Merged
merged 59 commits into from Dec 11, 2011

Conversation

Projects
None yet
2 participants
Contributor

astronouth7303 commented Dec 11, 2011

The huge NickTracker patch, as discussed in GH-101.

The actual tracking code itself is all in modules/nicktracker.py. The obvious and easy modules to use it (seen and tell) also have implementations to use it which are backwards compatible.

On top of all that, there are piles of other fixes and feature implementations, including:

  • Fixing the asynchat race condition
  • Added DaemonThread, startdaemon, and TimeTrackDict to tools.py
  • Added the ability for modules to override CommandInput and PhennyWrapper
  • Added the idea of an event and implemented an event source mixin to support it (event.py)
  • Added some debugging stuff with regards to message sending and receiving (enabled by setting SHOW_DISPATCH in the environment)
  • Moved the default configuration to its own file (config.py.tmpl)
  • Actually throw a warning for @deprecated functions
  • Organized and grouped the methods in bot.Phenny

astronouth7303 added some commits Nov 19, 2011

@astronouth7303 astronouth7303 PEP-8 and Steve-V#85. 480bdb2
@astronouth7303 astronouth7303 A few typos in the last commit. 161ceda
@astronouth7303 astronouth7303 Added some extension code for service modules. 0e7d076
@astronouth7303 astronouth7303 Filing away notes for future improvements. 3118d0b
@astronouth7303 astronouth7303 Got basic NickServ parsing working. 34a427b
@astronouth7303 astronouth7303 Better parsing and the start of querying logic. 02c9d91
@astronouth7303 astronouth7303 Can give a nick to the tracker commands now. 5a4bc8d
@astronouth7303 astronouth7303 Just moving stuff around so the dense string parsing is at the bottom 5b504e9
@astronouth7303 astronouth7303 If ACC gets nick '*', don't do anything with it. df93db3
@astronouth7303 astronouth7303 Implement the nick/account mapping. 7b9549b
@astronouth7303 astronouth7303 Added query queue and initial processing. 235cf95
@astronouth7303 astronouth7303 Lots more comments, plus a bug. d1ca965
@astronouth7303 astronouth7303 It works! I don't think there's any major bugs left in the processing…
… code.
3814af1
@astronouth7303 astronouth7303 Added a "canon" command to help test things. ba87646
@astronouth7303 astronouth7303 Bug in NICK handling. 211dd0d
@astronouth7303 astronouth7303 Fixed up nick changing so it doesn't throw errors. ced92d6
@astronouth7303 astronouth7303 Unified handling of status, better parsing, and an environ option to …
…print dispatches.
ffccc61
@astronouth7303 astronouth7303 Better prints and altnicks. a2a9a57
@astronouth7303 astronouth7303 Added EventSource. Useful for later. cce0798
@astronouth7303 astronouth7303 A TimeTrackDict, to help maintain caches. a5fae0c
@astronouth7303 astronouth7303 A utility function to start a daemon thread, since that code is used …
…EVERYWHERE.
26e0a17
@astronouth7303 astronouth7303 Warn about functions using @deprecated. 28bfe5a
@astronouth7303 astronouth7303 Use TimeTrackDict for the nick/account store. 44d168d
@astronouth7303 astronouth7303 Added more detailed NICKTRACKER flags. 7a8d6ad
@astronouth7303 astronouth7303 Actually track which nicks ACC should retry. 2531d73
@astronouth7303 astronouth7303 Use startdaemon(), allow overriding of PhennyWrapper.msg(). 3c493ad
@astronouth7303 astronouth7303 Allow a config for the data expiry, and move the default config to an…
… outside file.
61909ee
@astronouth7303 astronouth7303 Added TimeTrackDict.checktimes() to force a check for expired items. 413a675
@astronouth7303 astronouth7303 Formats, typos, and prints. dea3550
@astronouth7303 astronouth7303 Only expire items once. 775b3fd
@astronouth7303 astronouth7303 Use a set internally instead of list. 587cbf4
@astronouth7303 astronouth7303 Use a real traceback when errors fall through, help debug Steve-V#105. dedcfdb
@astronouth7303 astronouth7303 Added "unregistered" and "deleted" handling. Improved ACC usage by as…
…king for the account name.
6e78195
@astronouth7303 astronouth7303 Added printing of sends as well as dispatches, and changed the behavi…
…or of QUIT and PART. (Do an update.)
746a0d2
@astronouth7303 astronouth7303 GH-85 on tell. 616b4fe
@astronouth7303 astronouth7303 Got tell up to nicktracker speed. 3794a46
@astronouth7303 astronouth7303 Working on getting seen to work. getalts() is horribly broken. fe8a2c1
@astronouth7303 astronouth7303 Fixed getalts(). d481f24
@astronouth7303 astronouth7303 Seen now working with nicktracker. 901f9e5
@astronouth7303 astronouth7303 Don't return duplicate nicks from getalts() 00b0e15
@astronouth7303 astronouth7303 Cleaned up. Fixed a bug. And don't go checking for multiple nicks. 000a78c
@astronouth7303 astronouth7303 Put the sort in the right order. 6a11f26
@astronouth7303 astronouth7303 Fix a typo and added some more TODOs. 9e23503
@astronouth7303 astronouth7303 SQLite seems to basically work. df12c35
@astronouth7303 astronouth7303 Expire data in getalts() 83d319c
@astronouth7303 astronouth7303 One last bug. I hope. 9f5fc59
@astronouth7303 astronouth7303 Fixed a bug with regards to where NickServ reports the wrong nick. d5be006
@astronouth7303 astronouth7303 Use startdaemon(). 1373c31
@astronouth7303 astronouth7303 Fixed a bug with renames, and added transactions. 85f1be4
@astronouth7303 astronouth7303 Namespace accounts and nicks in seen. c3f05b6
@astronouth7303 astronouth7303 Added NickTracker support to greet. 15903a1
@astronouth7303 astronouth7303 Change that didn't make it into the rebase. 918fd4a
@astronouth7303 astronouth7303 Don't wipe out accounts when the user goes OFFLINE. a7dbeb1
@astronouth7303 astronouth7303 I think I fixed Steve-V#105. We'll see. 3ed5e21
@astronouth7303 astronouth7303 Oops. Forgot the other half of that. 2ac9d62
@astronouth7303 astronouth7303 Fixed a logic error in renick handling. 60f800c
@astronouth7303 astronouth7303 Added DaemonThread class to support subclassing threading.Thread whil…
…e staying DRY.
04fd869
@astronouth7303 astronouth7303 Added some encapsulation to nicks_to_process. 49d3bce
@astronouth7303 astronouth7303 Fixed a typo and added some documentation. cdca027

@Steve-V Steve-V added a commit that referenced this pull request Dec 11, 2011

@Steve-V Steve-V Merge pull request #111 from astronouth7303/nicktracker
NickTracker
e9b698d

@Steve-V Steve-V merged commit e9b698d into Steve-V:master Dec 11, 2011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment