NAME

Net::MythTV::Fuse - Mount Fuse filesystem to display TV recordings managed by a MythTV backend

SYNOPSIS

$filesystem = Net::MythTV::Fuse->new(
       mountpoint      => '/tmp/mythtv',
       backend         => 'mythbackend.domain.org',
      );

$filesystem->run();

DESCRIPTION

This module uses Fuse to mount a virtual filesystem representing the TV recordings captured by a local or remote MythTV backend (www.mythtv.org). The backend must be at version 0.25 or higher.

Typically you will be using the frontend script, mythfs.pl rather than this module directly.

METHODS

$f = Net::MythTV::Fuse->new(@options)

Create a new Fuse filesystem object according to the options. The options are a set of key/value pairs and can be one or more of the following:

mountpoint           Mountpoint for the Fuse filesystem. Required and no default.
backend              IP address of the backend (localhost)
port                 Control port for the backend (6544)
debug                Enable debugging if true (numeric; increasing values increase verbosity)
threaded             Enable threading if true (true)
fuse_options         Comma-delimited set of mount options to pass to Fuse, such as "allow_other" (none)
cachetime            Time, in seconds, to cache list of recordings before refreshing from backend (300)
pattern              Template for transforming recordings into paths (%T/%S)
delimiter            Trim this string from the pathname if it is dangling or occurs multiple times (none)
localmount           If storage group is locally (or NFS) mounted, use this mount point for direct access (none)
dummy_data_path      Path to an XML-formatted list of recordings, used for debugging (none)

See the help text for mythfs.pl for more information on these arguments.

Read-only Accessors

The following are read-only accessors that return information about the filesystem options:

recordings     A Net::MythTV::Fuse::Recordings object used to fetch the recording list
options        Hashref of options passed during object creation
debug          Debug flag
mountpoint     Virtual filesystem mount point
localmount     Local mountpoint for recordings, if any
threaded       True if threading enabled
marker_file    Name of an automatically generated file (".fuse-mythfs") that will appear
                    at the top level of the virtual filesystem.

$f->run()

This method will create the virtual filesystem and will not return until the process is either killed, or the filesystem is unmounted with fusermount -u.

Non-object methods

The following are ordinary subroutines that are used by Fuse to generate the virtual filesystem:

$clean_path = fixup($path)                Remove the leading '/' from file paths.
$status     = e_open($path)               Check that $path can be opened and return 0 if so.
$status     = e_release($path)            Called to release a closed path, returns 0 if successful.
$contents   = e_read($path,$size,$offset) Called to read $size bytes from $path starting at $offset.
@entries    = e_getdir($path)             Return all entries within directory indicated by $path.
$contents   = e_readlink($path)           Resolve a symbolic link (used when recordings mounted locally).
@attributes = e_getattr($path)            Stat() call on $path
$status     = e_unlink($path)             Called to remove a file, returns 0 if successful.
$status     = e_rmdir($path)              Called to remove a directory, returns 0 if successful.
$string     = copyright_and_version()     Return contents of the automatic file ".fuse-mythfs"

AUTHOR

Copyright 2013, Lincoln D. Stein <lincoln.stein@gmail.com>

LICENSE

This package is distributed under the terms of the Perl Artistic License 2.0. See http://www.perlfoundation.org/artistic_license_2_0.