diff --git a/examples/Random.py b/examples/Random.py index b6b3855ef..0880b3b89 100644 --- a/examples/Random.py +++ b/examples/Random.py @@ -33,7 +33,7 @@ Lots of stuff relating to random numbers. """ -from baseplugin import * +import plugins import random diff --git a/plugins/Alias.py b/plugins/Alias.py index 302fb2677..2845dd9a4 100644 --- a/plugins/Alias.py +++ b/plugins/Alias.py @@ -33,7 +33,7 @@ Allows 'aliases' for other commands. """ -from baseplugin import * +import plugins import re import new diff --git a/plugins/Amazon.py b/plugins/Amazon.py index cd89df1e1..535348dd7 100644 --- a/plugins/Amazon.py +++ b/plugins/Amazon.py @@ -33,7 +33,7 @@ Amazon module, to use Amazon's Web Services. Currently only does ISBN lookups. """ -from baseplugin import * +import plugins import amazon diff --git a/plugins/Babelfish.py b/plugins/Babelfish.py index 5956e419c..46e3cc29c 100644 --- a/plugins/Babelfish.py +++ b/plugins/Babelfish.py @@ -33,7 +33,7 @@ Babelfish-related commands. """ -from baseplugin import * +import plugins import random diff --git a/plugins/BadWords.py b/plugins/BadWords.py index 0a5df5f4d..53924e415 100644 --- a/plugins/BadWords.py +++ b/plugins/BadWords.py @@ -34,7 +34,7 @@ Filters bad words on outgoing messages from the bot, so the bot can't be made to say bad words. """ -from baseplugin import * +import plugins import re import sets diff --git a/plugins/ChannelDB.py b/plugins/ChannelDB.py index 9ce496d27..280d289fc 100644 --- a/plugins/ChannelDB.py +++ b/plugins/ChannelDB.py @@ -35,7 +35,7 @@ concerning joins, parts, and various other commands in addition to tracking statistics about smileys, actions, characters, and words. """ -from baseplugin import * +import plugins import os import re @@ -75,10 +75,10 @@ frowns = (':|', ':-/', ':-\\', ':\\', ':/', ':(', ':-(', ':\'(') smileyre = re.compile('|'.join(map(re.escape, smileys))) frownre = re.compile('|'.join(map(re.escape, frowns))) -class ChannelDB(ChannelDBHandler, callbacks.PrivmsgCommandAndRegexp): +class ChannelDB(plugins.ChannelDBHandler, callbacks.PrivmsgCommandAndRegexp): regexps = sets.Set(['increaseKarma', 'decreaseKarma']) def __init__(self): - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) callbacks.PrivmsgCommandAndRegexp.__init__(self) def makeDb(self, filename): diff --git a/plugins/ChannelLogger.py b/plugins/ChannelLogger.py index 6462e5ab0..9e52ba3d7 100644 --- a/plugins/ChannelLogger.py +++ b/plugins/ChannelLogger.py @@ -33,7 +33,7 @@ Logs each channel to its own individual logfile. """ -from baseplugin import * +import plugins import time from cStringIO import StringIO diff --git a/plugins/Ctcp.py b/plugins/Ctcp.py index 5bdca686e..b9e41adc8 100644 --- a/plugins/Ctcp.py +++ b/plugins/Ctcp.py @@ -34,7 +34,7 @@ Handles standard CTCP responses to PING, TIME, SOURCE, VERSION, USERINFO, and FINGER. """ -from baseplugin import * +import plugins import os import sys diff --git a/plugins/DCC.py b/plugins/DCC.py index acf43a514..9216fc020 100644 --- a/plugins/DCC.py +++ b/plugins/DCC.py @@ -33,7 +33,7 @@ Supports various DCC things. """ -from baseplugin import * +import plugins import socket import textwrap diff --git a/plugins/Debian.py b/plugins/Debian.py index 1a1a73358..d2bc347b3 100644 --- a/plugins/Debian.py +++ b/plugins/Debian.py @@ -33,7 +33,7 @@ This is a module to contain Debian-specific commands. """ -from baseplugin import * +import plugins import re import gzip @@ -88,7 +88,7 @@ example = utils.wrapLines(""" """) -class Debian(callbacks.Privmsg, PeriodicFileDownloader): +class Debian(callbacks.Privmsg, plugins.PeriodicFileDownloader): threaded = True periodicFiles = { # This file is only updated once a week, so there's no sense in @@ -100,7 +100,7 @@ class Debian(callbacks.Privmsg, PeriodicFileDownloader): contents = os.path.join(conf.dataDir, 'Contents-i386.gz') def __init__(self): callbacks.Privmsg.__init__(self) - PeriodicFileDownloader.__init__(self) + plugins.PeriodicFileDownloader.__init__(self) self.usePythonZegrep = False def usepythonzegrep(self, irc, msg, args): diff --git a/plugins/Dict.py b/plugins/Dict.py index 56febad8a..35c3220bb 100644 --- a/plugins/Dict.py +++ b/plugins/Dict.py @@ -33,7 +33,7 @@ Commands that use the dictd protocol to snag stuff off a server. """ -from baseplugin import * +import plugins import sets import random diff --git a/plugins/Enforcer.py b/plugins/Enforcer.py index f64fdddb8..ebab85da1 100644 --- a/plugins/Enforcer.py +++ b/plugins/Enforcer.py @@ -34,7 +34,7 @@ Enforcer: Enforces capabilities on a channel, watching MODEs, KICKs, JOINs, etc. to make sure they match the channel's config. """ -from baseplugin import * +import plugins import conf import ircdb diff --git a/plugins/Factoids.py b/plugins/Factoids.py index 9b64643a2..c2c976d74 100644 --- a/plugins/Factoids.py +++ b/plugins/Factoids.py @@ -34,7 +34,7 @@ Handles "factoids," little tidbits of information held in a database and available on demand via several commands. """ -from baseplugin import * +import plugins import time import getopt @@ -87,9 +87,9 @@ G jemfinch: Error: No factoid matches that key. jemfinch: 'CFnews' and 'sf.net-website' """) -class Factoids(ChannelDBHandler, callbacks.Privmsg): +class Factoids(plugins.ChannelDBHandler, callbacks.Privmsg): def __init__(self): - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) callbacks.Privmsg.__init__(self) def makeDb(self, filename): diff --git a/plugins/FixRelayBot.py b/plugins/FixRelayBot.py index 802c8aebb..1bff12779 100644 --- a/plugins/FixRelayBot.py +++ b/plugins/FixRelayBot.py @@ -34,7 +34,7 @@ Allows people behind a relaybot (which uses to relay messages) to access the bot. """ -from baseplugin import * +import plugins import re import random diff --git a/plugins/FreeBSD.py b/plugins/FreeBSD.py index 818433418..e4b717911 100755 --- a/plugins/FreeBSD.py +++ b/plugins/FreeBSD.py @@ -33,7 +33,7 @@ Provides FreeBSD ports searching and other FreeBSD-specific services. """ -from baseplugin import * +import plugins import string import getopt @@ -47,12 +47,15 @@ import privmsgs import callbacks indexFile = 'INDEX' +indexUrl = 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/INDEX' dbFile = os.path.join(conf.dataDir, 'FreeBSD.db') def getIndex(): """Returns a file-like object that is the Ports index.""" - # ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-stable/INDEX - return file(indexFile, 'r') + if os.path.exists(indexFile): + return file(indexFile, 'r') + else: + return urllib2.urlopen(indexUrl) def makeDb(dbfilename, indexfd, replace=False): if os.path.exists(dbfilename): diff --git a/plugins/Friendly.py b/plugins/Friendly.py index a42783d6d..d56d2bed3 100755 --- a/plugins/Friendly.py +++ b/plugins/Friendly.py @@ -33,7 +33,7 @@ Just a regexp module to make the bot a wee bit friendlier. """ -from baseplugin import * +import plugins import re diff --git a/plugins/FunCommands.py b/plugins/FunCommands.py index 68c0fe10a..5add09440 100644 --- a/plugins/FunCommands.py +++ b/plugins/FunCommands.py @@ -33,7 +33,7 @@ Provides a multitude of fun, useless commands. """ -from baseplugin import * +import plugins from itertools import imap, ifilter import os diff --git a/plugins/FunDB.py b/plugins/FunDB.py index e3d5f4473..6b78b98d2 100755 --- a/plugins/FunDB.py +++ b/plugins/FunDB.py @@ -33,7 +33,7 @@ Provides fun commands that require a database to operate. """ -from baseplugin import * +import plugins import sets import time diff --git a/plugins/Gameknot.py b/plugins/Gameknot.py index 819ba4d40..05ddbf2b4 100644 --- a/plugins/Gameknot.py +++ b/plugins/Gameknot.py @@ -32,7 +32,7 @@ Handles URL snarfing for Gameknot.com and the gkstats command. """ -from baseplugin import * +import plugins import re import sets diff --git a/plugins/Google.py b/plugins/Google.py index 38a85df95..121a2e545 100644 --- a/plugins/Google.py +++ b/plugins/Google.py @@ -33,7 +33,7 @@ Acceses Google for various things. """ -from baseplugin import * +import plugins import re import sets diff --git a/plugins/Http.py b/plugins/Http.py index c729472b5..276bad3e2 100644 --- a/plugins/Http.py +++ b/plugins/Http.py @@ -33,7 +33,7 @@ Provides several commands that go out to websites and get things. """ -from baseplugin import * +import plugins import re import sets diff --git a/plugins/IMDB.py b/plugins/IMDB.py index 23aa2cb50..19a7ea984 100644 --- a/plugins/IMDB.py +++ b/plugins/IMDB.py @@ -34,7 +34,7 @@ Does various (well, only one at the moment :)) things with the Internet Movie Database. """ -from baseplugin import * +import plugins import IMDb diff --git a/plugins/Infobot.py b/plugins/Infobot.py index b6b7c531f..4dc6a8423 100755 --- a/plugins/Infobot.py +++ b/plugins/Infobot.py @@ -33,7 +33,7 @@ A plugin that tries to emulate Infobot somewhat faithfully. """ -from baseplugin import * +import plugins import re import os.path diff --git a/plugins/KillBold.py b/plugins/KillBold.py index d3f480340..0f3b64fba 100644 --- a/plugins/KillBold.py +++ b/plugins/KillBold.py @@ -33,7 +33,7 @@ Removes all bold output by the bot. """ -from baseplugin import * +import plugins import re diff --git a/plugins/Lookup.py b/plugins/Lookup.py index 7d32d60b4..2559dafa0 100644 --- a/plugins/Lookup.py +++ b/plugins/Lookup.py @@ -33,7 +33,7 @@ The Lookup plugin handles looking up various values by their key. """ -from baseplugin import * +import plugins import os import sys diff --git a/plugins/Markov.py b/plugins/Markov.py index 7faa75f45..7446257b2 100644 --- a/plugins/Markov.py +++ b/plugins/Markov.py @@ -36,7 +36,7 @@ later hijinks. To read more about Markov Chains, check out large enough, you can have it make fun little random messages from it. """ -from baseplugin import * +import plugins import os.path @@ -57,10 +57,10 @@ def configure(onStart, afterConnect, advanced): from questions import expect, anything, something, yn onStart.append('load Markov') -class Markov(ChannelDBHandler, callbacks.Privmsg): +class Markov(plugins.ChannelDBHandler, callbacks.Privmsg): threaded = True def __init__(self): - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) callbacks.Privmsg.__init__(self) def makeDb(self, filename): diff --git a/plugins/Math.py b/plugins/Math.py index 246e0fc04..8e1fd87fa 100644 --- a/plugins/Math.py +++ b/plugins/Math.py @@ -33,7 +33,7 @@ Various math-related commands. """ -from baseplugin import * +import plugins import re import new diff --git a/plugins/Moobot.py b/plugins/Moobot.py index cf071d471..28ec5f749 100644 --- a/plugins/Moobot.py +++ b/plugins/Moobot.py @@ -37,7 +37,7 @@ Provides several commands that shamelessly imitate Moobot, if only to show developers coming from Moobot how to code to Supybot. """ -from baseplugin import * +import plugins import re import base64 diff --git a/plugins/Network.py b/plugins/Network.py index 18927f7cc..e1465ec35 100644 --- a/plugins/Network.py +++ b/plugins/Network.py @@ -33,7 +33,7 @@ Various network-related commands. """ -from baseplugin import * +import plugins import sets import socket diff --git a/plugins/News.py b/plugins/News.py index 081a3b6d8..33f037ab3 100644 --- a/plugins/News.py +++ b/plugins/News.py @@ -34,7 +34,7 @@ A module to allow each channel to have "news" which people will be notified of when they join the channel. News items may have expiration dates. """ -from baseplugin import * +import plugins import os import time @@ -77,9 +77,9 @@ be a lot more detailed. (Subject: "Another test news item", added by Strike on 07:12 PM, September 12, 2003, expires at 08:36 PM, September 12, 2003) """) -class News(ChannelDBHandler, callbacks.Privmsg): +class News(plugins.ChannelDBHandler, callbacks.Privmsg): def __init__(self): - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) callbacks.Privmsg.__init__(self) self.removeOld = False diff --git a/plugins/Notes.py b/plugins/Notes.py index 5ce5f7726..7f43fffd7 100644 --- a/plugins/Notes.py +++ b/plugins/Notes.py @@ -34,7 +34,7 @@ A complete messaging system that allows users to leave 'notes' for other users that can be retrieved later. """ -from baseplugin import * +import plugins import time import os.path diff --git a/plugins/OSU.py b/plugins/OSU.py index b1176a289..09051f6d3 100644 --- a/plugins/OSU.py +++ b/plugins/OSU.py @@ -34,7 +34,7 @@ Commands specific to OSU; (The Ohio State University, ) """ -from baseplugin import * +import plugins import urllib2 diff --git a/plugins/Parter.py b/plugins/Parter.py index 4a112b755..83dd23a9a 100644 --- a/plugins/Parter.py +++ b/plugins/Parter.py @@ -36,7 +36,7 @@ bots. This module makes supybot automatically part certain channels as soon as he joins. """ -from baseplugin import * +import plugins import conf import utils diff --git a/plugins/Python.py b/plugins/Python.py index a596eb0ed..4b56913fd 100644 --- a/plugins/Python.py +++ b/plugins/Python.py @@ -34,7 +34,7 @@ Various commands relating to Python (the programming language supybot is written in) somehow. """ -from baseplugin import * +import plugins import os import imp diff --git a/plugins/Quotes.py b/plugins/Quotes.py index 018f2a117..ed04d92ee 100644 --- a/plugins/Quotes.py +++ b/plugins/Quotes.py @@ -33,7 +33,7 @@ Maintains a Quotes database for each channel. """ -from baseplugin import * +import plugins import re import time @@ -48,9 +48,9 @@ import ircdb import privmsgs import callbacks -class Quotes(ChannelDBHandler, callbacks.Privmsg): +class Quotes(plugins.ChannelDBHandler, callbacks.Privmsg): def __init__(self): - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) callbacks.Privmsg.__init__(self) def makeDb(self, filename): diff --git a/plugins/RSS.py b/plugins/RSS.py index 0f16cf101..e46f6a7c6 100644 --- a/plugins/RSS.py +++ b/plugins/RSS.py @@ -34,7 +34,7 @@ Provides basic functionality for handling RSS/RDF feeds. Depends on the Alias module for user-friendliness. """ -from baseplugin import * +import plugins import time diff --git a/plugins/RawLogger.py b/plugins/RawLogger.py index 1e52527db..075c58f3a 100644 --- a/plugins/RawLogger.py +++ b/plugins/RawLogger.py @@ -33,7 +33,7 @@ Logs raw IRC messages to a file, conf.dataDir/raw.log """ -from baseplugin import * +import plugins import os import conf diff --git a/plugins/Relay.py b/plugins/Relay.py index a8c0635e2..a40c7e7b9 100644 --- a/plugins/Relay.py +++ b/plugins/Relay.py @@ -33,7 +33,7 @@ Handles relaying between networks. """ -from baseplugin import * +import plugins import re import sets diff --git a/plugins/RootWarner.py b/plugins/RootWarner.py index 72abe8588..37501b448 100644 --- a/plugins/RootWarner.py +++ b/plugins/RootWarner.py @@ -33,7 +33,7 @@ Warns people when they join a channel if their ident is root. """ -from baseplugin import * +import plugins import irclib import ircmsgs diff --git a/plugins/Services.py b/plugins/Services.py index c0a46c090..e33c0f7c4 100644 --- a/plugins/Services.py +++ b/plugins/Services.py @@ -33,7 +33,7 @@ Services: Handles management of nicks with NickServ, and ops with ChanServ. """ -from baseplugin import * +import plugins import re import time diff --git a/plugins/Status.py b/plugins/Status.py index ba930fac9..3c4a34ca7 100644 --- a/plugins/Status.py +++ b/plugins/Status.py @@ -33,7 +33,7 @@ A simple module to handle various informational commands querying the bot's current status and statistics. """ -from baseplugin import * +import plugins import os import sets diff --git a/plugins/Topic.py b/plugins/Topic.py index 9284fea72..93c137e71 100644 --- a/plugins/Topic.py +++ b/plugins/Topic.py @@ -33,7 +33,7 @@ Provides commands for manipulating channel topics. """ -from baseplugin import * +import plugins import re import random diff --git a/plugins/TwistedCommands.py b/plugins/TwistedCommands.py index 83e466ad3..20ba29cd2 100644 --- a/plugins/TwistedCommands.py +++ b/plugins/TwistedCommands.py @@ -33,7 +33,7 @@ Various commands that depend on Twisted . """ -from baseplugin import * +import plugins import re diff --git a/plugins/URLSnarfer.py b/plugins/URLSnarfer.py index dfb276e72..3b3527165 100644 --- a/plugins/URLSnarfer.py +++ b/plugins/URLSnarfer.py @@ -35,7 +35,7 @@ searching for URLs and returning random URLs. Also provides statistics on the URLs in the database. """ -from baseplugin import * +import plugins import os import re @@ -80,11 +80,11 @@ def configure(onStart, afterConnect, advanced): from questions import expect, anything, something, yn onStart.append('load URLSnarfer') -class URLSnarfer(ChannelDBHandler, callbacks.Privmsg): +class URLSnarfer(plugins.ChannelDBHandler, callbacks.Privmsg): def __init__(self): self.nextMsgs = {} callbacks.Privmsg.__init__(self) - ChannelDBHandler.__init__(self) + plugins.ChannelDBHandler.__init__(self) def makeDb(self, filename): if os.path.exists(filename): diff --git a/plugins/Unix.py b/plugins/Unix.py index 75264eb1c..e25516bae 100644 --- a/plugins/Unix.py +++ b/plugins/Unix.py @@ -33,7 +33,7 @@ Provides commands available only on Unix. """ -from baseplugin import * +import plugins import os import re diff --git a/plugins/Utilities.py b/plugins/Utilities.py index 85520ad29..e8881b065 100644 --- a/plugins/Utilities.py +++ b/plugins/Utilities.py @@ -33,7 +33,7 @@ Various utility commands, mostly useful for manipulating nested commands. """ -from baseplugin import * +import plugins import string