def get_sheet_headers(self, key, sheet_id, client=None): query = CellQuery() query.max_row = "1" query.return_empty = "true" if not client: client = self._get_client() header_xml = client.GetCellsFeed(key, sheet_id, query=query) # setups our cleaning regex REGEX_CLEAN = "([^\s\?]*)" clean = re.compile(REGEX_CLEAN, re.DOTALL) # squirrels away our header data ret = [] for i, v in enumerate(header_xml.entry): if v.cell.inputValue: ret.append( { "index": i, "friendly": v.cell.inputValue, "programmatic": "".join(clean.findall(v.cell.inputValue.lower().replace("_", ""))), } ) return ret
def __init__(self, client, key, worksheet_id, start_row, end_row): self.entries = {} self.batch = SpreadsheetsCellsFeed() self.max_col = 0 self.max_row = 0 self.client = client query = CellQuery() query.return_empty = 'true' query.min_row = str(start_row) query.max_row = str(end_row) self.cells = client.GetCellsFeed(key, worksheet_id, query=query) self.register_all(self.cells.entry)