• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5from file_system import FileNotFoundError, FileSystem, StatInfo
6from future import Future
7
8class EmptyDirFileSystem(FileSystem):
9  '''A FileSystem with empty directories. Useful to inject places to disable
10  features such as samples.
11  '''
12  def Read(self, paths):
13    result = {}
14    for path in paths:
15      if not path.endswith('/'):
16        raise FileNotFoundError('EmptyDirFileSystem cannot read %s' % path)
17      result[path] = []
18    return Future(value=result)
19
20  def Refresh(self):
21    return Future(value=())
22
23  def Stat(self, path):
24    if not path.endswith('/'):
25      raise FileNotFoundError('EmptyDirFileSystem cannot stat %s' % path)
26    return StatInfo(0, child_versions=[])
27
28  def GetIdentity(self):
29    return self.__class__.__name__
30