예제 #1
0
 def _ReadFile(self, filename, binary):
   try:
     mode = 'rb' if binary else 'r'
     with open(os.path.join(self._base_path, filename), mode) as f:
       contents = f.read()
       if binary:
         return contents
       return file_system._ToUnicode(contents)
   except IOError:
     raise file_system.FileNotFoundError(filename)
 def Get(self):
   for path, future in self._fetches:
     result = future.Get()
     if result.status_code == 404:
       raise file_system.FileNotFoundError(path)
     elif path.endswith('/'):
       self._value[path] = self._ListDir(result.content)
     elif not self._binary:
       self._value[path] = file_system._ToUnicode(result.content)
     else:
       self._value[path] = result.content
   if self._error is not None:
     raise self._error
   return self._value