def __init__(self, *, parent=None, con=None, **kwargs):
if parent and con:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>self.con = parent.con if parent else con<EOL>cloud_data = kwargs.get(self._cloud_data_key, {})<EOL>self.object_id = cloud_data.get('<STR_LIT:id>')<EOL>main_resource = kwargs.pop('<STR_LIT>', None) or (<EOL>getattr(parent, '<STR_LIT>', None) if parent else None)<EOL>resource_prefix = '<STR_LIT>'.format(list_id=self.object_id)<EOL>main_resource = '<STR_LIT>'.format(main_resource, resource_prefix)<EOL>super().__init__(<EOL>protocol=parent.protocol if parent else kwargs.get('<STR_LIT>'),<EOL>main_resource=main_resource)<EOL>self.name = cloud_data.get(self._cc('<STR_LIT:name>'), '<STR_LIT>')<EOL>self.display_name = cloud_data.get(self._cc('<STR_LIT>'), '<STR_LIT>')<EOL>if not self.name:<EOL><INDENT>self.name = self.display_name<EOL><DEDENT>self.description = cloud_data.get(self._cc('<STR_LIT:description>'), '<STR_LIT>')<EOL>self.web_url = cloud_data.get(self._cc('<STR_LIT>'))<EOL>created = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>modified = cloud_data.get(self._cc('<STR_LIT>'), None)<EOL>local_tz = self.protocol.timezone<EOL>self.created = parse(created).astimezone(local_tz) if created else None<EOL>self.modified = parse(modified).astimezone(<EOL>local_tz) if modified else None<EOL>created_by = cloud_data.get(self._cc('<STR_LIT>'), {}).get('<STR_LIT:user>', None)<EOL>self.created_by = (Contact(con=self.con, protocol=self.protocol,<EOL>**{self._cloud_data_key: created_by})<EOL>if created_by else None)<EOL>modified_by = cloud_data.get(self._cc('<STR_LIT>'), {}).get('<STR_LIT:user>',<EOL>None)<EOL>self.modified_by = (Contact(con=self.con, protocol=self.protocol,<EOL>**{self._cloud_data_key: modified_by})<EOL>if modified_by else None)<EOL>lst_info = cloud_data.get('<STR_LIT:list>', {})<EOL>self.content_types_enabled = lst_info.get(<EOL>self._cc('<STR_LIT>'), False)<EOL>self.hidden = lst_info.get(self._cc('<STR_LIT>'), False)<EOL>self.template = lst_info.get(self._cc('<STR_LIT>'), False)<EOL>self.column_name_cw = {col.display_name: col.internal_name for<EOL>col in self.get_list_columns() if not col.read_only}<EOL>
A Sharepoint site List

        :param parent: parent object
        :type parent: Site
        :param Connection con: connection to use if no parent specified
        :param Protocol protocol: protocol to use if no parent specified
         (kwargs)
        :param str main_resource: use this resource instead of parent resource
         (kwargs)