Changeset 31 for sitemap-plugin/trunk/src
- Timestamp:
- 04/06/07 13:14:12 (5 years ago)
- Location:
- sitemap-plugin/trunk/src
- Files:
-
- 7 edited
-
. (modified) (1 prop)
-
setup.py (modified) (1 diff)
-
sitemap/__init__.py (modified) (1 diff)
-
sitemap/api.py (modified) (1 diff)
-
sitemap/templates/sitemap_admin.cs (modified) (2 diffs)
-
sitemap/ticket.py (modified) (6 diffs)
-
sitemap/wiki.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sitemap-plugin/trunk/src
-
Property
svn:ignore
set to
sitemap.egg-info
-
Property
svn:ignore
set to
-
sitemap-plugin/trunk/src/setup.py
r30 r31 10 10 author_email = 'christian@wilde-welt.de', 11 11 url = 'http://voidblog.de/wiki/GoogleSitemap', 12 description = ' Various sitemap generators',12 description = 'Dynamic sitemap generation for the Google sitemap service', 13 13 license='BSD', 14 14 packages = ['sitemap'], -
sitemap-plugin/trunk/src/sitemap/__init__.py
r30 r31 1 1 import api 2 2 import wiki 3 import ticket3 # import ticket 4 4 try: 5 5 from admin_ui import * -
sitemap-plugin/trunk/src/sitemap/api.py
r30 r31 154 154 def send_ping(self): 155 155 """Ping Google sitemaps to indicate that an updated sitemap is available""" 156 href = Href(self.env.abs_href)156 href = self.base_url + '/sitemap.xml' 157 157 url = 'http://www.google.com/webmasters/sitemaps/ping?' + \ 158 158 urlencode({'sitemap' : href}) 159 159 self.env.log.info('Sending ping to Google: %s ' % url) 160 urllib2.urlopen(url) 160 # urllib2.urlopen(url) 161 162 163 class RessourceFactory: 164 """Convenience base class for content implementations, eg. wiki or ticket data converters""" 165 166 def set_option(self, req, name, default=''): 167 tmp = default 168 if name in req.args: 169 tmp = req.args[name] 161 170 171 if self.env.config.get('sitemap', name) != tmp: 172 self.env.config.set('sitemap', name, tmp) 173 174 def set_bool_option(self, req, name, default=None): 175 tmp = default 176 self.env.log.debug(req.args) 177 if name in req.args: 178 tmp = req.args[name] == '1' 179 self.env.log.debug('Value of ' + name + ' is ' + req.args[name]) 180 181 if self.env.config.getbool('sitemap', name) != tmp: 182 self.env.config.set('sitemap', name, tmp) 183 -
sitemap-plugin/trunk/src/sitemap/templates/sitemap_admin.cs
r30 r31 2 2 <h2>Google Sitemap™ settings</h2> 3 3 <div class="field"> 4 <label>Google page name: <br />5 <input size="30" type="text" name="confirmationpage" value="<?cs var:sitemap.confirmationpage ?>" /> e.g. <em>googleeb3689b3689b3689.html</em>4 <label>Google page name: <em>e.g. googleeb3689b3689b3689.html</em><br /> 5 <input size="30" type="text" name="confirmationpage" value="<?cs var:sitemap.confirmationpage ?>" /> 6 6 </label> 7 7 </div> 8 8 <div class="field"> 9 <label>Base url: <br />9 <label>Base url: <em>will be extended with /sitemap.xml</em><br /> 10 10 <input size="60" type="text" name="base_url" value="<?cs var:sitemap.base_url ?>" style="width:100%" /> 11 11 </label> … … 30 30 <?cs each:item = sitemap.data ?> 31 31 <tr> 32 <td align="center"><input type="checkbox" name=" handle_<?cs name:item ?>" value="1" <?cs33 if:item. handle?> checked="checked" <?cs /if ?> /></td>32 <td align="center"><input type="checkbox" name="<?cs name:item ?>_autoupdate" value="1" <?cs 33 if:item.autoupdate == 1 ?> checked="checked" <?cs /if ?> /></td> 34 34 <td><strong><?cs var:item.title ?></strong></td> 35 35 <td><select name="<?cs name:item ?>_priority"> -
sitemap-plugin/trunk/src/sitemap/ticket.py
r30 r31 1 from api import SitemapController1 from api import * 2 2 from trac.config import BoolOption 3 3 import datetime … … 5 5 from trac.core import Component 6 6 from trac.core import implements 7 from trac.ticket.api import ITicketChangeListener 8 from trac.ticket.model import Ticket 7 9 from trac.web.href import Href 8 from trac.wiki.model import WikiPage9 from trac.wiki.api import WikiSystem10 10 from api import ISitemapContributor 11 11 from api import RessourceData 12 12 13 class TicketData(Component ):13 class TicketData(Component, RessourceFactory): 14 14 15 implements(ISitemapContributor )15 implements(ISitemapContributor, ITicketChangeListener) 16 16 17 17 auto_update = BoolOption('sitemap', 'ticket_autoupdate', 'True', … … 22 22 """Default change frequency for tickets""") 23 23 24 def _check_update(self): 25 if self.auto_update == True: 26 s = SitemapController(self.env) 27 s.send_ping() 28 24 29 #ISitemapContributor methods 25 30 def get_name(self): … … 33 38 """ 34 39 return { 40 'autoupdate' : self.auto_update, 35 41 'priority' : self.priority, 36 42 'frequency' : self.frequency … … 39 45 def set_configuration(self, req): 40 46 """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') 41 50 42 51 … … 46 55 wiki = WikiSystem(self.env) 47 56 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() #@UnusedVariable53 if self.exclude_default:54 if author == 'trac':55 continue56 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.priority62 ))63 57 return d 64 58 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 -
sitemap-plugin/trunk/src/sitemap/wiki.py
r30 r31 1 from api import SitemapController1 from api import * 2 2 from trac.wiki.api import IWikiChangeListener 3 3 from trac.config import BoolOption … … 12 12 from api import RessourceData 13 13 14 class WikiData(Component ):14 class WikiData(Component, RessourceFactory): 15 15 16 16 implements(ISitemapContributor, IWikiChangeListener) … … 41 41 """ 42 42 return { 43 'autoupdate' : self.auto_update, 43 44 'priority' : self.priority, 44 'frequency' : self.frequency 45 'frequency' : self.frequency, 46 'exclude_default' : self.exclude_default 45 47 } 46 48 47 49 def set_configuration(self, req): 48 50 """Update config to new values""" 49 51 self.set_bool_option(req, 'wiki_autoupdate') 52 self.set_option(req, 'wiki_priority') 53 self.set_option(req, 'wiki_frequency') 50 54 51 55 def get_data(self, req):
Note: See TracChangeset
for help on using the changeset viewer.
