Merge remote-tracking branch 'progval/testing' into testing

This commit is contained in:
Mika Suomalainen 2011-08-15 18:56:10 +03:00
commit a091456c4d
8 changed files with 59 additions and 51 deletions

View File

@ -5,10 +5,11 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Channel\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-30 19:36+0100\n"
"POT-Creation-Date: 2011-07-22 01:33+CEST\n"
"PO-Revision-Date: 2011-08-10 14:02+0100\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -397,7 +398,7 @@ msgid ""
"\n"
" If you have the #channel,op capability, this will effect a\n"
" persistent ban from interacting with the bot on the given\n"
" <hostmask> (or the current hostmask associated with <nick>. Other\n"
" <hostmask> (or the current hostmask associated with <nick>). Other\n"
" plugins may enforce this ban by actually banning users with\n"
" matching hostmasks when they join. <expires> is an optional\n"
" argument specifying when (in \"seconds from now\") the ban should\n"
@ -515,6 +516,7 @@ msgstr ""
"[<csatorna>] <név|felhasználónév> <képesség> [<képesség> ...]\n"
"\n"
"Ha rendelkezel a #csatorna,op képességgel, ez <felhasználónév> felhasználónak (vagy <név> felhasználójának) a <képesség> képességet a csatornában. <csatorna> csak akkor szükséges, ha az üzenet nem a csatornában van elküldve."
#: plugin.py:634
msgid ""
"[<channel>] <name|hostmask> <capability> [<capability> ...]\n"
@ -538,7 +540,7 @@ msgid ""
"[<channel>] {True|False}\n"
"\n"
" If you have the #channel,op capability, this will set the default\n"
" response to non-power-related (that is, not {op, halfop, voice}\n"
" response to non-power-related (that is, not {op, halfop, voice})\n"
" capabilities to be the value you give. <channel> is only necessary\n"
" if the message isn't sent in the channel itself.\n"
" "

View File

@ -5,25 +5,23 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Misc\n"
"POT-Creation-Date: 2011-07-10 18:59+CEST\n"
"PO-Revision-Date: 2011-07-30 23:41+CEST\n"
"POT-Creation-Date: 2011-08-10 11:28+CEST\n"
"PO-Revision-Date: 2011-08-10 15:41+0100\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: config.py:45
msgid ""
"Determines whether the bot will list private\n"
" plugins with the list command if given the --private switch. If this is\n"
" disabled, non-owner users should be unable to see what private plugins\n"
" are loaded."
msgstr ""
"Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve."
msgstr "Meghatározza, hogy a bot listázza-e a privát bővítményeket a list paranccsal, ha a --private kapcsoló meg van adva. Ha ez le van tiltva, a tulajdonoson kívül más felhasználók nem láthatják, hogy milyen privát bővítmények vannak betöltve."
#: config.py:50
msgid ""
@ -31,24 +29,21 @@ msgid ""
" timestamps in the Misc.last command. Refer to the Python documentation\n"
" for the time module to see what formats are accepted. If you set this\n"
" variable to the empty string, the timestamp will not be shown."
msgstr ""
"Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve."
msgstr "Meghatározza az időbélyegek formátumát a Misc.last parancsban. Hivatkozz a Python dokumentációra a time modulhoz, hogy lásd, milyen formátumok fogadhatók el. Ha üres karakterláncra állítód ezt a változót, az időbélyegző nem lesz megjelenítve."
#: config.py:57
msgid ""
"Determines whether or not\n"
" the timestamp will be included in the output of last when it is part of a\n"
" nested command"
msgstr ""
"Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része."
msgstr "Meghatározza, hogy a last kimenete tartalmazza-e az időbélyegzőt, ha az egy beágyazott parancs része."
#: config.py:61
msgid ""
"Determines whether or not the\n"
" nick will be included in the output of last when it is part of a nested\n"
" command"
msgstr ""
"Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része."
msgstr "Meghatározza, hogy a last kimenete tartalmazza-e a nevet, ha az egy beágyazott parancs része."
#: plugin.py:81
msgid "You've given me %s invalid commands within the last minute; I'm now ignoring you for %s."
@ -59,7 +54,6 @@ msgid "The %q plugin is loaded, but there is no command named %q in it. Try \"l
msgstr "A %q bővítmény be van töltve, de nincs benne parancs %q névvel. Próbáld meg a \"list %s\"-t, hogy lásd a parancsokat a %q bővítményben."
#: plugin.py:119
#, docstring
msgid ""
"[--private] [<plugin>]\n"
"\n"
@ -85,7 +79,6 @@ msgid "That plugin exists, but has no commands. This probably means that it has
msgstr "Ez a bővítmény létezik, de nincsenek parancsai. Ez valószínűleg azt jelenti, hogy van néhány konfigurációs változója, ami megváltoztatható, hogy módosítsd a viselkedését. Próbáld meg a \"config list supybot.plugins.%s\"-t, hogy lásd, milyen konfigurációs változói vannak."
#: plugin.py:164
#, docstring
msgid ""
"<string>\n"
"\n"
@ -102,7 +95,6 @@ msgid "No appropriate commands were found."
msgstr "Nem található megfelelő parancs."
#: plugin.py:188
#, docstring
msgid ""
"[<plugin>] [<command>]\n"
"\n"
@ -123,7 +115,6 @@ msgid "There is no command %q."
msgstr "Nincs %q parancs."
#: plugin.py:211
#, docstring
msgid ""
"takes no arguments\n"
"\n"
@ -151,23 +142,20 @@ msgid "The current (running) version of this Supybot is %s. %s"
msgstr "Az aktuális (futó) verziója ennek a Supybot-nak %s. %s"
#: plugin.py:239
#, docstring
msgid ""
"takes no arguments\n"
"\n"
" Returns a URL saying where to get Supybot.\n"
" Returns a URL saying where to get Limnoria.\n"
" "
msgstr ""
"paraméter nélküli"
"\n"
"Kiír egy linket, ami megmondja, honnan lehet a Supybot-ot megszerezni."
"paraméter nélküli\n"
"Kiír egy linket, ami megmondja, honnan lehet a Limnoria-t megszerezni."
#: plugin.py:243
msgid "My source is at https://github.com/ProgVal/Limnoria"
msgstr "A forrásom https://github.com/ProgVal/Limnoria -ban van."
#: plugin.py:248
#, docstring
msgid ""
"[<nick>]\n"
"\n"
@ -206,7 +194,6 @@ msgid "That's all, there is no more."
msgstr "Ez minden, nincs több."
#: plugin.py:292
#, docstring
msgid ""
"[--{from,in,on,with,without,regexp} <value>] [--nolimit]\n"
"\n"
@ -227,16 +214,13 @@ msgid "I couldn't find a message matching that criteria in my history of %s mess
msgstr "Nem találtam a kritériumra illeszkedő üzenetet a(z) %s üzenetes előzményeimben."
#: plugin.py:401
#, docstring
msgid ""
"<nick> <text>\n"
"\n"
" Tells the <nick> whatever <text> is. Use nested commands to your\n"
" benefit here.\n"
" "
msgstr ""
"<név> <szöveg>"
"Megmondja <név>-nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat."
msgstr "<név> <szöveg>Megmondja <név>-nek szöveget. Itt az előnyödre használhatod a beágyazott parancsokat."
#: plugin.py:409
msgid "Dude, just give the command. No need for the tell."
@ -254,8 +238,7 @@ msgstr "Nem láttam %s-t, rád hagyom a mondást."
msgid "%s wants me to tell you: %s"
msgstr "%s szeretné, hogy megmondjam neked: %s"
#: plugin.py:430
#, docstring
#: plugin.py:431
msgid ""
"takes no arguments\n"
"\n"
@ -266,6 +249,7 @@ msgstr ""
"\n"
"Ellenőrzi, hogy a bot él-e."
#: plugin.py:434
#: plugin.py:435
msgid "pong"
msgstr "pong"

View File

@ -5,28 +5,25 @@
msgid ""
msgstr ""
"Project-Id-Version: Limnoria Reply\n"
"POT-Creation-Date: 2011-02-26 09:49+CET\n"
"PO-Revision-Date: 2011-07-30 21:49+0100\n"
"POT-Creation-Date: 2011-08-10 11:27+CEST\n"
"PO-Revision-Date: 2011-08-15 14:49+0200\n"
"Last-Translator: nyuszika7h <litemininyuszika@gmail.com>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: plugin.py:37
#, docstring
msgid ""
"This plugin contains a few commands that construct various types of\n"
" replies. Some bot owners would be wise to not load this plugin because it\n"
" can be easily abused.\n"
" "
msgstr ""
"Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele."
msgstr "Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele."
#: plugin.py:43
#, docstring
msgid ""
"<text>\n"
"\n"
@ -39,20 +36,15 @@ msgstr ""
"Privát üzenetben válaszol <szöveg>-gel. Itt az előnyödre használhatpd a beágyazott parancsokat."
#: plugin.py:53
#, docstring
msgid ""
"<text>\n"
"\n"
" Replies with <text> as an action. use nested commands to your benefit\n"
" Replies with <text> as an action. Use nested commands to your benefit\n"
" here.\n"
" "
msgstr ""
"<szöveg>\n"
"\n"
"Egy tevékenységként válaszol <szöveg>-gel. Itt az előnyödre használhatod a beágyazott parancsokat."
msgstr "Ez a bővítmény néhány parancsot tartalmaz, amelyek különféle típusú válaszokat gyárt. Néhány bot tulajdonos bölcs lenne nem betölteni ezt a bővítményt, mert könnyen vissza lehet élni vele."
#: plugin.py:66
#, docstring
msgid ""
"<text>\n"
"\n"
@ -65,7 +57,6 @@ msgstr ""
"Egy közleményben válaszol <szöveg>-gel. Itt az előnyödre használhatod a beágyazott parancsokat. Ha egy privát közleményt szeretnál, ágyazd be a private parancsot."
#: plugin.py:76
#, docstring
msgid ""
"<text>\n"
"\n"
@ -77,7 +68,6 @@ msgstr ""
"Válaszol <szöveg>-gel. Ugyanaz, mint az álnév, 'echo $nick: $1'."
#: plugin.py:85
#, docstring
msgid ""
"<str> [<str> ...]\n"
"\n"
@ -88,3 +78,4 @@ msgstr ""
"<karakterlánc> [<karakterlánc> ...]\n"
"\n"
"Az összes <karakterlánc> paraméterével külön üzenetben válaszol, a supybot.reply.oneToOne konfigurációjától függően."

View File

@ -33,12 +33,14 @@ import binascii
import supybot.utils as utils
from supybot.commands import *
import supybot.commands as commands
import supybot.plugins as plugins
import supybot.ircutils as ircutils
import supybot.callbacks as callbacks
from supybot.i18n import PluginInternationalization, internationalizeDocstring
_ = PluginInternationalization('String')
import multiprocessing
class String(callbacks.Plugin):
@internationalizeDocstring

View File

@ -988,6 +988,23 @@ class CommandThread(world.SupyThread):
finally:
self.cb.threaded = self.originalThreaded
class CommandProcess(world.SupyProcess):
"""Just does some extra logging and error-recovery for commands that need
to run in processes.
"""
def __init__(self, target=None, args=(), kwargs={}):
self.command = args[0]
self.cb = target.im_self
procName = 'Process #%s (for %s.%s)' % (world.processesSpawned,
self.cb.name(),
self.command)
log.debug('Spawning process %s (args: %r)', procName, args)
self.__parent = super(CommandProcess, self)
self.__parent.__init__(target=target, name=procName,
args=args, kwargs=kwargs)
def run(self):
self.__parent.run()
class CanonicalString(registry.NormalizedString):
def normalize(self, s):

View File

@ -37,6 +37,8 @@ import types
import getopt
import inspect
import threading
import multiprocessing #python2.6 or later!
import Queue
import supybot.log as log
import supybot.conf as conf

View File

@ -1,3 +1,3 @@
"""stick the various versioning attributes in here, so we only have to change
them once."""
version = '0.83.4.1+limnoria (2011-08-13T01:59:18+0200)'
version = '0.83.4.1+limnoria (2011-08-15T17:24:33+0200)'

View File

@ -37,6 +37,7 @@ import sys
import time
import atexit
import threading
import multiprocessing # python 2.6 and later!
if sys.version_info >= (2, 5, 0):
import re as sre
@ -67,6 +68,15 @@ class SupyThread(threading.Thread):
super(SupyThread, self).__init__(*args, **kwargs)
log.debug('Spawning thread %q.', self.getName())
processesSpawned = 1 # Starts at one for the initial process.
class SupyProcess(multiprocessing.Process):
def __init__(self, *args, **kwargs):
global processesSpawned
processesSpawned += 1
super(SupyProcess, self).__init__(*args, **kwargs)
log.debug('Spawning process %q.', self.name)
commandsProcessed = 0
ircs = [] # A list of all the IRCs.