code: def add_file(self, path, title, download_url, write_data=True, ext=None, license=None, copyright_holder=None, **node_data):
          
          if write_data:
              assert license, "Files must have a license"
              copyright_holder = None if not copyright_holder or copyright_holder.strip() == '' else copyright_holder
              assert license in NO_COPYRIGHT_HOLDER_REQUIRED or copyright_holder, "Licenses must have a copyright holder if they are not public domain"
  
          self._parse_path(path)
          if not ext:
              _name, ext = os.path.splitext(download_url or "")
              ext = ext.lower()  # normalize to lowercase extensions inside zip archive
          filepath = "{}/{}{}".format(path, title, ext)
          if download_url and filepath:
              self._write_to_zip(filepath, read(download_url))
              if write_data:
                  self._commit(filepath, title, license=license, copyright_holder=copyright_holder, **node_data)
              return filepath
docs: add_file: Creates file in csv and writes file to zip
              Args:
                  path: (str) where in zip to write file
                  title: (str) content's title
                  download_url: (str) url or local path to download from
                  write_data: (boolean) indicates whether to add as a csv entry (optional)
                  ext: (str) extension to use for file
                  license (str): content's license
                  copyright_holder (str): holder of content's license (required except for PUBLIC_DOMAIN)
                  license_description (str): description of content's license (optional)
                  source_id: (str) content's original id (optional)
                  description: (str) description of content (optional)
                  author (str): who created the content (optional)
                  language (str): language of content (optional)
                  thumbnail (str):  path to thumbnail in zip (optional)
              Returns: path to file in zip