• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python i18n.internationalizeDocstring函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中supybot.i18n.internationalizeDocstring函数的典型用法代码示例。如果您正苦于以下问题:Python internationalizeDocstring函数的具体用法?Python internationalizeDocstring怎么用?Python internationalizeDocstring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了internationalizeDocstring函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _wrap

def _wrap(f, specList=[], name=None, **kw):
    assert hasattr(f, '__doc__')
    f = internationalizeDocstring(f)
    name = name or f.func_name
    spec = Spec(specList, **kw)
    def newf(self, irc, msg, args, **kwargs):
        state = spec(irc, msg, args, stateAttrs={'cb': self, 'log': self.log})
        self.log.debug('State before call: %s', state)
        if state.errored:
            self.log.debug('Refusing to call %s due to state.errored.', f)
        else:
            try:
                f(self, irc, msg, args, *state.args, **state.kwargs)
            except TypeError:
                self.log.error('Spec: %s', specList)
                self.log.error('Received args: %s', args)
                code = f.func_code
                funcArgs = inspect.getargs(code)[0][len(self.commandArgs):]
                self.log.error('Extra args: %s', funcArgs)
                self.log.debug('Make sure you did not wrap a wrapped '
                               'function ;)')
                raise
    return utils.python.changeFunctionName(newf, name, f.__doc__)
开发者ID:Athemis,项目名称:Limnoria,代码行数:23,代码来源:commands.py


示例2: wrap

        for link in links:
            irc.reply('http://economy.erepublik.com/en/company/%s' % link)
    land = wrap(land, [])

    @internationalizeDocstring
    def fight(self, irc, msg, args, name):
        """<name|id>

        Shows how many damages you can make in one hit."""
        citizen = getCitizen(irc, name)
        if citizen is None:
            return
        irc.reply(_('damages: %i') % citizen.fightCalcStr(100.0))

    @internationalizeDocstring
    def kamikaze(self, irc, msg, args, name):
        """<name|id>

        Shows how many damages you can make in one hit."""
        citizen = getCitizen(irc, name)
        if citizen is None:
            return
        irc.reply(_('kamikaze attack with full food: %i') %
                  citizen.fightCalcStr(100.0))

ERepublik = internationalizeDocstring(ERepublik)
Class = ERepublik


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:Azelphur,项目名称:Supybot-plugins,代码行数:30,代码来源:plugin.py


示例3: configure

    internationalizeDocstring = lambda x:x

def configure(advanced):
    from supybot.questions import output, expect, anything, something, yn
    conf.registerPlugin('LinkRelay', True)


class ColorNumber(registry.String):
    """Value must be a valid color number (01, 02, 03, 04, ..., 16)"""
    def set(self, s):
        if s not in ('01', '02', '03', '04', '05', '06', '07', '08', '09',
                     '10', '11', '12', '13', '14', '15', '16'):
            self.error()
            return
        self.setValue(s)
ColorNumber = internationalizeDocstring(ColorNumber)


LinkRelay = conf.registerPlugin('LinkRelay')
conf.registerChannelValue(LinkRelay, 'color',
    registry.Boolean(False, _("""Determines whether the bot will color Relayed
    PRIVMSGs so as to make the messages easier to read.""")))
conf.registerChannelValue(LinkRelay, 'topicSync',
    registry.Boolean(True, _("""Determines whether the bot will synchronize
    topics between networks in the channels it Relays.""")))
conf.registerChannelValue(LinkRelay, 'hostmasks',
    registry.Boolean(False, _("""Determines whether the bot will Relay the
    hostmask of the person joining or parting the channel when he or she joins
    or parts.""")))
conf.registerChannelValue(LinkRelay, 'nicks',
    registry.Boolean(True, _("""Determines whether the bot will relay the
开发者ID:Albnetwork,项目名称:Supybot-plugins,代码行数:31,代码来源:config.py


示例4: say

    def say(self, irc, msg, args, target, text):
        """<channel|nick> <text>

        Sends <text> to <channel|nick>.  Can only send to <nick> if
        supybot.plugins.Anonymous.allowPrivateTarget is True.
        """
        self._preCheck(irc, msg, target, 'say')
        self.log.info('Saying %q to %s due to %s.',
                      text, target, msg.prefix)
        irc.reply(text, to=target, prefixNick=False,
                     private=not ircutils.isChannel(target))
    say = wrap(say, [first('nick', 'inChannel'), 'text'])

    @internationalizeDocstring
    def do(self, irc, msg, args, channel, text):
        """<channel> <action>

        Performs <action> in <channel>.
        """
        self._preCheck(irc, msg, channel, 'do')
        self.log.info('Performing %q in %s due to %s.',
                      text, channel, msg.prefix)
        irc.reply(text, action=True, to=channel)
    do = wrap(do, ['inChannel', 'text'])
Anonymous = internationalizeDocstring(Anonymous)

Class = Anonymous


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:4poc,项目名称:competitionbot,代码行数:30,代码来源:plugin.py


示例5: chars

            self.warnings.append('Variable name shouldn\'t contain '
                                 'special chars (%s)' % variableName)

class SupyML(callbacks.Plugin):
    """SupyML is a plugin that read SupyML scripts.
    This scripts (Supybot Markup Language) are script written in a XML-based
    language."""
    #threaded = True
    def eval(self, irc, msg, args, optlist, code):
        """[--warnings] <SupyML script>

        Executes the <SupyML script>"""
        parser = SupyMLParser(self, irc, msg, code,
                              self.registryValue('maxnodes')+2)
        for item in optlist:
            if ('warnings', True) == item and len(parser.warnings) != 0:
                irc.error(' & '.join(parser.warnings))
        if parser.rawData is not None:
            irc.queueMsg(parser.rawData)
        else:
            irc.reply(parser.data)

    eval=wrap(eval, [getopts({'warnings':''}), 'text'])

SupyML = internationalizeDocstring(SupyML)

Class = SupyML


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:Azelphur,项目名称:Supybot-plugins,代码行数:30,代码来源:plugin.py


示例6: hexip

    @internationalizeDocstring
    def hexip(self, irc, msg, args, ip):
        """<ip>

        Returns the hexadecimal IP for that IP.
        """
        ret = ""
        if utils.net.isIPV4(ip):
            quads = ip.split('.')
            for quad in quads:
                i = int(quad)
                ret += '%02X' % i
        else:
            octets = ip.split(':')
            for octet in octets:
                if octet:
                    i = int(octet, 16)
                    ret += '%04X' % i
                else:
                    missing = (8 - len(octets)) * 4
                    ret += '0' * missing
        irc.reply(ret)
    hexip = wrap(hexip, ['ip'])
Internet = internationalizeDocstring(Internet)

Class = Internet


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:fbesser,项目名称:Limnoria,代码行数:29,代码来源:plugin.py


示例7: _formatNote

        notes = self._notes.pop(msg.nick, [])
        # Let's try wildcards.
        removals = []
        for wildcard in self.wildcards:
            if ircutils.hostmaskPatternEqual(wildcard, msg.nick):
                removals.append(wildcard)
                notes.extend(self._notes.pop(wildcard))
            for removal in removals:
                self.wildcards.remove(removal)
        if notes:
            old_repliedto = msg.repliedTo
            irc = callbacks.SimpleProxy(irc, msg)
            private = self.registryValue('private')
            for (when, whence, note) in notes:
                s = self._formatNote(when, whence, note)
                irc.reply(s, private=private, prefixNick=not private)
            self._flushNotes()
            msg.repliedTo = old_repliedto

    def _formatNote(self, when, whence, note):
        return _('Sent %s: <%s> %s') % (self._timestamp(when), whence, note)

    def doJoin(self, irc, msg):
        if self.registryValue('tellOnJoin'):
            self.doPrivmsg(irc, msg)
Later = internationalizeDocstring(Later)

Class = Later

# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:carriercomm,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例8: internationalizeDocstring

        banmaskstyle = conf.supybot.protocols.irc.banmask
        banmask = banmaskstyle.makeBanmask(prefix)
        if punishment == 'kick':
            msg = ircmsgs.kick(channel, nick, reason)
            irc.queueMsg(msg)
        elif punishment == 'ban':
            msg = ircmsgs.ban(channel, banmask)
            irc.queueMsg(msg)
        elif punishment == 'kban':
            msg = ircmsgs.ban(channel, banmask)
            irc.queueMsg(msg)
            msg = ircmsgs.kick(channel, nick, reason)
            irc.queueMsg(msg)
        elif punishment.startswith('mode'):
            msg = ircmsgs.mode(channel, punishment[len('mode'):])
            irc.queueMsg(msg)
        elif punishment.startswith('umode'):
            msg = ircmsgs.mode(channel, (punishment[len('umode'):], nick))
            irc.queueMsg(msg)
        elif punishment.startswith('command '):
            tokens = callbacks.tokenize(punishment[len('command '):])
            self.Proxy(irc, msg, tokens)
AttackProtector = internationalizeDocstring(AttackProtector)


Class = AttackProtector


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:TameTimmah,项目名称:Supybot-plugins,代码行数:29,代码来源:plugin.py


示例9: wrap

        Replies with <text> in a notice.  Use nested commands to your benefit
        here.  If you want a private notice, nest the private command.
        """
        irc.reply(text, notice=True)
    notice = wrap(notice, ['text'])

    @internationalizeDocstring
    def reply(self, irc, msg, args, text):
        """<text>

        Replies with <text>.  Equivalent to the alias, 'echo $nick: $1'.
        """
        irc.reply(text, prefixNick=True)
    reply = wrap(reply, ['text'])

    @internationalizeDocstring
    def replies(self, irc, msg, args, strings):
        """<str> [<str> ...]

        Replies with each of its arguments <str> in separate replies, depending
        the configuration of supybot.reply.oneToOne.
        """
        irc.replies(strings)
    replies = wrap(replies, [many('something')])
Reply = internationalizeDocstring(Reply)

Class = Reply


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:4poc,项目名称:competitionbot,代码行数:30,代码来源:plugin.py


示例10: _sendIson

    def _sendIson(self, irc, nick):
        self.log.info('Checking if %s ISON %s.', nick, irc.network)
        irc.queueMsg(ircmsgs.ison(nick))

    def _sendNick(self, irc, nick):
        self.log.info('Attempting to switch to nick %s on %s.',
                      nick, irc.network)
        irc.sendMsg(ircmsgs.nick(nick))
        
    def doQuit(self, irc, msg):
        nick = self._getNick(irc.network)
        if ircutils.strEqual(msg.nick, nick):
            self._sendNick(irc, nick)
            
    def doNick(self, irc, msg):
        nick = self._getNick(irc.network)
        if ircutils.strEqual(msg.nick, nick):
            self._sendNick(irc, nick)

    def do303(self, irc, msg):
        """This is returned by the ISON command."""
        if not msg.args[1]:
            nick = self._getNick(irc.network)
            if nick:
                self._sendNick(irc, nick)
NickCapture = internationalizeDocstring(NickCapture)

Class = NickCapture

# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:4poc,项目名称:competitionbot,代码行数:30,代码来源:plugin.py


示例11: XpY

    conf.registerPlugin("AttackProtector", True)


class XpY(registry.String):
    """Value must be in the format <number>p<seconds>."""

    _re = re.compile("(?P<number>[0-9]+)p(?P<seconds>[0-9]+)")

    def setValue(self, v):
        if self._re.match(v):
            registry.String.setValue(self, v)
        else:
            self.error()


XpY = internationalizeDocstring(XpY)


class Punishment(registry.String):
    """Value must be a valid punishment ('ban', 'kick', 'kban', 'mode+X',
    'mode-X', 'command XXX', ...)"""

    def set(self, s):
        if (
            s not in ("ban", "kick", "kban")
            and not s.startswith("mode+")
            and not s.startswith("mode-")
            and not s.startswith("command ")
        ):
            self.error()
            return
开发者ID:arvindkhadri,项目名称:Supybot-plugins,代码行数:31,代码来源:config.py


示例12: _

            (target, reason) = (text, '')
        if ircutils.strEqual(target, irc.nick):
            target = 'itself'
        if id is not None:
            try:
                praise = self.db.get(channel, id)
            except KeyError:
                irc.error(format(_('There is no praise with id #%i.'), id))
                return
        else:
            praise = self.db.random(channel)
            if not praise:
                irc.error(format(_('There are no praises in my database ' \
                                 'for %s.'), channel))
                return
        text = self._replaceFirstPerson(praise.text, msg.nick)
        reason = self._replaceFirstPerson(reason, msg.nick)
        target = self._replaceFirstPerson(target, msg.nick)
        text = text.replace('$who', target)
        if reason:
            text += _(' for ') + reason
        if self.registryValue('showIds', channel):
            text += format(' (#%i)', praise.id)
        irc.reply(text, action=True)
    praise = wrap(praise, ['channeldb', optional('id'), 'text'])
Praise = internationalizeDocstring(Praise)

Class = Praise

# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:4poc,项目名称:competitionbot,代码行数:30,代码来源:plugin.py


示例13: wrap

        irc.reply(", ".join(s))
    rank = wrap(rank, ['channelOrGlobal'])

    @internationalizeDocstring
    def vacuum(self, irc, msg, args, channel):
        """[<channel>|global]

        Vacuums the database for <channel>.
        See SQLite vacuum doc here: http://www.sqlite.org/lang_vacuum.html
        <channel> is only necessary if the message isn't sent in
        the channel itself.
        First check if user has the required capability specified in plugin
        config requireVacuumCapability.
        """
        capability = self.registryValue('requireVacuumCapability')
        if capability:
            if not ircdb.checkCapability(msg.prefix, capability):
                irc.errorNoCapability(capability, Raise=True)
        db = self.getDb(channel)
        cursor = db.cursor()
        cursor.execute("""VACUUM""")
        db.commit()
        irc.replySuccess()
    vacuum = wrap(vacuum, ['channelOrGlobal'])
MessageParser = internationalizeDocstring(MessageParser)

Class = MessageParser


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:GlitterCakes,项目名称:PoohBot,代码行数:30,代码来源:plugin.py


示例14: PluginInternationalization

import supybot.ircutils as ircutils
from supybot.i18n import PluginInternationalization, internationalizeDocstring
_ = PluginInternationalization('Dunno')

class Dunno(plugins.ChannelIdDatabasePlugin):
    """This plugin was written initially to work with MoobotFactoids, the two
    of them to provide a similar-to-moobot-and-blootbot interface for factoids.
    Basically, it replaces the standard 'Error: <x> is not a valid command.'
    messages with messages kept in a database, able to give more personable
    responses."""

    callAfter = ['MoobotFactoids', 'Factoids', 'Infobot']
    def invalidCommand(self, irc, msg, tokens):
        channel = msg.args[0]
        if irc.isChannel(channel):
            dunno = self.db.random(channel)
            if dunno is not None:
                dunno = dunno.text
                prefixNick = self.registryValue('prefixNick', channel)
                env = {'command': tokens[0]}
                self.log.info('Issuing "dunno" answer, %s is not a command.' %
                        tokens[0])
                dunno = ircutils.standardSubstitute(irc, msg, dunno, env=env)
                irc.reply(dunno, prefixNick=prefixNick)
Dunno = internationalizeDocstring(Dunno)

Class = Dunno


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:AssetsIncorporated,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例15: _enforceLimit

        irc.noReply()

    def _enforceLimit(self, irc, channel):
        if self.registryValue('enable', channel):
            maximum = self.registryValue('maximumExcess', channel)
            minimum = self.registryValue('minimumExcess', channel)
            assert maximum > minimum
            currentUsers = len(irc.state.channels[channel].users)
            currentLimit = irc.state.channels[channel].modes.get('l', 0)
            if currentLimit - currentUsers < minimum:
                self._enforce(irc, ircmsgs.limit(channel,currentUsers+maximum))
            elif currentLimit - currentUsers > maximum:
                self._enforce(irc, ircmsgs.limit(channel,currentUsers+minimum))

    def doJoin(self, irc, msg):
        if not ircutils.strEqual(msg.nick, irc.nick):
            irc = callbacks.SimpleProxy(irc, msg)
            self._enforceLimit(irc, msg.args[0])
    doPart = doJoin
    doKick = doJoin

    def doQuit(self, irc, msg):
        for channel in irc.state.channels:
            self._enforceLimit(irc, channel)
Limiter = internationalizeDocstring(Limiter)

Class = Limiter


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:4poc,项目名称:competitionbot,代码行数:30,代码来源:plugin.py


示例16: reply

            def reply(self2, s, *args, **kwargs):
                replies.append(s)
            def error(self2, s, Raise=False, *args, **kwargs):
                errors.append(s)
                if Raise:
                    raise ArgumentError
            def _callInvalidCommands(self2):
                errors.append(InvalidCommand(self2.args))
            def evalArgs(self2):
                # We don't want the replies in the nested command to
                # be stored here.
                super(ErrorReportingProxy, self2).evalArgs(withClass=self.Proxy)

        try:
            ErrorReportingProxy(irc.irc, msg, tokens)
        except callbacks.ArgumentError as e:
            pass
        # TODO: do something with the results
        if errors:
            irc.reply('true')
        else:
            irc.reply('false')
    cerror = wrap(cerror, ['something'])

Condition = internationalizeDocstring(Conditional)

Class = Conditional


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:ElectroCode,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例17: wrap

        Deletes the factoid with the given key.  <channel> is only necessary
        if the message isn't sent in the channel itself.
        """
        _ = self._getFactoid(irc, channel, key)
        self._checkNotLocked(irc, channel, key)
        self.db.removeFactoid(channel, key)
        irc.replySuccess()
    remove = wrap(remove, ['channeldb', 'user', 'text'])

    @internationalizeDocstring
    def random(self, irc, msg, args, channel):
        """[<channel>]

        Displays a random factoid (along with its key) from the database.
        <channel> is only necessary if the message isn't sent in the channel
        itself.
        """
        results = self.db.randomFactoid(channel)
        if not results:
            irc.error(_('No factoids in the database.'))
            return
        (fact, key) = results
        irc.reply(format('Random factoid: %q is %q', key, fact))
    random = wrap(random, ['channeldb'])
MoobotFactoids = internationalizeDocstring(MoobotFactoids)

Class = MoobotFactoids


# vim:set shiftwidth=4 softtabstop=8 expandtab textwidth=78:
开发者ID:AssetsIncorporated,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例18: conv

            url = self.registryValue('feeds.%s' % url)
        except registry.NonExistentRegistryEntry:
            pass
        feed = self.getFeed(url)
        conv = self._getConverter(feed)
        info = feed.get('feed')
        if not info:
            irc.error(_('I couldn\'t retrieve that RSS feed.'))
            return
        # check the 'modified_parsed' key, if it's there, convert it here first
        if 'modified' in info:
            seconds = time.mktime(info['modified_parsed'])
            now = time.mktime(time.gmtime())
            when = utils.timeElapsed(now - seconds) + ' ago'
        else:
            when = 'time unavailable'
        title = conv(info.get('title', 'unavailable'))
        desc = conv(info.get('description', 'unavailable'))
        link = conv(info.get('link', 'unavailable'))
        # The rest of the entries are all available in the channel key
        response = format(_('Title: %s;  URL: %u;  '
                          'Description: %s;  Last updated: %s.'),
                          title, link, desc, when)
        irc.reply(utils.str.normalizeWhitespace(response))
    info = wrap(info, [first('url', 'feedName')])
RSS = internationalizeDocstring(RSS)

Class = RSS

# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:Erika-Mustermann,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例19: wrap

                irc.replySuccess()
            except KeyError:
                irc.error(_('That nick was not configured with a password.'))
                return
        else:
            self.registryValue('nicks').add(nick)
            config.registerNick(nick, password)
            irc.replySuccess()
    password = wrap(password, [('checkCapability', 'admin'),
                                'private', 'nick', 'text'])

    @internationalizeDocstring
    def nicks(self, irc, msg, args):
        """takes no arguments

        Returns the nicks that this plugin is configured to identify and ghost
        with.
        """
        L = list(self.registryValue('nicks'))
        if L:
            utils.sortBy(ircutils.toLower, L)
            irc.reply(format('%L', L))
        else:
            irc.reply(_('I\'m not currently configured for any nicks.'))
    nicks = wrap(nicks, [('checkCapability', 'admin')])
Services = internationalizeDocstring(Services)

Class = Services

# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:Athemis,项目名称:Limnoria,代码行数:30,代码来源:plugin.py


示例20: info

    def info(self, irc, msg, args, repository, plugin):
        """<repository> <plugin>

        Displays informations on the <plugin> in the <repository>."""
        global repositories
        if repository not in repositories:
            irc.error(_("This repository does not exist or is not known by " "this bot."))
        elif plugin not in repositories[repository].getPluginList():
            irc.error(_("This plugin does not exist in this repository."))
        else:
            info = repositories[repository].getInfo(plugin)
            if info is None:
                irc.error(_("No README found for this plugin"))
            else:
                if info.startswith("Insert a description of your plugin here"):
                    irc.error(_("This plugin has no description."))
                else:
                    info = info.split("\n\n")[0]
                    for line in info.split("\n"):
                        if line != "":
                            irc.reply(line)

    info = wrap(info, ["something", optional("something")])


PluginDownloader = internationalizeDocstring(PluginDownloader)
Class = PluginDownloader


# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
开发者ID:Hoaas,项目名称:Limnoria,代码行数:30,代码来源:plugin.py



注:本文中的supybot.i18n.internationalizeDocstring函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python ircdb.checkCapability函数代码示例发布时间:2022-05-27
下一篇:
Python httpserver.unhook函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap