NAME
Video::Filename - Parse filenames for information about the video
SYNOPSIS
use Video::Filename;
my $file = Video::Filename::new($filename, [$name, [$season, [$episode]]]);
my $file = Video::Filename::new($filename, {
name => 'series name',
season => 4,
episode => 5,
spaces => '\s._-',
} );
# TV or DVD Episode
$file->{regex}
$file->{dir}
$file->{file}
$file->{name}
$file->{dvd}
$file->{season}
$file->{episode}
$file->{endep}
$file->{subep}
$file->{part}
$file->{epname}
$file->{ext}
# Movie
$file->{movie}
$file->{year}
$file->{imdb}
$file->{title}
$file->isDVDshow();
$file->isTVshow();
$file->isEpisode();
$file->isMovie();
$file->testVideoFilename();
DESCRIPTION
Video::Filename is used to parse information line name/season/episode and such from a video filename. It also does a reasonable job at distinguishing a movie from a tv episode.
- $file = Video::Filename::new(FILENAME, [NAME, [SEASON, [EPISODE]]]);
-
Parse
FILENAME
and return a Video::Filename object containing the data. If you specifyNAME
,SEASON
, and/orEPISODE
it will override what is parsed fromFILENAME
.Alternatively, arguments can be passed in a hashref. This also allows the user to specify the option of specifying characters which are replaced with spaces in the parsed 'name', 'epname', 'movie', and 'title' fields.
my $file = Video::Filename::new('This.is.a.name.s01e01.episode_title.avi', { season => 4, spaces => '\s._-', } ); print Dumper($file); $file = bless( { 'epname' => 'episode title', 'name' => 'This is a name', 'file' => 'This.is.a.name.s01e01.episode_title.avi', 'spaces' => '._', 'seasonepisode' => 'S04E01', 'episode' => 1, 'ext' => 'avi', 'season' => 4 }, 'Video::Filename' );
Notice that that the season was overridden in the call to new(), so it's "4" instead of the "1" parsed from the file name.
- isDVDshow();
-
Returns true if the object represents a DVD episode.
- isTVshow();
-
Returns true if the object represents a TV episode.
- isEpisode();
-
Returns true if the object represents an episode (TV or DVD).
- isMovie();
-
Returns true if the object represents a Movie.
- testVideoFilename();
-
Run a series of tests on the rules used to parse filenames. Basically a test harness.
COPYRIGHT
Copyright (c) 2008 by Behan Webster. All rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
AUTHOR
Behan Webster <behanw@websterwood.com>