NAME
MogileFS::Client::FilePaths - Client library for use with FilePaths plugin in MogileFS
SYNOPSIS
use MogileFS::Client::FilePaths;
# From MogileFS::Client (See its documentation for details)
$mogc = MogileFS::Client->new(domain => "foo.com::my_namespace",
hosts => ['10.0.0.2', '10.0.0.3']);
$key = "/path/to/file"; # The FilePaths plugin lays a path structure on top of standard mogilefs.
$class = "user_images"; # Files still belong to classes
$fh = $mogc->new_file($key, $class);
print $fh $data;
unless ($fh->close) {
die "Error writing file: " . $mogc->errcode . ": " . $mogc->errstr;
}
# Find the URLs that the file was replicated to. May change over time.
@urls = $mogc->get_paths($key);
# no longer want it?
$mogc->delete($key);
# List files in a directory
@files = $mogc->list("/path/to");
# Each element is a hashref, see below for more keys.
@file_names = map { $_->{name} } @files;
DESCRIPTION
This module is a subclass of the MogileFS::Client library, it provides a similar interface for extra functionality provided in the FilePaths plugin.
All methods are inhereted and usable from the MogileFS::Client library, with only the exceptions listed below.
METHOD CHANGES
new_file
The fourth argument to the new_file method is a hashref of options for this transaction. This module handles a new option called 'meta' which is metadata to be stored along with the file in mogilefs. For example:
$filehandle = $mogc->new_file($path, $class, $size, {
meta => {
mtime => scalar(time),
foo => "bar",
},
});
NEW METHODS
list
@files = $mogc->list($path)
Given a path, returns a list of files contained in that path. Each element of the returned list is a hashref with the following possible keys:
- name
-
Contains the name of the file
- path
-
Contains the fully qualified path of the file
- is_directory
-
True if item is a directory
- is_file
-
True if item is a file
- modified
-
Value of mtime metadata field stored with this file.
- size
-
Size in bytes for this file.
rename
$rv = $mogc->rename($oldpath, $newpath)
Attempts to rename $oldpath to $newpath, returns true on success and false on failure.