Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Side by Side Diff: chrome/common/extensions/docs/server2/file_system.py

Issue 14247024: Devserver: allow SubversionFileSystem to be pinned to a specific rev on construction (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 6
7 class FileNotFoundError(Exception): 7 class FileNotFoundError(Exception):
8 def __init__(self, filename): 8 def __init__(self, filename):
9 Exception.__init__(self, filename) 9 Exception.__init__(self, filename)
10 10
11 class StatInfo(object): 11 class StatInfo(object):
12 '''The result of calling Stat on a FileSystem. 12 '''The result of calling Stat on a FileSystem.
13 ''' 13 '''
14 def __init__(self, version, child_versions=None): 14 def __init__(self, version, child_versions=None):
15 self.version = version 15 self.version = version
16 self.child_versions = child_versions 16 self.child_versions = child_versions
17 17
18 def __eq__(self, other): 18 def __eq__(self, other):
19 return (self.version == other.version and 19 return (isinstance(other, StatInfo) and
20 self.version == other.version and
20 self.child_versions == other.child_versions) 21 self.child_versions == other.child_versions)
21 22
22 def __ne__(self, other): 23 def __ne__(self, other):
23 return not (self == other) 24 return not (self == other)
24 25
25 def __str__(self): 26 def __str__(self):
26 return '{version: %s, child_versions: %s}' % (self.version, 27 return '{version: %s, child_versions: %s}' % (self.version,
27 self.child_versions) 28 self.child_versions)
28 29
29 def __repr__(self): 30 def __repr__(self):
30 return str(self) 31 return str(self)
31 32
32 def ToUnicode(data): 33 def ToUnicode(data):
33 '''Returns the str |data| as a unicode object. It's expected to be utf8, but 34 '''Returns the str |data| as a unicode object. It's expected to be utf8, but
34 there are also latin-1 encodings in there for some reason. Fall back to that. 35 there are also latin-1 encodings in there for some reason. Fall back to that.
35 ''' 36 '''
36 try: 37 try:
37 return unicode(data, 'utf-8') 38 return unicode(data, 'utf-8')
38 except: 39 except:
39 return unicode(data, 'latin-1') 40 return unicode(data, 'latin-1')
40 41
41 class FileSystem(object): 42 class FileSystem(object):
42 '''A FileSystem interface that can read files and directories. 43 '''A FileSystem interface that can read files and directories.
43 ''' 44 '''
44
45 def Read(self, paths, binary=False): 45 def Read(self, paths, binary=False):
46 '''Reads each file in paths and returns a dictionary mapping the path to the 46 '''Reads each file in paths and returns a dictionary mapping the path to the
47 contents. If a path in paths ends with a '/', it is assumed to be a 47 contents. If a path in paths ends with a '/', it is assumed to be a
48 directory, and a list of files in the directory is mapped to the path. 48 directory, and a list of files in the directory is mapped to the path.
49 49
50 If binary=False, the contents of each file will be unicode parsed as utf-8, 50 If binary=False, the contents of each file will be unicode parsed as utf-8,
51 and failing that as latin-1 (some extension docs use latin-1). If 51 and failing that as latin-1 (some extension docs use latin-1). If
52 binary=True then the contents will be a str. 52 binary=True then the contents will be a str.
53 ''' 53 '''
54 raise NotImplementedError() 54 raise NotImplementedError()
(...skipping 12 matching lines...) Expand all
67 raise NotImplementedError() 67 raise NotImplementedError()
68 68
69 def GetIdentity(self): 69 def GetIdentity(self):
70 '''The identity of the file system, exposed for caching classes to 70 '''The identity of the file system, exposed for caching classes to
71 namespace their caches. this will usually depend on the configuration of 71 namespace their caches. this will usually depend on the configuration of
72 that file system - e.g. a LocalFileSystem with a base path of /var is 72 that file system - e.g. a LocalFileSystem with a base path of /var is
73 different to that of a SubversionFileSystem with a base path of /bar, is 73 different to that of a SubversionFileSystem with a base path of /bar, is
74 different to a LocalFileSystem with a base path of /usr. 74 different to a LocalFileSystem with a base path of /usr.
75 ''' 75 '''
76 raise NotImplementedError() 76 raise NotImplementedError()
OLDNEW
« no previous file with comments | « chrome/common/extensions/docs/server2/fake_url_fetcher.py ('k') | chrome/common/extensions/docs/server2/instance_servlet.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698