code: def lorem(self, field=None, val=None):
          
          if val == '':
              return ''
  
          if val is not None:
              def generate(length):
                  # Get lorem ipsum of a specific length.
                  collect = ""
                  while len(collect) < length:
                      collect += ' %s' % self.faker.sentence()
                  collect = collect[:length]
                  return collect
  
              # We want to match the pattern of the text - linebreaks
              # in the same places.
              def source():
                  parts = val.split("\n")
                  for i, p in enumerate(parts):
                      # Replace each bit with lorem ipsum of the same length
                      parts[i] = generate(len(p))
                  return "\n".join(parts)
          else:
              def source():
                  return ' '.join(self.faker.sentences())
          return self.get_allowed_value(source, field)
docs: Returns lorem ipsum text. If val is provided, the lorem ipsum text will
          be the same length as the original text, and with the same pattern of
          line breaks.