Create a drive representation :param parent: parent for this operation :type parent: Drive or Storage :param Connection con: connection to use if no parent specified :param Protocol protocol: protocol to use if no parent specified (kwargs) :param st
(self, *, parent=None, con=None, **kwargs)
| 1403 | } |
| 1404 | |
| 1405 | def __init__(self, *, parent=None, con=None, **kwargs): |
| 1406 | """ Create a drive representation |
| 1407 | |
| 1408 | :param parent: parent for this operation |
| 1409 | :type parent: Drive or Storage |
| 1410 | :param Connection con: connection to use if no parent specified |
| 1411 | :param Protocol protocol: protocol to use if no parent specified |
| 1412 | (kwargs) |
| 1413 | :param str main_resource: use this resource instead of parent resource |
| 1414 | (kwargs) |
| 1415 | """ |
| 1416 | if parent and con: |
| 1417 | raise ValueError('Need a parent or a connection but not both') |
| 1418 | self.con = parent.con if parent else con |
| 1419 | self.parent = parent if isinstance(parent, Drive) else None |
| 1420 | |
| 1421 | # Choose the main_resource passed in kwargs over parent main_resource |
| 1422 | main_resource = kwargs.pop('main_resource', None) |
| 1423 | if main_resource is None: |
| 1424 | main_resource = getattr(parent, 'main_resource', None) if parent else None |
| 1425 | super().__init__( |
| 1426 | protocol=parent.protocol if parent else kwargs.get('protocol'), |
| 1427 | main_resource=main_resource) |
| 1428 | |
| 1429 | self._update_data(kwargs) |
| 1430 | |
| 1431 | def _update_data(self, data): |
| 1432 | cloud_data = data.get(self._cloud_data_key, {}) |
nothing calls this directly
no test coverage detected