| |
- str(basestring)
-
- BasePath
class BasePath(str) |
|
Representation of a path in a virtual file system
Interact with the paths in an object-oriented way
(following are ideas for what to do)
* Support for standard os and os.path queries
* listdir
* isfile/dir/symlink
* create sub-directory
* join-with-string to get sub-path
* absolute-path -> Path object
* support .. and . directory resolution (and elimination)
* Mime-types
* assoc values
* comparisons
* parent, child -> boolean
* shared path -> fragments
* shared root -> boolean
* open( *, ** )
* for directories, create/open file based on standard file() call
* for zipfile-embedded paths, use zipfile transparently to create/open sub-file
* for directories, create the directory (possibly recursively)
* for files, error normally, possibly useful for things
like zipfiles and db-interface files which want to provide
directory-like interface
* file( name ) -> Path
* create a sub-file path
* sub( name ) -> Path
* create a sub-directory path
* Eventually support zipfiles as Directory paths
XXX Need to raise appropriate exceptions and look at ways to
reduce overhead beyond the naive implementation of many of the
methods.
XXX Need to deal with upcoming switch to unicode values for path
names on OSes which support them. |
|
- Method resolution order:
- BasePath
- str
- basestring
- object
Methods defined here:
- __eq__(self, other)
- Attempt to determine if we are equal to other__
- __repr__(self)
- baseOnly(self)
- Is this path reachable using only the base file system
- canonical(self)
- Get a canonical version of this path
The new path will be absolute, expanded,
case-normalized, normalized, and converted
to a path of the same type as this one.
It will include, where required, a pointer
to the parent-filesystem-path which points
to this path's root.
- isAbsolute(self)
- Return true if this path is an absolute path (i.e. fully specified from a root)
- isAncestor(self, other)
- Return true if we are an ancestor of the other path
- isChild(self, other)
- Return true if we are a child of the other path
- isDescendent(self, other)
- Return true if we are a descendent of the other path
- isFile(self)
- Return true if we are a file path
- isParent(self, other)
- Return true if we are the parent of the other path
Other can be a string specifier or a Path object
- isRoot(self)
- True iff this object is the root of its filesystem
- join(self, name)
- Create a new Path from this path plus name
- shareRoot(self, other)
- Return true if we are descended from the same root in the file system
- sharedRoot(self, other)
- Return the path of the longest shared prefix for ourselves and other
- split(self)
- Return our parent path (if available) and our name
- walk(self, file=None, pre=None, post=None)
- Simple walking method
For directories:
pre(path) is called before starting to process each directory
submember.walk(file,pre,post) is called on each sub-member
post(path) is called after processing all sub-members of the directory
For files:
file( path ) is called for each file in each directory
Class methods defined here:
- check(cls, value) from type
- Is the value an instance of this class?
- coerce(cls, value) from type
- Coerce value to an instance of this class
Data and other attributes defined here:
- __slots__ = ()
Methods inherited from str:
- __add__(...)
- x.__add__(y) <==> x+y
- __contains__(...)
- x.__contains__(y) <==> y in x
- __ge__(...)
- x.__ge__(y) <==> x>=y
- __getattribute__(...)
- x.__getattribute__('name') <==> x.name
- __getitem__(...)
- x.__getitem__(y) <==> x[y]
- __getnewargs__(...)
- __getslice__(...)
- x.__getslice__(i, j) <==> x[i:j]
Use of negative indices is not supported.
- __gt__(...)
- x.__gt__(y) <==> x>y
- __hash__(...)
- x.__hash__() <==> hash(x)
- __le__(...)
- x.__le__(y) <==> x<=y
- __len__(...)
- x.__len__() <==> len(x)
- __lt__(...)
- x.__lt__(y) <==> x<y
- __mod__(...)
- x.__mod__(y) <==> x%y
- __mul__(...)
- x.__mul__(n) <==> x*n
- __ne__(...)
- x.__ne__(y) <==> x!=y
- __rmod__(...)
- x.__rmod__(y) <==> y%x
- __rmul__(...)
- x.__rmul__(n) <==> n*x
- __str__(...)
- x.__str__() <==> str(x)
- capitalize(...)
- S.capitalize() -> string
Return a copy of the string S with only its first character
capitalized.
- center(...)
- S.center(width) -> string
Return S centered in a string of length width. Padding is done
using spaces.
- count(...)
- S.count(sub[, start[, end]]) -> int
Return the number of occurrences of substring sub in string
S[start:end]. Optional arguments start and end are
interpreted as in slice notation.
- decode(...)
- S.decode([encoding[,errors]]) -> object
Decodes S using the codec registered for encoding. encoding defaults
to the default encoding. errors may be given to set a different error
handling scheme. Default is 'strict' meaning that encoding errors raise
a UnicodeDecodeError. Other possible values are 'ignore' and 'replace'
as well as any other name registerd with codecs.register_error that is
able to handle UnicodeDecodeErrors.
- encode(...)
- S.encode([encoding[,errors]]) -> object
Encodes S using the codec registered for encoding. encoding defaults
to the default encoding. errors may be given to set a different error
handling scheme. Default is 'strict' meaning that encoding errors raise
a UnicodeEncodeError. Other possible values are 'ignore', 'replace' and
'xmlcharrefreplace' as well as any other name registered with
codecs.register_error that is able to handle UnicodeEncodeErrors.
- endswith(...)
- S.endswith(suffix[, start[, end]]) -> bool
Return True if S ends with the specified suffix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
- expandtabs(...)
- S.expandtabs([tabsize]) -> string
Return a copy of S where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.
- find(...)
- S.find(sub [,start [,end]]) -> int
Return the lowest index in S where substring sub is found,
such that sub is contained within s[start,end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- index(...)
- S.index(sub [,start [,end]]) -> int
Like S.find() but raise ValueError when the substring is not found.
- isalnum(...)
- S.isalnum() -> bool
Return True if all characters in S are alphanumeric
and there is at least one character in S, False otherwise.
- isalpha(...)
- S.isalpha() -> bool
Return True if all characters in S are alphabetic
and there is at least one character in S, False otherwise.
- isdigit(...)
- S.isdigit() -> bool
Return True if all characters in S are digits
and there is at least one character in S, False otherwise.
- islower(...)
- S.islower() -> bool
Return True if all cased characters in S are lowercase and there is
at least one cased character in S, False otherwise.
- isspace(...)
- S.isspace() -> bool
Return True if all characters in S are whitespace
and there is at least one character in S, False otherwise.
- istitle(...)
- S.istitle() -> bool
Return True if S is a titlecased string and there is at least one
character in S, i.e. uppercase characters may only follow uncased
characters and lowercase characters only cased ones. Return False
otherwise.
- isupper(...)
- S.isupper() -> bool
Return True if all cased characters in S are uppercase and there is
at least one cased character in S, False otherwise.
- ljust(...)
- S.ljust(width) -> string
Return S left justified in a string of length width. Padding is
done using spaces.
- lower(...)
- S.lower() -> string
Return a copy of the string S converted to lowercase.
- lstrip(...)
- S.lstrip([chars]) -> string or unicode
Return a copy of the string S with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping
- replace(...)
- S.replace (old, new[, count]) -> string
Return a copy of string S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.
- rfind(...)
- S.rfind(sub [,start [,end]]) -> int
Return the highest index in S where substring sub is found,
such that sub is contained within s[start,end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.
- rindex(...)
- S.rindex(sub [,start [,end]]) -> int
Like S.rfind() but raise ValueError when the substring is not found.
- rjust(...)
- S.rjust(width) -> string
Return S right justified in a string of length width. Padding is
done using spaces.
- rstrip(...)
- S.rstrip([chars]) -> string or unicode
Return a copy of the string S with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping
- sjoin = join(...)
- S.join(sequence) -> string
Return a string which is the concatenation of the strings in the
sequence. The separator between elements is S.
- splitlines(...)
- S.splitlines([keepends]) -> list of strings
Return a list of the lines in S, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends
is given and true.
- ssplit = split(...)
- S.split([sep [,maxsplit]]) -> list of strings
Return a list of the words in the string S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator.
- startswith(...)
- S.startswith(prefix[, start[, end]]) -> bool
Return True if S starts with the specified prefix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
- strip(...)
- S.strip([chars]) -> string or unicode
Return a copy of the string S with leading and trailing
whitespace removed.
If chars is given and not None, remove characters in chars instead.
If chars is unicode, S will be converted to unicode before stripping
- swapcase(...)
- S.swapcase() -> string
Return a copy of the string S with uppercase characters
converted to lowercase and vice versa.
- title(...)
- S.title() -> string
Return a titlecased version of S, i.e. words start with uppercase
characters, all remaining cased characters have lowercase.
- translate(...)
- S.translate(table [,deletechars]) -> string
Return a copy of the string S, where all characters occurring
in the optional argument deletechars are removed, and the
remaining characters have been mapped through the given
translation table, which must be a string of length 256.
- upper(...)
- S.upper() -> string
Return a copy of the string S converted to uppercase.
- zfill(...)
- S.zfill(width) -> string
Pad a numeric string S with zeros on the left, to fill a field
of the specified width. The string S is never truncated.
Data and other attributes inherited from str:
- __new__ = <built-in method __new__ of type object at 0x1E0CFB00>
- T.__new__(S, ...) -> a new object with type S, a subtype of T
| |