fs.info¶
Container for filesystem resource informations.
-
class
fs.info.
Info
(raw_info, to_datetime=<function epoch_to_datetime>)[source]¶ Container for Resource Info.
Resource informations are returned by the following methods:
Parameters: - raw_info (dict) – A dict containing resource info.
- to_datetime (callable) – A callable that converts an
epoch time to a datetime object. The default uses
epoch_to_datetime()
.
-
accessed
¶ the resource last access time, or
None
.Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the"details"
namespace is not in the Info.Type: datetime
-
created
¶ the resource creation time, or
None
.Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the"details"
namespace is not in the Info.Type: datetime
-
get
(namespace, key, default=None)[source]¶ Get a raw info value.
Parameters: Example
>>> info.get('access', 'permissions') ['u_r', 'u_w', '_wx']
-
gid
¶ the group id of the resource, or
None
.Requires the
"access"
namespace.Raises: MissingInfoNamespace
– if the"access"
namespace is not in the Info.Type: int
-
group
¶ the group of the resource owner, or
None
.Requires the
"access"
namespace.Raises: MissingInfoNamespace
– if the"access"
namespace is not in the Info.Type: str
-
has_namespace
(namespace)[source]¶ Check if the resource info contains a given namespace.
Parameters: namespace (str) – A namespace identifier. Returns: True
if the namespace was found,False
otherwise.Return type: bool
-
is_writeable
(namespace, key)[source]¶ Check if a given key in a namespace is writable.
Uses
setinfo
.Parameters: Returns: Return type:
-
make_path
(dir_path)[source]¶ Make a path by joining
dir_path
with the resource name.Parameters: dir_path (str) – A path to a directory. Returns: A path to the resource. Return type: str
-
metadata_changed
¶ the resource metadata change time, or
None
.Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the"details"
namespace is not in the Info.Type: datetime
-
modified
¶ the resource last modification time, or
None
.Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the"details"
namespace is not in the Info.Type: datetime
-
permissions
¶ the permissions of the resource, or
None
.Requires the
"access"
namespace.Raises: MissingInfoNamespace
– if the"access"
namespace is not in the Info.Type: Permissions
-
size
¶ the size of the resource, in bytes.
Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the"details"
namespace is not in the Info.Type: int
-
stem
¶ the name minus any suffixes.
Example
>>> info <info 'foo.tar.gz'> >>> info.stem 'foo'
Type: str
-
suffix
¶ the last component of the name (including dot), or an empty string if there is no suffix.
Example
>>> info <info 'foo.py'> >>> info.suffix '.py'
Type: str
-
suffixes
¶ a list of any suffixes in the name.
Example
>>> info <info 'foo.tar.gz'> >>> info.suffixes ['.tar', '.gz']
Type: List
-
target
¶ the link target (if resource is a symlink), or
None
.Requires the
"link"
namespace.Raises: MissingInfoNamespace
– if the"link"
namespace is not in the Info.Type: str
-
type
¶ the type of the resource.
Requires the
"details"
namespace.Raises: MissingInfoNamespace
– if the ‘details’ namespace is not in the Info.Type: ResourceType
-
uid
¶ the user id of the resource, or
None
.Requires the
"access"
namespace.Raises: MissingInfoNamespace
– if the"access"
namespace is not in the Info.Type: int
-
user
¶ the owner of the resource, or
None
.Requires the
"access"
namespace.Raises: MissingInfoNamespace
– if the"access"
namespace is not in the Info.Type: str