Changeset 2689 in products


Ignore:
Timestamp:
Jul 19, 2010 10:34:04 AM (14 years ago)
Author:
mylan
Message:

Updated column ids getting approach - use ListFeed? for that

Location:
quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/adapters.py

    r2686 r2689  
    22from zope.component import adapts, queryUtility 
    33 
    4 from gdata.spreadsheet.text_db import Table 
    5 from gdata.spreadsheet.text_db import DatabaseClient 
    6 from gdata.spreadsheet.text_db import ConvertStringsToColumnHeaders 
    7 from gdata.spreadsheet import SpreadsheetsListFeed 
    8 from gdata.spreadsheet import SpreadsheetsCellsFeedFromString 
    94from gdata.spreadsheet.service import SpreadsheetsService 
    10 from gdata.spreadsheet.service import CellQuery as shCellQuery 
    115from gdata.spreadsheet.service import DocumentQuery as shDocumentQuery 
    126 
     
    2317 
    2418    def __init__(self, context): 
    25         gauth = queryUtility(IGAuthUtility) 
     19        gauth = queryUtility(IGAuthUtility, context=context) 
    2620        self.context = context 
    27         self.dbcl = DatabaseClient(gauth.email, gauth.password) 
    2821        self.shcl = SpreadsheetsService(gauth.email, gauth.password) 
    2922        self.shcl.ProgrammaticLogin() 
     
    3225        """ Get SpreadsheetsListFeed 
    3326        """ 
    34         if query is None: 
    35             query = shDocumentQuery() 
    3627        return self._safeQuery(self.shcl.GetListFeed, 
    3728                              self.context.spreadsheet_id, 
     
    3930                              query=query) 
    4031 
    41     def getWorksheetColumnsInfo(self, maxr='1', minr='1'): 
    42         first_row_contents = [] 
    43         query = shCellQuery() 
    44         query.max_row = maxr 
    45         query.min_row = minr 
    46         feed = self._safeQuery( 
    47             self.dbcl._GetSpreadsheetsClient().GetCellsFeed, 
    48             self.context.spreadsheet_id, 
    49             wksht_id=self.context.worksheet_id, 
    50             query=query) 
    51         for entry in feed.entry: 
    52             first_row_contents.append(entry.content.text) 
    53         # Get the next set of cells if needed. 
    54         next_link = feed.GetNextLink() 
    55         while next_link: 
    56             feed = self._safeQuery( 
    57                 self.dbcl._GetSpreadsheetsClient().Get, 
    58                 next_link.href, converter=SpreadsheetsCellsFeedFromString) 
    59             for entry in feed.entry: 
    60                 first_row_contents.append(entry.content.text) 
    61             next_link = feed.GetNextLink() 
    62         # Convert the contents of the cells to valid headers. 
    63         return ConvertStringsToColumnHeaders(first_row_contents) 
     32    def getWorksheetColumnsInfo(self): 
     33        title_idxs = set() 
     34        query = shDocumentQuery() 
     35        query.max_results = '1' 
     36        feed = self.getListFeed(query=query) 
     37        if len(feed.entry): 
     38            title_idxs.update(feed.entry[0].custom.keys()) 
     39        return tuple(title_idxs) 
    6440 
    6541    def _safeQuery(self, meth, *margs, **mkwargs): 
  • quintagroup.gdocs.spreadsheet/trunk/quintagroup/gdocs/spreadsheet/interfaces/gspreadsheet.py

    r2686 r2689  
    3030        """ 
    3131 
    32     def getWorksheetColumnsInfo(maxr='1', minr='1'): 
    33         """Return tuple of tuples with cell-id, cell-title. 
     32    def getWorksheetColumnsInfo(): 
     33        """Return tuple of spreadsheet column's ids. 
    3434        """ 
    3535 
Note: See TracChangeset for help on using the changeset viewer.