old_contents: from ._abstract import AbstractScraper
  
  
  class AllRecipes(AbstractScraper):
      @classmethod
      def host(cls):
          return "allrecipes.com"
  
      def author(self):
          # NB: In the schema.org 'Recipe' type, the 'author' property is a
          # single-value type, not an ItemList.
          # allrecipes.com seems to render the author property as a list
          # containing a single item under some circumstances.
          # In those cases, the SchemaOrg class will fail due to the unexpected
          # type, and this method is called as a fallback.
          # Rather than implement non-standard handling in SchemaOrg, this code
          # provides a (hopefully temporary!) allrecipes-specific workaround.
          author = self.schema.data.get("author")
          if author and type(author) == list and len(author) == 1:
              return author[0].get("name")
  
      def title(self):
          return self.schema.title()
  
      def total_time(self):
          return self.schema.total_time()
  
      def yields(self):
          return self.schema.yields()
  
      def image(self):
          return self.schema.image()
  
      def ingredients(self):
          return self.schema.ingredients()
  
      def instructions(self):
          return self.schema.instructions()
  
      def ratings(self):
          return self.schema.ratings()
  
new_contents: from ._abstract import AbstractScraper
  
  
  class AllRecipes(AbstractScraper):
      @classmethod
      def host(cls):
          return "allrecipes.com"
  
      def author(self):
          # NB: In the schema.org 'Recipe' type, the 'author' property is a
          # single-value type, not an ItemList.
          # allrecipes.com seems to render the author property as a list
          # containing a single item under some circumstances.
          # In those cases, the SchemaOrg class will fail due to the unexpected
          # type, and this method is called as a fallback.
          # Rather than implement non-standard handling in SchemaOrg, this code
          # provides a (hopefully temporary!) allrecipes-specific workaround.
          author = self.schema.data.get("author")
          if author and isinstance(author, list) and len(author) == 1:
              return author[0].get("name")
  
      def title(self):
          return self.schema.title()
  
      def total_time(self):
          return self.schema.total_time()
  
      def yields(self):
          return self.schema.yields()
  
      def image(self):
          return self.schema.image()
  
      def ingredients(self):
          return self.schema.ingredients()
  
      def instructions(self):
          return self.schema.instructions()
  
      def ratings(self):
          return self.schema.ratings()
  
subject: Use 'isinstance' in preference to 'type' method