Changeset 2976

Show
Ignore:
Timestamp:
01/04/08 13:53:01 (11 months ago)
Author:
mitsuhiko
Message:

added supybot plugin

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ircannouncerplugin/0.11/tracext/ircannouncer/listener.py

    r2975 r2976  
    77    to send the changes to a supybot. 
    88 
    9     :copyright: Copyright 2007 by Armin Ronacher. 
     9    :copyright: Copyright 2008 by Armin Ronacher. 
    1010    :license: BSD. 
    1111""" 
    1212from socket import error as SocketError 
    13 from xmlrpclib import ServerProxy 
     13from xmlrpclib import ServerProxy, Fault 
    1414 
    1515from trac.config import * 
     
    3636        try: 
    3737            self.bot.ircannouncer.notify(type, values) 
    38         except (IOError, SocketError): 
    39             pass 
     38        except (IOError, SocketError, Fault): 
     39            raise 
     40            return False 
     41        return True 
    4042 
    4143    # -- ITicketChangeListener 
     
    5557 
    5658    def ticket_deleted(self, ticket): 
    57         values = prepare_ticket_values(ticket, 'deleted') 
    58         self.notify('ticket', values) 
     59        pass 
    5960 
    6061    # -- IRepositoryListener 
     
    6465 
    6566    def changeset_commited(self, chgset): 
    66         self.notify('changeset', prepare_changeset_values(chgset)) 
     67        self.notify('changeset', prepare_changeset_values(self.env, chgset)) 
  • ircannouncerplugin/0.11/tracext/ircannouncer/service.py

    r2975 r2976  
    77    about tickets or changesets. 
    88 
    9     :copyright: Copyright 2007 by Armin Ronacher. 
     9    :copyright: Copyright 2008 by Armin Ronacher. 
    1010    :license: BSD. 
    1111""" 
     
    4545        except NoSuchChangeset: 
    4646            raise NotFound() 
    47         return prepare_changeset_values(chgset) 
     47        return prepare_changeset_values(self.env, chgset) 
    4848 
    4949    # -- IRequestHandler methods 
  • ircannouncerplugin/0.11/tracext/ircannouncer/utils.py

    r2975 r2976  
    66    Contains some utils. 
    77 
    8     :copyright: Copyright 2007 by Armin Ronacher. 
     8    :copyright: Copyright 2008 by Armin Ronacher. 
    99    :license: BSD. 
    1010""" 
     
    4242 
    4343 
     44def add_environment_info(env, values): 
     45    """Add infos about the trac to the values dict.""" 
     46    url = env.abs_href() 
     47    if not url.endswith('/'): 
     48        url += '/' 
     49    values['trac'] = { 
     50        'name':         env.project_name, 
     51        'description':  env.project_description, 
     52        'url':          url 
     53    } 
     54    return values 
     55 
     56 
    4457def prepare_ticket_values(ticket, action=None): 
    4558    """Converts a ticket object into a dict.""" 
     
    4861    if action is not None: 
    4962        values['action'] = action 
    50     return values 
     63    values['url'] = ticket.env.abs_href.ticket(ticket.id) 
     64    return add_environment_info(ticket.env, values) 
    5165 
    5266 
    53 def prepare_changeset_values(chgset): 
     67def prepare_changeset_values(env, chgset): 
    5468    """Converts a changeset object into a dict.""" 
    5569    outer_path = None 
     
    6478    if not outer_path.startswith('/'): 
    6579        outer_path = '/' + outer_path 
    66     return
     80    return add_environment_info(env,
    6781        'file_count':   files, 
    6882        'path':         outer_path, 
    6983        'rev':          chgset.rev, 
    7084        'author':       chgset.author, 
    71         'message':      chgset.message 
    72     } 
     85        'message':      chgset.message, 
     86        'url':          env.abs_href.changeset(chgset.rev) 
     87    })