code: def emails_with_users_and_watches(
          subject, template_path, vars, users_and_watches,
          from_email=settings.TIDINGS_FROM_ADDRESS, **extra_kwargs):
      
      template = loader.get_template(template_path)
      context = Context(vars)
      for u, w in users_and_watches:
          context['user'] = u
  
          # Arbitrary single watch for compatibility with 0.1
          # TODO: remove.
          context['watch'] = w[0]
  
          context['watches'] = w
          yield EmailMessage(subject,
                             template.render(context),
                             from_email,
                             [u.email],
                             **extra_kwargs)
docs: Return iterable of EmailMessages with user and watch values substituted.
  
      A convenience function for generating emails by repeatedly rendering a
      Django template with the given ``vars`` plus a ``user`` and ``watches`` key
      for each pair in ``users_and_watches``
  
      :arg template_path: path to template file
      :arg vars: a map which becomes the Context passed in to the template
      :arg extra_kwargs: additional kwargs to pass into EmailMessage constructor