code: def to_dict(self):
          
          return {
              "title": self.title,
              "language" : self.language,
              "description": self.description,
              "node_id": self.get_node_id().hex,
              "content_id": self.get_content_id().hex,
              "source_domain": self.domain_ns.hex,
              "source_id": self.source_id,
              "author": self.author,
              "aggregator": self.aggregator,
              "provider": self.provider,
              "files" : [f.to_dict() for f in self.files if f and f.filename], # Filter out failed downloads
              "tags": self.tags,
              "kind": self.kind,
              "license": None,
              "license_description": None,
              "copyright_holder": "",
              "questions": [],
              "extra_fields": {},
          }
docs: to_dict: puts Topic or Content node data into the format that Kolibri Studio expects
              Args: None
              Returns: dict of channel data