An Excel WorkSheet
| 1474 | |
| 1475 | |
| 1476 | class WorkSheet(ApiComponent): |
| 1477 | """ An Excel WorkSheet """ |
| 1478 | |
| 1479 | _endpoints = { |
| 1480 | 'get_tables': '/tables', |
| 1481 | 'get_table': '/tables/{id}', |
| 1482 | 'get_range': '/range', |
| 1483 | 'add_table': '/tables/add', |
| 1484 | 'get_used_range': '/usedRange(valuesOnly={})', |
| 1485 | 'get_cell': '/cell(row={row},column={column})', |
| 1486 | 'add_named_range': '/names/add', |
| 1487 | 'add_named_range_f': '/names/addFormulaLocal', |
| 1488 | 'get_named_range': '/names/{name}', |
| 1489 | } |
| 1490 | |
| 1491 | table_constructor = Table |
| 1492 | range_constructor = Range |
| 1493 | named_range_constructor = NamedRange |
| 1494 | |
| 1495 | def __init__(self, parent=None, session=None, **kwargs): |
| 1496 | if parent and session: |
| 1497 | raise ValueError('Need a parent or a session but not both') |
| 1498 | |
| 1499 | self.workbook = parent |
| 1500 | self.session = parent.session if parent else session |
| 1501 | |
| 1502 | cloud_data = kwargs.get(self._cloud_data_key, {}) |
| 1503 | |
| 1504 | self.object_id = cloud_data.get('id', None) |
| 1505 | |
| 1506 | # Choose the main_resource passed in kwargs over parent main_resource |
| 1507 | main_resource = kwargs.pop('main_resource', None) or ( |
| 1508 | getattr(parent, 'main_resource', None) if parent else None) |
| 1509 | |
| 1510 | # append the encoded worksheet path |
| 1511 | main_resource = "{}/worksheets('{}')".format(main_resource, quote(self.object_id)) |
| 1512 | |
| 1513 | super().__init__( |
| 1514 | protocol=parent.protocol if parent else kwargs.get('protocol'), |
| 1515 | main_resource=main_resource) |
| 1516 | |
| 1517 | self.name = cloud_data.get('name', None) |
| 1518 | self.position = cloud_data.get('position', None) |
| 1519 | self.visibility = cloud_data.get('visibility', None) |
| 1520 | |
| 1521 | def __str__(self): |
| 1522 | return self.__repr__() |
| 1523 | |
| 1524 | def __repr__(self): |
| 1525 | return 'Worksheet: {}'.format(self.name) |
| 1526 | |
| 1527 | def __eq__(self, other): |
| 1528 | return self.object_id == other.object_id |
| 1529 | |
| 1530 | def delete(self): |
| 1531 | """ Deletes this worksheet """ |
| 1532 | return bool(self.session.delete(self.build_url(''))) |
| 1533 |
no outgoing calls
no test coverage detected