code: def _map_content_row_to_dict(self, row):
          
          row_cleaned = _clean_dict(row)
          license_id = row_cleaned[CONTENT_LICENSE_ID_KEY]
          if license_id:
              license_dict = dict(
                  license_id=row_cleaned[CONTENT_LICENSE_ID_KEY],
                  description=row_cleaned.get(CONTENT_LICENSE_DESCRIPTION_KEY, None),
                  copyright_holder=row_cleaned.get(CONTENT_LICENSE_COPYRIGHT_HOLDER_KEY, None)
              )
          else:
              license_dict = None
          # row_dict represents either a topic node or a content node
          row_dict = dict(
              chan_path=row_cleaned[CONTENT_PATH_KEY],
              title=row_cleaned[CONTENT_TITLE_KEY],
              source_id=row_cleaned.get(CONTENT_SOURCEID_KEY, None),
              description=row_cleaned.get(CONTENT_DESCRIPTION_KEY, None),
              author=row_cleaned.get(CONTENT_AUTHOR_KEY, None),
              language=row_cleaned.get(CONTENT_LANGUAGE_KEY, None),
              license=license_dict,
              thumbnail_chan_path=row_cleaned.get(CONTENT_THUMBNAIL_KEY, None)
          )
          return row_dict
docs: Convert dictionary keys from raw csv format (see CONTENT_INFO_HEADER),
          to ricecooker-like keys, e.g., 'Title *' --> 'title'