code: def mirror(self, handler, path_from, path_to, log_files=False):
          
      
          q = deque([''])
          while q:
              path = q.popleft()
              
              full_from = ('%s/%s' % (path_from, path)) if path else path_from
              full_to = ('%s/%s' % (path_to, path)) if path else path_to
  
              subdirs = handler(full_from, full_to, log_files)
              for subdir in subdirs:
                  q.append(('%s/%s' % (path, subdir)) if path else subdir)
docs: Recursively mirror the contents of "path_from" into "path_to". 
          "handler" should be self.mirror_to_local_no_recursion or 
          self.mirror_to_remote_no_recursion to represent which way the files are
          moving.