code: def add_labels(self, objects, count=1):
          
          # If we can convert it to an int, do so and use the itertools.repeat()
          # method to create an infinite iterator from it. Otherwise, assume it
          # is an iterable or sequence.
          try:
              count = int(count)
          except TypeError:
              pass
          else:
              count = repeat(count)
  
          # If it is not an iterable (e.g., a list or range object),
          # create an iterator over it.
          if not hasattr(count, 'next') and not hasattr(count, '__next__'):
              count = iter(count)
  
          # Go through the objects.
          for obj in objects:
              # Check we have a count for this one.
              try:
                  thiscount = next(count)
              except StopIteration:
                  break
  
              # Draw it.
              self._draw_label(obj, thiscount)
docs: Add multiple labels to the sheet.
  
          Parameters
          ----------
          objects: iterable
              An iterable of the objects to add. Each of these will be passed to
              the add_label method. Note that if this is a generator it will be
              consumed.
          count: positive integer or iterable of positive integers, default 1
              The number of copies of each label to add. If a single integer,
              that many copies of every label are added. If an iterable, then
              each value specifies how many copies of the corresponding label to
              add. The iterables are advanced in parallel until one is exhausted;
              extra values in the other one are ignored. This means that if there
              are fewer count entries than objects, the objects corresponding to
              the missing counts will not be added to the sheet.
  
              Note that if this is a generator it will be consumed. Also note
              that the drawing function will only be called once for each label
              and the results copied for the repeats. If the drawing function
              maintains any state internally then using this parameter may break
              it.