Changeset 3152 in products for quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/configletview.py
- Timestamp:
- Apr 20, 2011 8:20:36 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/browser/configletview.py
r3006 r3152 8 8 9 9 from quintagroup.plonegooglesitemaps.interfaces import ISitemap 10 from quintagroup.plonegooglesitemaps import qPloneGoogleSitemapsMessageFactory as _ 10 from quintagroup.plonegooglesitemaps \ 11 import qPloneGoogleSitemapsMessageFactory as _ 12 11 13 12 14 def splitNum(num): … … 14 16 prefn = 3 15 17 for c in str(num)[::-1]: 16 res.insert(0, c)17 if not len(res) %prefn:18 res.insert(0, ',')18 res.insert(0, c) 19 if not len(res) % prefn: 20 res.insert(0, ',') 19 21 prefn += 4 20 return "".join(res[0]==',' and res[1:] or res) 22 return "".join(res[0] == ',' and res[1:] or res) 23 21 24 22 25 class IConfigletSettingsView(Interface): … … 25 28 """ 26 29 27 sitemaps = Attribute("Returns mapping of sitemap's type to list of appropriate objects") 28 hasContentSM = Attribute("Returns boolean about existance of content sitemap") 29 hasMobileSM = Attribute("Returns boolean about existance of mobile sitemap") 30 sitemaps = Attribute("Returns mapping of sitemap's type to list of " \ 31 "appropriate objects") 32 hasContentSM = Attribute("Returns boolean about existance of content " \ 33 "sitemap") 34 hasMobileSM = Attribute("Returns boolean about existance of mobile " \ 35 "sitemap") 30 36 hasNewsSM = Attribute("Returns boolean about existance of news sitemap") 31 37 sm_types = Attribute("List of sitemap types") … … 46 52 def uploadVerificationFile(vfile): 47 53 """ Upload passed site verification file to the site. 48 On success - update googlesitemaps verification files list. 54 On success - update googlesitemaps verification files list. 49 55 Return tuple where : 50 56 1. boolean value - is verification file successfully created. … … 53 59 2.2. if failure - error descirption 54 60 """ 61 55 62 56 63 class ConfigletSettingsView(BrowserView): … … 65 72 self.request = request 66 73 67 self.tools = queryMultiAdapter((self.context, self.request), name="plone_tools") 68 self.pps = queryMultiAdapter((self.context, self.request), name="plone_portal_state") 69 self.sitemaps = [i.getObject() for i in self.tools.catalog()(portal_type='Sitemap')] 74 self.tools = queryMultiAdapter((self.context, self.request), 75 name="plone_tools") 76 self.pps = queryMultiAdapter((self.context, self.request), 77 name="plone_portal_state") 78 self.sitemaps = [i.getObject() for i in \ 79 self.tools.catalog()(portal_type='Sitemap')] 70 80 71 81 @property … … 88 98 sitemaps = {} 89 99 for sm in self.sitemaps: 90 smlist = sitemaps.setdefault(sm.getSitemapType(), [])91 smlist.append({'url': sm.absolute_url(),'id':sm.id})92 sitemaps['all'] = sitemaps.setdefault('content', []) + \93 sitemaps.setdefault('mobile', []) + \94 sitemaps.setdefault('news', [])100 smlist = sitemaps.setdefault(sm.getSitemapType(), []) 101 smlist.append({'url': sm.absolute_url(), 'id': sm.id}) 102 sitemaps['all'] = sitemaps.setdefault('content', []) + \ 103 sitemaps.setdefault('mobile', []) + \ 104 sitemaps.setdefault('news', []) 95 105 return sitemaps 96 106 … … 98 108 sitemaps = {} 99 109 for sm in self.sitemaps: 100 smlist = sitemaps.setdefault(sm.getSitemapType(), [])110 smlist = sitemaps.setdefault(sm.getSitemapType(), []) 101 111 smlist.append(sm.absolute_url()) 102 112 return sitemaps 103 113 104 114 def sitemapsDict(self): 105 content, mobile, news = [], [],[]115 content, mobile, news = [], [], [] 106 116 for sm in self.sitemaps: 107 117 data = self.getSMData(sm) … … 116 126 def getSMData(self, ob): 117 127 size, entries = self.getSitemapData(ob) 118 return {'sm_type' 119 'sm_id' 120 'sm_url' 121 'sm_size' 122 'sm_entries' 128 return {'sm_type': ob.getSitemapType().capitalize(), 129 'sm_id': ob.id, 130 'sm_url': ob.absolute_url(), 131 'sm_size': size and splitNum(size) or '', 132 'sm_entries': entries and splitNum(entries) or '', 123 133 } 124 134 … … 128 138 if view: 129 139 resp = self.request.RESPONSE 130 bview = queryMultiAdapter((ob, self.request), name=view)140 bview = queryMultiAdapter((ob, self.request), name=view) 131 141 if bview: 132 142 try: 133 143 size = len(bview()) 134 144 entries = bview.numEntries 135 self.request.RESPONSE.setHeader('Content-Type', 'text/html') 145 self.request.RESPONSE.setHeader('Content-Type', 146 'text/html') 136 147 except: 137 148 pass … … 140 151 def getVerificationFiles(self): 141 152 vfs = [] 142 props = getattr(self.tools.properties(), 'googlesitemap_properties')153 props = getattr(self.tools.properties(), 'googlesitemap_properties') 143 154 if props: 144 155 portal_ids = self.pps.portal().objectIds() 145 props_vfs = list(props.getProperty('verification_filenames', []))156 props_vfs = list(props.getProperty('verification_filenames', [])) 146 157 vfs = [vf for vf in props_vfs if vf in portal_ids] 147 if not props_vfs ==vfs:158 if not props_vfs == vfs: 148 159 props._updateProperty('verification_filenames', vfs) 149 160 return vfs … … 157 168 portal.manage_addFile(id="", file=vfile) 158 169 portal[vfilename].manage_addProperty( 159 'CreatedBy', 'quintagroupt.plonegooglesitemaps', 'string')170 'CreatedBy', 'quintagroupt.plonegooglesitemaps', 'string') 160 171 except BadRequestException, e: 161 172 return False, str(e) 162 173 else: 163 174 props = self.tools.properties().googlesitemap_properties 164 vfilenames = list(props.getProperty('verification_filenames', []))175 vfilenames = list(props.getProperty('verification_filenames', [])) 165 176 vfilenames.append(vfilename) 166 props.manage_changeProperties(verification_filenames =vfilenames)177 props.manage_changeProperties(verification_filenames=vfilenames) 167 178 return True, vfilename
Note: See TracChangeset
for help on using the changeset viewer.