docs: def add_resource(self, ref, **properties):
          """Add one or more resources entities, from a url and property values,
          possibly adding multiple entries for an excel spreadsheet or ZIP file"""
  
          raise NotImplementedError("Still uses decompose_url")
  
          du = Bunch(decompose_url(ref))
  
          added = []
          if du.proto == 'file' and isdir(ref):
              for f in self.find_files(ref, ['csv']):
  
                  if f.endswith(DEFAULT_METATAB_FILE):
                      continue
  
                  if self._doc.find_first('Root.Datafile', value=f):
                      self.prt("Datafile exists for '{}', ignoring".format(f))
                  else:
                      added.extend(self.add_resource(f, **properties))
          else:
              self.prt("Enumerating '{}'".format(ref))
  
              for c in enumerate_contents(ref, self._cache):
                  added.append(self.add_single_resource(c.rebuild_url(), **properties))
  
          return added