code: def print_catalog(self, catalog_filter=[]):
          
          keys = sorted(self.catalog.keys())
          if len(catalog_filter) > 0:  # pylint: disable=len-as-condition
              valid = []
              for key in keys:
                  for f in catalog_filter:
                      if len(self.catalog[key][f]) > 0:  # pylint: disable=len-as-condition
                          valid.append(key)
              keys = valid
          for key in keys:
              print(f"Pnum: {self.catalog[key]['pnum']}")
              print(f"Edition: {self.catalog[key]['edition']}")
              print(f"Metadata: {len(self.catalog[key]['metadata']) > 0}")
              print(f"Transliteration: {len(self.catalog[key]['transliteration']) > 0}")
              print(f"Normalization: {len(self.catalog[key]['normalization']) > 0}")
              print(f"Translation: {len(self.catalog[key]['translation']) > 0}")
              print()
docs: Prints out a catalog of all the texts in the corpus.  Can be filtered by passing
          a list of keys you want present in the texts.
          :param: catalog_filter = If you wish to sort the list, use the keys pnum,
          edition, metadata, transliteration, normalization, or translation.