docs: def find_by_tags(and_tags=None, or_tags=None, _connection=None,
          page_size=100, page_number=0, sort_by=enums.DEFAULT_SORT_BY,
          sort_order=enums.DEFAULT_SORT_ORDER):
          """
          List videos given a certain set of tags.
          """
          err = None
          if not and_tags and not or_tags:
              err = "You must supply at least one of either and_tags or or_tags."
          if and_tags and not isinstance(and_tags, (tuple, list)):
              err = "The and_tags argument for Video.find_by_tags must an "
              err += "iterable"
          if or_tags and not isinstance(or_tags, (tuple, list)):
              err = "The or_tags argument for Video.find_by_tags must an "
              err += "iterable"
          if err:
              raise exceptions.PyBrightcoveError(err)
          atags = None
          otags = None
          if and_tags:
              atags = ','.join([str(t) for t in and_tags])
          if or_tags:
              otags = ','.join([str(t) for t in or_tags])
          return connection.ItemResultSet('find_videos_by_tags',
              Video, _connection, page_size, page_number, sort_by, sort_order,
              and_tags=atags, or_tags=otags)