A Microsoft To-Do Folder Representation :param parent: parent object :type parent: ToDo :param Connection con: connection to use if no parent specified :param Protocol protocol: protocol to use if no parent specified (kwargs) :param str main_resourc
(self, *, parent=None, con=None, **kwargs)
| 395 | task_constructor = Task |
| 396 | |
| 397 | def __init__(self, *, parent=None, con=None, **kwargs): |
| 398 | """ A Microsoft To-Do Folder Representation |
| 399 | |
| 400 | :param parent: parent object |
| 401 | :type parent: ToDo |
| 402 | :param Connection con: connection to use if no parent specified |
| 403 | :param Protocol protocol: protocol to use if no parent specified |
| 404 | (kwargs) |
| 405 | :param str main_resource: use this resource instead of parent resource |
| 406 | (kwargs) |
| 407 | """ |
| 408 | if parent and con: |
| 409 | raise ValueError('Need a parent or a connection but not both') |
| 410 | self.con = parent.con if parent else con |
| 411 | |
| 412 | # Choose the main_resource passed in kwargs over parent main_resource |
| 413 | main_resource = kwargs.pop('main_resource', None) or ( |
| 414 | getattr(parent, 'main_resource', None) if parent else None) |
| 415 | |
| 416 | super().__init__( |
| 417 | protocol=parent.protocol if parent else kwargs.get('protocol'), |
| 418 | main_resource=main_resource) |
| 419 | |
| 420 | cloud_data = kwargs.get(self._cloud_data_key, {}) |
| 421 | |
| 422 | self.name = cloud_data.get(self._cc('name'), '') |
| 423 | self.folder_id = cloud_data.get(self._cc('id'), None) |
| 424 | self._is_default = cloud_data.get(self._cc('isDefaultFolder'), '') |
| 425 | |
| 426 | def __str__(self): |
| 427 | return self.__repr__() |