Ignore:
Timestamp:
04/06/07 13:14:12 (5 years ago)
Author:
christian
Message:
  • Fixed base url error by adding a configurable option
  • Finished option handling UI
  • Improved readme and installation instructions
  • Downgraded embedded trac environment to sqlite2
  • Improved eclipse setup
Location:
sitemap-plugin/trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sitemap-plugin/trunk/src

    • Property svn:ignore set to
      sitemap.egg-info
  • sitemap-plugin/trunk/src/sitemap/ticket.py

    r30 r31  
    1 from api import SitemapController 
     1from api import * 
    22from trac.config import BoolOption 
    33import datetime 
     
    55from trac.core import Component 
    66from trac.core import implements 
     7from trac.ticket.api import ITicketChangeListener 
     8from trac.ticket.model import Ticket 
    79from trac.web.href import Href 
    8 from trac.wiki.model import WikiPage 
    9 from trac.wiki.api import WikiSystem 
    1010from api import ISitemapContributor 
    1111from api import RessourceData 
    1212 
    13 class TicketData(Component): 
     13class TicketData(Component, RessourceFactory): 
    1414     
    15     implements(ISitemapContributor) 
     15    implements(ISitemapContributor, ITicketChangeListener) 
    1616 
    1717    auto_update = BoolOption('sitemap', 'ticket_autoupdate', 'True', 
     
    2222       """Default change frequency for tickets""") 
    2323     
     24    def _check_update(self): 
     25        if self.auto_update == True: 
     26            s = SitemapController(self.env) 
     27            s.send_ping() 
     28 
    2429    #ISitemapContributor methods 
    2530    def get_name(self): 
     
    3338        """ 
    3439        return { 
     40            'autoupdate' : self.auto_update, 
    3541            'priority' : self.priority, 
    3642            'frequency' : self.frequency 
     
    3945    def set_configuration(self, req): 
    4046        """Update config to new values""" 
     47        self.set_bool_option(req, 'ticket_autoupdate') 
     48        self.set_option(req, 'ticket_priority') 
     49        self.set_option(req, 'ticket_frequency') 
    4150         
    4251     
     
    4655        wiki = WikiSystem(self.env) 
    4756        d = [] 
    48         href = Href(self.env.base_url) 
    49         for pagename in wiki.get_pages(): 
    50             page = WikiPage(self.env, pagename) 
    51              
    52             version, post_time, author, comment, ipnr = page.get_history().next() #@UnusedVariable 
    53             if self.exclude_default: 
    54                 if author == 'trac': 
    55                     continue 
    56             entry_time = datetime.datetime.utcfromtimestamp(post_time) 
    57             d.append(RessourceData( 
    58                                   href.wiki(pagename), 
    59                                   entry_time.strftime("%Y-%m-%dT%H:%M:%SZ"), 
    60                                   self.frequency, 
    61                                   self.priority 
    62                                   )) 
    6357        return d 
    6458         
     59     #ITicketChangeListener methods 
     60    def ticket_created(ticket): 
     61        """Called when a ticket is created.""" 
     62        self._check_update() 
     63 
     64    def ticket_changed(ticket, comment, author, old_values): 
     65        """Called when a ticket is modified. 
     66         
     67        `old_values` is a dictionary containing the previous values of the 
     68        fields that have changed. 
     69        """ 
     70        self._check_update() 
     71 
     72    def ticket_deleted(ticket): 
     73        """Called when a ticket is deleted.""" 
     74        self._check_update() 
     75 
     76      
Note: See TracChangeset for help on using the changeset viewer.