code: def name_generator(names=None):
      
      if names is None:
          names = ENGLISH_MONARCHS
  
      while True:
          yield text_type(random.choice(names))
docs: Creates a generator for generating names.
  
      :arg names:
  
          list or tuple of names you want to use; defaults to ENGLISH_MONARCHS
  
      :returns: generator for names
  
      Example::
  
          from eadred.helpers import name_generator
  
          gen = name_generator()
          for i in range(50):
              mymodel = SomeModel(name=gen.next())
              mymodel.save()
  
  
      Example 2:
  
      >>> gen = name_generator()
      >>> gen.next()
      u'James II'
      >>> gen.next()
      u'Stephen of Blois'
      >>> gen.next()
      u'James I'
  
      .. Note::
  
         This gives full names for a "name" field. It's probably not
         useful for broken down name fields like "firstname",
         "lastname", etc.