;ò > ÄDc@s‡dkiZdkTdkiiZdkiZdkiZdk i Z dk i Z dk Z dkZde ifd„ƒYZeZdS(N(s*sTracBotc BsvtZdZd„ZeeddgƒZd„ZeeddgƒZd„Zeeddd d d fd fgƒZd „ZeededddddfdfƒdgƒZd„Z ee dgƒZ d„Z ee ddgƒZ d„Z ee de hde <de <de <de <de <de <ƒddgƒZ hd„Zd„ZeedgƒZRS( sUTracBot plugin provides plugins for use with the Trac issue tracking system. cCsV|id|ƒdj o&|id|ƒ}d||f}nd}|i|ƒdS(sH returns a link to that ticket on the Trac Site stracBasess %s/ticket/%ds9TracBot does not have a tracBase defined for this channelN(sselfs registryValueschannelsbasesticketnosreplysirc(sselfsircsmsgsargsschannelsticketnosbasesreply((s./TracBot/plugin.pysticket.s schannelsintcCsT|id|ƒdj o$|id|ƒ}|d|}nd}|i|ƒdS(sL returns a link to the wiki page on the Trac Site stracBasess/wiki/s9TracBot does not have a tracBase defined for this channelN(sselfs registryValueschannelsbasespagesreplysirc(sselfsircsmsgsargsschannelspagesbasesreply((s./TracBot/plugin.pyswiki:s ssomethingWithoutSpacescCsb|djo|d}n7|djo|d}n|djo|d}n|i|ƒdS(s Gives the link to . Acceptable values are currently "bugs", "troubleshooting" and "requests" sbugssN: Learn about reporting bugs here => http://trac.adiumx.com/wiki/ReportingBugssrequestssX: Learn about requesting features here => http://trac.adiumx.com/wiki/RequestingFeaturesstroubleshootingsX: Learn about troubleshooting AdiumX here => http://trac.adiumx.com/wiki/TroubleshootingN(spagesnicksreplysirc(sselfsircsmsgsargssnickspagesreply((s./TracBot/plugin.pysshowFs   snicksliteralsbugsstroubleshootingsrequestssKThe only currently available options are bugs, troubleshooting and requestsc Csö|id|ƒdj oÆ|id|ƒ}tii|ƒ}|djo|d|d} qå|djo|d|d} qå|djo|d|d } qå|d jo|d|d } qå|d|d } nd } |i | ƒd S(s¸[] returns a link to a search of the Adium Trac Site for can either be "wiki", "tickets", "changesets" or "commits" stracBasesswikis /search?q=s&wiki=onsticketss &ticket=ons changesetss &changeset=onscommitss&wiki=on&ticket=on&changeset=ons9TracBot does not have a tracBase defined for this channelN( sselfs registryValueschannelsbasesutilsswebsurlquotespagesurlisedstypesreplysirc( sselfsircsmsgsargsschannelstypespagesurlisedsbasesreply((s./TracBot/plugin.pys tracsearchTs    swikisticketss changesetsscommitssBorked.stextcCsP|id|ƒdj o |id|ƒ}|d}nd}|i|ƒdS(sD Gives the link to the trac ticket submission page. stracBasess /newtickets9TracBot does not have a tracBase defined for this channelN(sselfs registryValueschannelsbasesreplysirc(sselfsircsmsgsargsschannelsbasesreply((s./TracBot/plugin.pys newticketks cCsV|id|ƒdj o&|id|ƒ}d||f}nd}|i|ƒdS(si Returns a link to changeset on the Adium trac site stracBasess%s/changeset/%ds9TracBot does not have a tracBase defined for this channelN(sselfs registryValueschannelsbases changesetnosreplysirc(sselfsircsmsgsargsschannels changesetnosbasesreply((s./TracBot/plugin.pys changesetxs cCs;|id|ƒdj o |id|ƒ} d| idƒ} hd|i<d|<d|<dd <d d <} x|D]\}} | | |] [--reporter=] [--component=] [--owner=] [--milestone=] [--version=] "" Submit a new ticket with summary and description with the supplied options. stracBasess %s/newtickets/sreporterssummarys descriptionsactionscreatesstatussnews id="ticket"si���iÿÿÿÿs��� i����s���#s���New ticket at: %s/ticket/%ss���Posting a new ticket failed.s:���TracBot does not have a tracBase defined for this channel.N(���s���selfs ���registryValues���channels���bases���rstrips���urls���msgs���nicks���summarys ���descriptions���postdatas���optlists���opts���values���_openUrls���pages���splits���numbers���strips���replys���irc(���s���selfs���ircs���msgs���argss���channels���optlists���summarys ���descriptions���opts���postdatas���urls���numbers���values���bases���replys���page(����(����s���./TracBot/plugin.pys ���maketicket…���s&�����6�   & s���types���reporters ���components���versions ���milestones���owners ���somethingc���������C���s5���t��i�|�ƒ�}�t�i�|�d�|�ƒ}�t�i �|�ƒ�Sd��S(���Ns���data( ���s���urllibs ���urlencodes���postdatas���datas���urllib2s���Requests���urls���requests���webs���getUrl(���s���selfs���urls���postdatas���requests���data(����(����s���./TracBot/plugin.pys���_openUrl­���s����c��� ������C���sQ���d�k��}�d�k�}�|�i�d�d�ƒ�}�d�|�i�|�i�|�ƒ�ƒ�}�|�i�|�ƒ�d�S(���sV���<wiki page> Returns a link to the page on wikipedia for <wiki string> Ns��� s���_s���http://en.wikipedia.org/wiki/( ���s���strings���urllibs ���maketranss ���to_underscores���quotes ���wiki_strings ���translates���replys���irc( ���s���selfs���ircs���msgs���argss ���wiki_strings���strings���urllibs ���to_underscores���reply(����(����s���./TracBot/plugin.pys ���wikipedia²���s �����(���s���__name__s ���__module__s���__doc__s���tickets���wraps���wikis���shows ���tracsearchs���optionals ���newtickets ���changesets ���maketickets���getoptss���Nones���_openUrls ���wikipedia(����(����(����s���./TracBot/plugin.pys���TracBot)���s$��� �   ' 3   W  (���s ���supybot.utilss���utilss���supybot.commandss���supybot.utils.webs���webs���supybot.pluginss���pluginss���supybot.ircutilss���ircutilss���supybot.callbackss ���callbackss���supybot.ircmsgss���ircmsgss���urllibs���urllib2s���Plugins���TracBots���Class( ���s���webs���utilss���ircmsgss���urllibs���urllib2s ���callbackss���pluginss���TracBots���Classs���ircutils(����(����s���./TracBot/plugin.pys���?���s���       “