mirror of
https://github.com/jlu5/SupyPlugins.git
synced 2025-05-06 11:33:41 -05:00
add Namegen plugin / update README and PkgInfo tests
- PkgInfo: add basic tests for pkgsearch / mintpkg - Deprecate OperUp (and RelayLink to a lesser extent) - add new Namegen plugin
This commit is contained in:
parent
2c13c96a01
commit
6c8e41e189
22
Namegen/README.md
Normal file
22
Namegen/README.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
This plugin provides a simple random name generator.
|
||||||
|
|
||||||
|
Portions of this code was taken from Atheme services' [gameserv/namegen](https://github.com/atheme/atheme/blob/875d8b7/modules/gameserv/names/default) module. The license is as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
Copyright (c) 2005-2014 Atheme Project (http://www.atheme.org)
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
```
|
69
Namegen/__init__.py
Normal file
69
Namegen/__init__.py
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
###
|
||||||
|
# Copyright (c) 2014, James Lu
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of the author of this software nor the name of
|
||||||
|
# contributors to this software may be used to endorse or promote products
|
||||||
|
# derived from this software without specific prior written consent.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
"""
|
||||||
|
Add a description of the plugin (to be presented to the user inside the wizard)
|
||||||
|
here. This should describe *what* the plugin does.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import supybot
|
||||||
|
import supybot.world as world
|
||||||
|
|
||||||
|
# Use this for the version of this plugin. You may wish to put a CVS keyword
|
||||||
|
# in here if you're keeping the plugin in CVS or some similar system.
|
||||||
|
__version__ = ""
|
||||||
|
|
||||||
|
# XXX Replace this with an appropriate author or supybot.Author instance.
|
||||||
|
__author__ = supybot.authors.unknown
|
||||||
|
|
||||||
|
# This is a dictionary mapping supybot.Author instances to lists of
|
||||||
|
# contributions.
|
||||||
|
__contributors__ = {}
|
||||||
|
|
||||||
|
# This is a url where the most recent plugin package can be downloaded.
|
||||||
|
__url__ = '' # 'http://supybot.com/Members/yourname/Namegen/download'
|
||||||
|
|
||||||
|
from . import config
|
||||||
|
from . import plugin
|
||||||
|
from imp import reload
|
||||||
|
# In case we're being reloaded.
|
||||||
|
reload(config)
|
||||||
|
reload(plugin)
|
||||||
|
# Add more reloads here if you add third-party modules and want them to be
|
||||||
|
# reloaded when this plugin is reloaded. Don't forget to import them as well!
|
||||||
|
|
||||||
|
if world.testing:
|
||||||
|
from . import test
|
||||||
|
|
||||||
|
Class = plugin.Class
|
||||||
|
configure = config.configure
|
||||||
|
|
||||||
|
|
||||||
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
56
Namegen/config.py
Normal file
56
Namegen/config.py
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
###
|
||||||
|
# Copyright (c) 2014, James Lu
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of the author of this software nor the name of
|
||||||
|
# contributors to this software may be used to endorse or promote products
|
||||||
|
# derived from this software without specific prior written consent.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
import supybot.conf as conf
|
||||||
|
import supybot.registry as registry
|
||||||
|
try:
|
||||||
|
from supybot.i18n import PluginInternationalization
|
||||||
|
_ = PluginInternationalization('Namegen')
|
||||||
|
except:
|
||||||
|
# Placeholder that allows to run the plugin on a bot
|
||||||
|
# without the i18n module
|
||||||
|
_ = lambda x:x
|
||||||
|
|
||||||
|
def configure(advanced):
|
||||||
|
# This will be called by supybot to configure this module. advanced is
|
||||||
|
# a bool that specifies whether the user identified themself as an advanced
|
||||||
|
# user or not. You should effect your configuration by manipulating the
|
||||||
|
# registry as appropriate.
|
||||||
|
from supybot.questions import expect, anything, something, yn
|
||||||
|
conf.registerPlugin('Namegen', True)
|
||||||
|
|
||||||
|
|
||||||
|
Namegen = conf.registerPlugin('Namegen')
|
||||||
|
# This is where your configuration variables (if any) should go. For example:
|
||||||
|
# conf.registerGlobalValue(Namegen, 'someConfigVariableName',
|
||||||
|
# registry.Boolean(False, _("""Help for someConfigVariableName.""")))
|
||||||
|
|
||||||
|
|
||||||
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
176
Namegen/ends.txt
Normal file
176
Namegen/ends.txt
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
ty
|
||||||
|
carn
|
||||||
|
ar
|
||||||
|
acy
|
||||||
|
er
|
||||||
|
al
|
||||||
|
gary
|
||||||
|
y
|
||||||
|
ar
|
||||||
|
arny
|
||||||
|
alen
|
||||||
|
carth
|
||||||
|
gant
|
||||||
|
y
|
||||||
|
ber
|
||||||
|
art
|
||||||
|
dal
|
||||||
|
arth
|
||||||
|
arth
|
||||||
|
an
|
||||||
|
ere
|
||||||
|
geth
|
||||||
|
aldy
|
||||||
|
yn
|
||||||
|
valer
|
||||||
|
arne
|
||||||
|
aller
|
||||||
|
varn
|
||||||
|
ayne
|
||||||
|
an
|
||||||
|
nal
|
||||||
|
tyne
|
||||||
|
ayne
|
||||||
|
art
|
||||||
|
ont
|
||||||
|
ney
|
||||||
|
aver
|
||||||
|
lyn
|
||||||
|
iel
|
||||||
|
gar
|
||||||
|
y
|
||||||
|
arry
|
||||||
|
or
|
||||||
|
quine
|
||||||
|
astar
|
||||||
|
er
|
||||||
|
aryn
|
||||||
|
art
|
||||||
|
war
|
||||||
|
asty
|
||||||
|
zane
|
||||||
|
arik
|
||||||
|
ayne
|
||||||
|
an
|
||||||
|
oller
|
||||||
|
warty
|
||||||
|
aryne
|
||||||
|
chean
|
||||||
|
ta
|
||||||
|
un
|
||||||
|
tha
|
||||||
|
reth
|
||||||
|
ant
|
||||||
|
el
|
||||||
|
yne
|
||||||
|
el
|
||||||
|
tuny
|
||||||
|
wat
|
||||||
|
juin
|
||||||
|
dor
|
||||||
|
gayn
|
||||||
|
tyn
|
||||||
|
dar
|
||||||
|
car
|
||||||
|
gine
|
||||||
|
codd
|
||||||
|
quent
|
||||||
|
eas
|
||||||
|
ew
|
||||||
|
azer
|
||||||
|
ont
|
||||||
|
ly
|
||||||
|
stead
|
||||||
|
orn
|
||||||
|
en
|
||||||
|
cath
|
||||||
|
iera
|
||||||
|
que
|
||||||
|
air
|
||||||
|
la
|
||||||
|
art
|
||||||
|
erry
|
||||||
|
sa
|
||||||
|
ar
|
||||||
|
er
|
||||||
|
ern
|
||||||
|
arty
|
||||||
|
doth
|
||||||
|
y
|
||||||
|
ert
|
||||||
|
dy
|
||||||
|
orn
|
||||||
|
ont
|
||||||
|
ern
|
||||||
|
ayn
|
||||||
|
art
|
||||||
|
warne
|
||||||
|
arn
|
||||||
|
in
|
||||||
|
ian
|
||||||
|
el
|
||||||
|
ak
|
||||||
|
il
|
||||||
|
ydd
|
||||||
|
ime
|
||||||
|
yn
|
||||||
|
en
|
||||||
|
in
|
||||||
|
im
|
||||||
|
el
|
||||||
|
ar
|
||||||
|
ro
|
||||||
|
is
|
||||||
|
is
|
||||||
|
ro
|
||||||
|
era
|
||||||
|
ene
|
||||||
|
in
|
||||||
|
ane
|
||||||
|
iam
|
||||||
|
ain
|
||||||
|
ir
|
||||||
|
un
|
||||||
|
il
|
||||||
|
bin
|
||||||
|
lin
|
||||||
|
is
|
||||||
|
sene
|
||||||
|
bin
|
||||||
|
lir
|
||||||
|
ame
|
||||||
|
a
|
||||||
|
fyn
|
||||||
|
se
|
||||||
|
in
|
||||||
|
yd
|
||||||
|
ien
|
||||||
|
ain
|
||||||
|
yn
|
||||||
|
ar
|
||||||
|
er
|
||||||
|
in
|
||||||
|
sume
|
||||||
|
ras
|
||||||
|
on
|
||||||
|
mel
|
||||||
|
luth
|
||||||
|
ance
|
||||||
|
er
|
||||||
|
yn
|
||||||
|
an
|
||||||
|
ar
|
||||||
|
ayne
|
||||||
|
eth
|
||||||
|
nyd
|
||||||
|
ter
|
||||||
|
rik
|
||||||
|
nik
|
||||||
|
ro
|
||||||
|
a
|
||||||
|
mel
|
||||||
|
yn
|
||||||
|
ris
|
||||||
|
lene
|
||||||
|
ane
|
||||||
|
yr
|
1
Namegen/local/__init__.py
Normal file
1
Namegen/local/__init__.py
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Stub so local is a module, used for third-party modules
|
176
Namegen/middles.txt
Normal file
176
Namegen/middles.txt
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
gur
|
||||||
|
carn
|
||||||
|
az
|
||||||
|
acy
|
||||||
|
ayn
|
||||||
|
asc
|
||||||
|
gary
|
||||||
|
hen
|
||||||
|
tan
|
||||||
|
arny
|
||||||
|
alen
|
||||||
|
carth
|
||||||
|
gant
|
||||||
|
rath
|
||||||
|
cam
|
||||||
|
art
|
||||||
|
ron
|
||||||
|
arth
|
||||||
|
arth
|
||||||
|
carad
|
||||||
|
ere
|
||||||
|
geth
|
||||||
|
aldy
|
||||||
|
yn
|
||||||
|
valer
|
||||||
|
arne
|
||||||
|
aller
|
||||||
|
varn
|
||||||
|
ar
|
||||||
|
an
|
||||||
|
nal
|
||||||
|
tyne
|
||||||
|
ar
|
||||||
|
art
|
||||||
|
ont
|
||||||
|
aur
|
||||||
|
aver
|
||||||
|
lyn
|
||||||
|
as
|
||||||
|
gar
|
||||||
|
cuth
|
||||||
|
arry
|
||||||
|
or
|
||||||
|
quine
|
||||||
|
astar
|
||||||
|
mel
|
||||||
|
aryn
|
||||||
|
art
|
||||||
|
war
|
||||||
|
asty
|
||||||
|
zane
|
||||||
|
arik
|
||||||
|
ayne
|
||||||
|
loc
|
||||||
|
oller
|
||||||
|
warty
|
||||||
|
aryne
|
||||||
|
chean
|
||||||
|
quin
|
||||||
|
tar
|
||||||
|
dar
|
||||||
|
reth
|
||||||
|
ant
|
||||||
|
an
|
||||||
|
yne
|
||||||
|
ax
|
||||||
|
tuny
|
||||||
|
wat
|
||||||
|
juin
|
||||||
|
a
|
||||||
|
gayn
|
||||||
|
on
|
||||||
|
an
|
||||||
|
car
|
||||||
|
gine
|
||||||
|
codd
|
||||||
|
quent
|
||||||
|
eas
|
||||||
|
ew
|
||||||
|
azer
|
||||||
|
am
|
||||||
|
ly
|
||||||
|
stead
|
||||||
|
orn
|
||||||
|
ar
|
||||||
|
cath
|
||||||
|
iera
|
||||||
|
que
|
||||||
|
air
|
||||||
|
la
|
||||||
|
art
|
||||||
|
erry
|
||||||
|
end
|
||||||
|
om
|
||||||
|
ast
|
||||||
|
et
|
||||||
|
arty
|
||||||
|
doth
|
||||||
|
cath
|
||||||
|
ert
|
||||||
|
dy
|
||||||
|
orn
|
||||||
|
ont
|
||||||
|
tak
|
||||||
|
ar
|
||||||
|
art
|
||||||
|
warne
|
||||||
|
arn
|
||||||
|
in
|
||||||
|
ian
|
||||||
|
el
|
||||||
|
ak
|
||||||
|
il
|
||||||
|
ydd
|
||||||
|
ime
|
||||||
|
yn
|
||||||
|
en
|
||||||
|
in
|
||||||
|
im
|
||||||
|
el
|
||||||
|
ar
|
||||||
|
ro
|
||||||
|
is
|
||||||
|
is
|
||||||
|
ro
|
||||||
|
era
|
||||||
|
ene
|
||||||
|
in
|
||||||
|
ane
|
||||||
|
iam
|
||||||
|
ain
|
||||||
|
ir
|
||||||
|
un
|
||||||
|
il
|
||||||
|
bin
|
||||||
|
lin
|
||||||
|
is
|
||||||
|
sene
|
||||||
|
bin
|
||||||
|
lir
|
||||||
|
ame
|
||||||
|
a
|
||||||
|
fyn
|
||||||
|
y
|
||||||
|
in
|
||||||
|
yd
|
||||||
|
ien
|
||||||
|
ain
|
||||||
|
yn
|
||||||
|
ar
|
||||||
|
er
|
||||||
|
in
|
||||||
|
sume
|
||||||
|
ras
|
||||||
|
id
|
||||||
|
mel
|
||||||
|
luth
|
||||||
|
ance
|
||||||
|
er
|
||||||
|
yn
|
||||||
|
an
|
||||||
|
ar
|
||||||
|
ayne
|
||||||
|
eth
|
||||||
|
len
|
||||||
|
ter
|
||||||
|
rik
|
||||||
|
er
|
||||||
|
ro
|
||||||
|
tin
|
||||||
|
mel
|
||||||
|
yn
|
||||||
|
ris
|
||||||
|
lene
|
||||||
|
ane
|
||||||
|
as
|
83
Namegen/plugin.py
Normal file
83
Namegen/plugin.py
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
###
|
||||||
|
# Copyright (c) 2014, James Lu
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of the author of this software nor the name of
|
||||||
|
# contributors to this software may be used to endorse or promote products
|
||||||
|
# derived from this software without specific prior written consent.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
###
|
||||||
|
import random
|
||||||
|
import os.path
|
||||||
|
from sys import version_info
|
||||||
|
|
||||||
|
import supybot.utils as utils
|
||||||
|
from supybot.commands import *
|
||||||
|
import supybot.plugins as plugins
|
||||||
|
import supybot.ircutils as ircutils
|
||||||
|
import supybot.callbacks as callbacks
|
||||||
|
|
||||||
|
try:
|
||||||
|
from supybot.i18n import PluginInternationalization
|
||||||
|
_ = PluginInternationalization('Namegen')
|
||||||
|
except ImportError:
|
||||||
|
# Placeholder that allows to run the plugin on a bot
|
||||||
|
# without the i18n module
|
||||||
|
_ = lambda x:x
|
||||||
|
|
||||||
|
class Namegen(callbacks.Plugin):
|
||||||
|
"""Simple random name generator."""
|
||||||
|
threaded = True
|
||||||
|
def __init__(self, irc):
|
||||||
|
self.__parent = super(Namegen, self)
|
||||||
|
self.__parent.__init__(irc)
|
||||||
|
self.names = {}
|
||||||
|
for fn in ('starts', 'middles', 'ends'):
|
||||||
|
with open(os.path.join(os.path.dirname(__file__), '%s.txt') % fn) as f:
|
||||||
|
self.names[fn] = f.read().splitlines()
|
||||||
|
|
||||||
|
def _namegen(self):
|
||||||
|
"""Generates a random name."""
|
||||||
|
numSyl = random.randint(0, 3)
|
||||||
|
name = "{}{}{}".format(random.choice(self.names['starts']), \
|
||||||
|
''.join(random.sample(self.names['middles'], numSyl)), \
|
||||||
|
random.choice(self.names['ends']))
|
||||||
|
return name
|
||||||
|
|
||||||
|
def namegen(self, irc, msg, args, count):
|
||||||
|
"""[<count>]
|
||||||
|
|
||||||
|
Generates random names. If not specified, [<count>] defaults to 10."""
|
||||||
|
if not count:
|
||||||
|
count = 10
|
||||||
|
if version_info[0] >= 3:
|
||||||
|
xrange = range
|
||||||
|
s = ', '.join([self._namegen() for _ in xrange(count)])
|
||||||
|
irc.reply(s)
|
||||||
|
namegen = wrap(namegen, [optional('int')])
|
||||||
|
|
||||||
|
|
||||||
|
Class = Namegen
|
||||||
|
|
||||||
|
|
||||||
|
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
171
Namegen/starts.txt
Normal file
171
Namegen/starts.txt
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
Mar
|
||||||
|
Quarne
|
||||||
|
Ba
|
||||||
|
Er
|
||||||
|
Odas
|
||||||
|
Ka
|
||||||
|
Mold
|
||||||
|
Syn
|
||||||
|
Ro
|
||||||
|
Jast
|
||||||
|
Yal
|
||||||
|
Nap
|
||||||
|
Vard
|
||||||
|
As
|
||||||
|
Binthe
|
||||||
|
Zald
|
||||||
|
Dez
|
||||||
|
Las
|
||||||
|
Uld
|
||||||
|
Nev
|
||||||
|
Haur
|
||||||
|
Bar
|
||||||
|
Das
|
||||||
|
Ty
|
||||||
|
Dar
|
||||||
|
Ost
|
||||||
|
Tral
|
||||||
|
Grave
|
||||||
|
Eth
|
||||||
|
Flar
|
||||||
|
Yal
|
||||||
|
Klab
|
||||||
|
Harab
|
||||||
|
Jar
|
||||||
|
Nor
|
||||||
|
Dain
|
||||||
|
Toc
|
||||||
|
Bay
|
||||||
|
Haith
|
||||||
|
Cal
|
||||||
|
Lar
|
||||||
|
Naut
|
||||||
|
Druc
|
||||||
|
Bar
|
||||||
|
Art
|
||||||
|
For
|
||||||
|
Mart
|
||||||
|
Yar
|
||||||
|
Ha
|
||||||
|
Ny
|
||||||
|
Yar
|
||||||
|
Verd
|
||||||
|
Wy
|
||||||
|
Plag
|
||||||
|
Ter
|
||||||
|
Haur
|
||||||
|
Var
|
||||||
|
Ar
|
||||||
|
Dar
|
||||||
|
Val
|
||||||
|
Mar
|
||||||
|
Car
|
||||||
|
Loc
|
||||||
|
Wearn
|
||||||
|
Dras
|
||||||
|
Bel
|
||||||
|
Har
|
||||||
|
Jar
|
||||||
|
For
|
||||||
|
Kil
|
||||||
|
Oc
|
||||||
|
Al
|
||||||
|
Skal
|
||||||
|
Nun
|
||||||
|
Az
|
||||||
|
Kop
|
||||||
|
Houl
|
||||||
|
Lab
|
||||||
|
Jar
|
||||||
|
Vast
|
||||||
|
Claune
|
||||||
|
Tes
|
||||||
|
Ob
|
||||||
|
Nist
|
||||||
|
El
|
||||||
|
Est
|
||||||
|
Zol
|
||||||
|
Brow
|
||||||
|
Pulg
|
||||||
|
Star
|
||||||
|
Kren
|
||||||
|
Crac
|
||||||
|
Scaun
|
||||||
|
Wal
|
||||||
|
Quer
|
||||||
|
Ry
|
||||||
|
Cyn
|
||||||
|
Rusk
|
||||||
|
Del
|
||||||
|
Lab
|
||||||
|
Mel
|
||||||
|
Sep
|
||||||
|
Lor
|
||||||
|
Ros
|
||||||
|
Jar
|
||||||
|
Daf
|
||||||
|
Hal
|
||||||
|
Kol
|
||||||
|
In
|
||||||
|
Ael
|
||||||
|
Sald
|
||||||
|
Kuv
|
||||||
|
Ym
|
||||||
|
Ca
|
||||||
|
Keld
|
||||||
|
Bar
|
||||||
|
Tarl
|
||||||
|
Shot
|
||||||
|
Pes
|
||||||
|
Quer
|
||||||
|
Lor
|
||||||
|
Geld
|
||||||
|
Ar
|
||||||
|
Har
|
||||||
|
Bae
|
||||||
|
Vad
|
||||||
|
Pas
|
||||||
|
Ur
|
||||||
|
Nor
|
||||||
|
Kir
|
||||||
|
Var
|
||||||
|
Mel
|
||||||
|
Ar
|
||||||
|
Shy
|
||||||
|
I
|
||||||
|
Rald
|
||||||
|
Cor
|
||||||
|
Sar
|
||||||
|
Kor
|
||||||
|
Rol
|
||||||
|
Har
|
||||||
|
Ash
|
||||||
|
Dir
|
||||||
|
Las
|
||||||
|
Vab
|
||||||
|
Ald
|
||||||
|
Par
|
||||||
|
Ob
|
||||||
|
Hor
|
||||||
|
Chy
|
||||||
|
Jar
|
||||||
|
Ryle
|
||||||
|
Char
|
||||||
|
Hab
|
||||||
|
Sar
|
||||||
|
Vart
|
||||||
|
Nist
|
||||||
|
Obr
|
||||||
|
Jar
|
||||||
|
Ge
|
||||||
|
Yas
|
||||||
|
Pav
|
||||||
|
Jes
|
||||||
|
Shot
|
||||||
|
Mar
|
||||||
|
Hor
|
||||||
|
Er
|
||||||
|
Ki
|
||||||
|
Har
|
||||||
|
Cal
|
||||||
|
And
|
41
Namegen/test.py
Normal file
41
Namegen/test.py
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
###
|
||||||
|
# Copyright (c) 2014, James Lu
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions, and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of the author of this software nor the name of
|
||||||
|
# contributors to this software may be used to endorse or promote products
|
||||||
|
# derived from this software without specific prior written consent.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
from supybot.test import *
|
||||||
|
|
||||||
|
class NamegenTestCase(PluginTestCase):
|
||||||
|
plugins = ('Namegen',)
|
||||||
|
|
||||||
|
def testNamegen(self):
|
||||||
|
self.assertNotError('namegen')
|
||||||
|
self.assertNotError('namegen 2')
|
||||||
|
|
||||||
|
|
||||||
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
@ -1 +1 @@
|
|||||||
Simple plugin that allows Supybot to oper up on configured networks, on connect and manually.
|
Simple plugin that allows Supybot to oper up on configured networks, on connect and manually. **This plugin is deprecated and will likely be removed in a future release.**
|
||||||
|
@ -54,4 +54,10 @@ class PkgInfoTestCase(PluginTestCase):
|
|||||||
self.assertError('archaur wjoitgjwotgjv')
|
self.assertError('archaur wjoitgjwotgjv')
|
||||||
self.assertNotError('archaur yaourt')
|
self.assertNotError('archaur yaourt')
|
||||||
|
|
||||||
|
def testMintPkg(self):
|
||||||
|
self.assertNotError('mintpkg qiana cinnamon')
|
||||||
|
|
||||||
|
def testPkgsearch(self):
|
||||||
|
self.assertNotError('pkgsearch debian python')
|
||||||
|
|
||||||
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
This repository includes forks/mods of existing Supybot plugins and some that I've written myself. All of the code in this repository is considered **experimental** and **not** ready for production use. It may glitch, break, or spontaneously combust at any time. You have been warned!
|
This repository includes forks/mods of existing Supybot plugins and some that I've written myself. All of the code in this repository is considered **experimental** and **not** ready for production use. It may glitch, break, or spontaneously combust at any time. You have been warned!
|
||||||
|
|
||||||
*Note:* This repository is currently being written for Python 2.7/Python 3.4, and has not been tested for compatibility with other Python versions. Older Python versions are unsupported, use at your own risk!
|
*Note:* This repository is currently being written for Python 2.7/Python 3.4, and has not been tested for compatibility with other Python versions. Older Python versions are unsupported; use them at your own risk!
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
If you have any questions, concerns, or feature requests, please feel free to submit an issue. Pull requests are welcome.
|
If you have any questions, concerns, or feature requests, please feel free to submit an issue. Pull requests are welcome.
|
||||||
@ -24,8 +24,11 @@ Any specific plugin dependencies *should* also be listed.
|
|||||||
##### NoTrigger
|
##### NoTrigger
|
||||||
- Anti-abuse script; prevents the bot from triggering other bots by modifying its output slightly.
|
- Anti-abuse script; prevents the bot from triggering other bots by modifying its output slightly.
|
||||||
|
|
||||||
|
##### Namegen
|
||||||
|
- A simple random name generator.
|
||||||
|
|
||||||
##### OperUp
|
##### OperUp
|
||||||
- Simple plugin that allows Supybot to oper up on configured networks, automatically (on connect) and manually.
|
- Simple plugin that allows Supybot to oper up on configured networks, automatically (on connect) and manually. **This plugin is deprecated and will likely be removed in a future release.**
|
||||||
|
|
||||||
##### PassGen
|
##### PassGen
|
||||||
- Generates random passwords on the fly!
|
- Generates random passwords on the fly!
|
||||||
@ -39,6 +42,7 @@ Any specific plugin dependencies *should* also be listed.
|
|||||||
|
|
||||||
##### RelayLink
|
##### RelayLink
|
||||||
- [LinkRelay](https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay) forked into a different name. See [RelayLink/README.md] for more details.
|
- [LinkRelay](https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay) forked into a different name. See [RelayLink/README.md] for more details.
|
||||||
|
- **Mainstream development has ceased. Any new changes will only be for maintainence purposes/bugfixes.**
|
||||||
|
|
||||||
##### SupyMisc
|
##### SupyMisc
|
||||||
- Some assorted commands that don't seem to fit anywhere else.
|
- Some assorted commands that don't seem to fit anywhere else.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
A fork of the LinkRelay plugin, tailored to my needs.
|
A fork of the LinkRelay plugin, tailored to my needs. **Mainstream development has ceased. Any new changes will only be for maintainence purposes/bugfixes.**
|
||||||
|
|
||||||
#### Differences from [stock LinkRelay](https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay):
|
#### Differences from [stock LinkRelay](https://github.com/ProgVal/Supybot-plugins/tree/master/LinkRelay):
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user