source: products/qPloneGoogleSitemaps/branches/contenttype/handlers.py @ 437

Last change on this file since 437 was 432, checked in by crchemist, 18 years ago

Added plone-2.1.3 compatibility.

  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1from urllib2 import urlopen
2from urllib  import quote as urlquote
3
4from zope.component import adapter
5from Products.CMFCore.utils import getToolByName
6from Products.qPloneGoogleSitemaps.events import AfterTransitionEvent
7from Products.qPloneGoogleSitemaps.interfaces import IAfterTransitionEvent
8from Products.qPloneGoogleSitemaps.utils import ping_google
9
10def pingByType(event, smtype):
11    object = event.object
12    portal = getToolByName(object, 'portal_url').getPortalObject()
13    pp = getToolByName(object, 'portal_properties')
14    props = getattr(pp, 'googlesitemap_properties', None)
15   
16    pname = "%s_default" % smtype
17    csm_path = props and props.getProperty(pname, '') or ''
18   
19    print "csm_path: %s" % csm_path
20   
21    if csm_path:
22        csm = portal.unrestrictedTraverse(csm_path, default=None)
23        wftrans_name = "%s#%s" % (event.workflow.id, event.transition.id)
24       
25        print "wftrans_name: %s, csm: %s" % (wftrans_name, repr(csm))
26       
27        if csm and wftrans_name in csm.getPingTransitions():
28            plone_home = getToolByName(object, 'portal_url').getPortalObject().absolute_url()
29            #ping_google(plone_home, csm.id)
30            print "Pinged (%s/%s) " % (plone_home, csm.id)
31           
32           
33            print "Pinged %s sitemap to google" % smtype
34
35
36@adapter(IAfterTransitionEvent)
37def pingGoogle(event):
38    for smtype in ['content', 'mobile', 'news']:
39        pingByType(event, smtype)
40    return 0
Note: See TracBrowser for help on using the repository browser.