Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
>>> worksheet.range(1, 1, 7, 2)
[, ...]
"""
range_label = '%s!%s' % (self.title, name)
data = self.spreadsheet.values_get(range_label)
start, end = name.split(':')
(row_offset, column_offset) = a1_to_rowcol(start)
(last_row, last_column) = a1_to_rowcol(end)
values = data.get('values', [])
rect_values = fill_gaps(
values,
rows=last_row - row_offset + 1,
cols=last_column - column_offset + 1
)
return [
Cell(row=i + row_offset, col=j + column_offset, value=value)
for i, row in enumerate(rect_values)
for j, value in enumerate(row)
]
def _get_all_values(worksheet, evaluate_formulas):
data = worksheet.spreadsheet.values_get(
worksheet.title,
params={
'valueRenderOption': ('UNFORMATTED_VALUE' if evaluate_formulas else 'FORMULA'),
'dateTimeRenderOption': 'FORMATTED_STRING'
}
)
(row_offset, column_offset) = (1, 1)
(last_row, last_column) = (worksheet.row_count, worksheet.col_count)
values = data.get('values', [])
rect_values = fill_gaps(
values,
rows=last_row - row_offset + 1,
cols=last_column - column_offset + 1
)
cells = [
Cell(row=i + row_offset, col=j + column_offset, value=value)
for i, row in enumerate(rect_values)
for j, value in enumerate(row)
]
# defaultdicts fill in gaps for empty rows/cells not returned by gdocs
rows = defaultdict(lambda: defaultdict(str))
for cell in cells:
row = rows.setdefault(int(cell.row), defaultdict(str))
row[cell.col] = cell.value
def _get_all_unformatted_values(self):
data = self.worksheet.spreadsheet.values_get(
self.worksheet.title,
params={'valueRenderOption': "UNFORMATTED_VALUE"})
try:
return fill_gaps(data['values'])
except KeyError:
return []
(Default value = "FORMATTED_VALUE")
Returns
-------
"""
ranges = get_ranges(self.sheet.title, cols)
data = self.spread.values_batch_get(
ranges,
params={
"valueRenderOption": value_render_option,
"majorDimension": "COLUMNS",
},
)
try:
return fill_gaps(
[col.get("values", [[]])[0] for col in data["valueRanges"]]
)
except KeyError:
return []
def _finder(self, func, query):
data = self.spreadsheet.values_get(self.title)
try:
values = fill_gaps(data['values'])
except KeyError:
values = []
cells = [
Cell(row=i + 1, col=j + 1, value=value)
for i, row in enumerate(values)
for j, value in enumerate(row)
]
if isinstance(query, basestring):
match = lambda x: x.value == query
else:
match = lambda x: query.search(x.value)
return func(match, cells)