Changeset 2665 in products for quintagroup.gdocs.spreadsheet
- Timestamp:
- Jul 13, 2010 11:12:40 AM (14 years ago)
- Location:
- quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/__init__.py
r2642 r2665 1 1 """Main product initializer 2 2 """ 3 import logging 3 4 4 5 from zope.i18nmessageid import MessageFactory … … 14 15 15 16 spreadsheetMessageFactory = MessageFactory('quintagroup.gdocs.spreadsheet') 17 18 logger = logging.getLogger('quintagroup.gdocs.spreadsheet') 19 20 def logException(msg, context=None): 21 logger.exception(msg) 22 if context is not None: 23 error_log = getattr(context, 'error_log', None) 24 if error_log is not None: 25 error_log.raising(sys.exc_info()) 16 26 17 27 def initialize(context): -
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/browser/configure.zcml
r2654 r2665 11 11 for="*" 12 12 name="viewworksheet_view" 13 class=".viewworksheetview. viewWorksheetView"13 class=".viewworksheetview.ViewWorksheetView" 14 14 template="viewworksheetview.pt" 15 allowed_interface=".viewworksheetview.I viewWorksheetView"16 permission="zope .Public"15 allowed_interface=".viewworksheetview.IViewWorksheetView" 16 permission="zope2.View" 17 17 /> 18 18 19 20 19 </configure> -
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/browser/viewworksheetview.pt
r2654 r2665 5 5 <body> 6 6 <div metal:fill-slot="main"> 7 <tal:main-macro metal:define-macro="main" 8 tal:define="testview view/test"> 9 10 <span tal:content="testview/dummy">test</span> 7 <tal:main-macro metal:define-macro="main"> 8 <div tal:replace="structure python:view.renderWorksheet(context.spreadsheet_id, context.worksheet_id, 0)" ></div> 11 9 12 10 </tal:main-macro> -
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/browser/viewworksheetview.py
r2654 r2665 1 from zope.component import queryUtility 1 2 from zope.interface import implements, Interface 2 3 … … 4 5 from Products.CMFCore.utils import getToolByName 5 6 7 from plone.memoize.view import memoize_contextless 8 9 from quintagroup.gauth.interfaces import IGAuthUtility 10 from gdata.spreadsheet.service import SpreadsheetsService 11 from gdata.spreadsheet.service import DocumentQuery as shDocumentQuery 12 6 13 from quintagroup.gdocs.spreadsheet import spreadsheetMessageFactory as _ 14 from quintagroup.gdocs.spreadsheet import logException, logger 15 from quintagroup.gdocs.spreadsheet.config import ORDER_COLUMNS 7 16 8 17 9 class I viewWorksheetView(Interface):18 class IViewWorksheetView(Interface): 10 19 """ 11 viewWorksheet view interface20 ViewWorksheet view interface 12 21 """ 13 22 14 def test(): 15 """ test method""" 23 def renderWorksheet(ssh_id, wsh_idx, startrow_idx): 24 """ 25 ssh_id - Id of the spreadsheet 26 wsh_id - Id of the worksheet 27 startrow_idx - index of row, from which table should be rendered 28 """ 16 29 17 30 18 class viewWorksheetView(BrowserView):31 class ViewWorksheetView(BrowserView): 19 32 """ 20 viewWorksheet browser view33 ViewWorksheet browser view 21 34 """ 22 implements(I viewWorksheetView)35 implements(IViewWorksheetView) 23 36 24 37 def __init__(self, context, request): 25 38 self.context = context 26 39 self.request = request 40 self.query = shDocumentQuery() 27 41 28 42 @property … … 34 48 return getToolByName(self.context, 'portal_url').getPortalObject() 35 49 36 def test(self): 50 @memoize_contextless 51 def renderWorksheet(self, ssh_id="", 52 wsh_id='', startrow_idx=0): 37 53 """ 38 test method39 54 """ 40 dummy = _(u'a dummy string')41 55 42 return {'dummy': dummy} 56 # Authorization on spreadsheets.google.com 57 gauth = queryUtility(IGAuthUtility) 58 self.sh_client = SpreadsheetsService(email=gauth.email, password=gauth.password) 59 sh_client = self.sh_client 60 sh_client.ProgrammaticLogin() 61 62 try: 63 feed = sh_client.GetListFeed(ssh_id, wksht_id=wsh_id, query=self.query) 64 except Exception: 65 logException('GetListFeed function call: ' 66 'key=%s, wksht_id=%s' % (ssh_id, wsh_id)) 67 return "" 68 69 # Prepare table 70 table = "<table id=\"sshwsh\">" 71 table += "<tr>" 72 table += ''.join(["<th>%s</th>" % key for key in ORDER_COLUMNS]) 73 table += "</tr>" 74 75 for i, entry in enumerate(feed.entry): 76 if i+1 > startrow_idx: 77 td_row = "<tr>" 78 for key in ORDER_COLUMNS: 79 td_row += "<td>%s</td>" % 80 (not (entry.custom[key].text == 'None') and entry.custom[key].text or '') 81 td_row += "</tr>\n" 82 table += td_row 83 84 table += "</table>" 85 return table -
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/config.py
r2646 r2665 8 8 'GSpreadsheet': 'quintagroup.gdocs.spreadsheet: Add GSpreadsheet', 9 9 } 10 11 ORDER_COLUMNS = ['fddup', 'a', 'xdd', 'lut', 'totalbandwidth', 'country', 12 'region', 'tdd', 'unpairedbandwidth', 'band', 'licother', 13 'b', 'pairedbandwidth', 'lic2g', 'fdddown', 'lic3g'] -
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/profiles/default/types/GSpreadsheet.xml
r2646 r2665 14 14 <property name="filter_content_types">False</property> 15 15 <property name="allow_discussion">True</property> 16 <property name="default_view"> base_view</property>16 <property name="default_view">viewworksheet_view</property> 17 17 <property name="view_methods"> 18 18 <element value="base_view" /> 19 <element value="viewworksheet_view" /> 19 20 </property> 20 21 <alias from="(Default)" to="(dynamic view)" />
Note: See TracChangeset
for help on using the changeset viewer.