docs: def ls(self,
  	       directory,
  	       note=None,
  	       loglevel=logging.DEBUG):
  		"""Helper proc to list files in a directory
  
  		@param directory:   directory to list.  If the directory doesn't exist, shutit.fail() is called (i.e.  the build fails.)
  		@param note:        See send()
  
  		@type directory:    string
  
  		@rtype:             list of strings
  		"""
  		shutit = self.shutit
  		# should this blow up?
  		shutit.handle_note(note)
  		if not self.file_exists(directory,directory=True):
  			shutit.fail('ls: directory\n\n' + directory + '\n\ndoes not exist', throw_exception=False) # pragma: no cover
  		files = self.send_and_get_output(' command ls ' + directory,
  		                                 echo=False,
  		                                 loglevel=loglevel,
  		                                 fail_on_empty_before=False)
  		files = files.split(' ')
  		# cleanout garbage from the terminal - all of this is necessary cause there are
  		# random return characters in the middle of the file names
  		files = filter(bool, files)
  		files = [_file.strip() for _file in files]
  		f = []
  		for _file in files:
  			spl = _file.split('\r')
  			f = f + spl
  		files = f
  		# this is required again to remove the '\n's
  		files = [_file.strip() for _file in files]
  		shutit.handle_note_after(note=note)
  		return files