code: def listdir(self, path='/'):
          
          container = self._get_bucket()
          objects = self.driver.list_container_objects(container)
          path = self._clean_name(path)
          if not path.endswith('/'):
              path = "%s/" % path
          files = []
          dirs = []
          # TOFIX: better algorithm to filter correctly
          # (and not depend on google-storage empty folder naming)
          for o in objects:
              if path == '/':
                  if o.name.count('/') == 0:
                      files.append(o.name)
                  elif o.name.count('/') == 1:
                      dir_name = o.name[:o.name.index('/')]
                      if dir_name not in dirs:
                          dirs.append(dir_name)
              elif o.name.startswith(path):
                  if o.name.count('/') <= path.count('/'):
                      # TOFIX : special case for google storage with empty dir
                      if o.name.endswith('_$folder$'):
                          name = o.name[:-9]
                          name = name[len(path):]
                          dirs.append(name)
                      else:
                          name = o.name[len(path):]
                          files.append(name)
          return (dirs, files)
docs: Lists the contents of the specified path,
          returning a 2-tuple of lists; the first item being
          directories, the second item being files.