NAME
InfoSys::FreeDB::Entry - FreeDB entry
SYNOPSIS
require InfoSys::FreeDB;
require InfoSys::FreeDB::Entry;
# Read entry from the default CD device
my $entry = InfoSys::FreeDB::Entry->new_from_cdparanoia();
# Create a HTTP connection
my $fact = InfoSys::FreeDB->new();
my $conn = $fact->create_connection( {
client_name => 'testing-InfoSys::FreeDB',
client_version => $InfoSys::FreeDB::VERSION,
} );
# Query FreeDB
my $res_q = $conn->query( $entry );
scalar( $res_q->get_match() ) ||
die 'no matches found for the disck in the default CD-Rom drive';
# Read the first match
my $res_r = $conn->read( ( $res_q->get_match() )[0] );
# Write the entry to STDERR
use IO::Handle;
my $fh = IO::Handle->new_from_fd( fileno(STDERR), 'w' );
$res_r->get_entry()->write_fh( $fh );
ABSTRACT
FreeDB entry
DESCRIPTION
InfoSys::FreeDB::Entry
contains information on FreeDB entries.
CONSTRUCTOR
- new( [ OPT_HASH_REF ] )
-
Creates a new
InfoSys::FreeDB::Entry
object.OPT_HASH_REF
is a hash reference used to pass initialization options. On error an exceptionError::Simple
is thrown.Options for
OPT_HASH_REF
may include:artist
-
Passed to set_artist().
client_comment
-
Passed to set_client_comment().
client_name
-
Passed to set_client_name().
client_version
-
Passed to set_client_version().
disc_length
-
Passed to set_disc_length().
discid
-
Passed to set_discid().
extd
-
Passed to set_extd().
genre
-
Passed to set_genre().
revision
-
Passed to set_revision().
title
-
Passed to set_title().
track
-
Passed to set_track(). Must be an
ARRAY
reference. year
-
Passed to set_year().
- new_from_array_ref(ARRAY_REF)
-
Creates a new
InfoSys::FreeDB::Entry
object from the specified array reference.ARRAY_REF
is an array reference containing the lines of the entry file. On error an exceptionError::Simple
is thrown. - new_from_cdparanoia([ DEVICE ])
-
Creates a new
InfoSys::FreeDB::Entry
object usingcdparanoia
. If specified,DEVICE
is used as CD-Rom device name. Otherwise the defaultcdparanoia
CD-Rom device is used. On error an exceptionError::Simple
is thrown. - new_from_fh(FILE_HANDLE)
-
Creates a new
InfoSys::FreeDB::Entry
object from the specified file handle.FILE_HANDLE
is aIO::Handle
object. On error an exceptionError::Simple
is thrown. - new_from_fn(FILE)
-
Creates a new
InfoSys::FreeDB::Entry
object from the specified file.FILE
is a file name. On error an exceptionError::Simple
is thrown.
METHODS
- exists_track(ARRAY)
-
Returns the count of items in
ARRAY
that are in the entry track list. - get_artist()
-
Returns the entry artist.
- get_client_comment()
-
Returns the entry client comment.
- get_client_name()
-
Returns the entry client name.
- get_client_version()
-
Returns the entry client version.
- get_disc_length()
-
Returns the entry disc length.
- get_discid()
-
Returns the entry discid.
- get_extd()
-
Returns the entry extd.
- get_genre()
-
Returns the entry genre.
- get_revision()
-
Returns the entry revision.
- get_title()
-
Returns the entry title.
- get_track( [ INDEX_ARRAY ] )
-
Returns an
ARRAY
containing the entry track list.INDEX_ARRAY
is an optional list of indexes which when specified causes only the indexed elements in the ordered list to be returned. If not specified, all elements are returned. - get_year()
-
Returns the entry year.
- mk_discid()
-
Calculates the FreeDB disc ID and stores it through method
set_discid()
. Note that in theInfoSys::FreeDB::Connection
classes the methoddiscid()
lets the FreeDB server calculate the disc ID. - pop_track()
-
Pop and return an element off the entry track list. On error an exception
Error::Simple
is thrown. - push_track(ARRAY)
-
Push additional values on the entry track list.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - set_artist(VALUE)
-
Set the entry artist.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_client_comment(VALUE)
-
Set the entry client comment.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_client_name(VALUE)
-
Set the entry client name.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_client_version(VALUE)
-
Set the entry client version.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_disc_length(VALUE)
-
Set the entry disc length.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_discid(VALUE)
-
Set the entry discid.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_extd(VALUE)
-
Set the entry extd.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_genre(VALUE)
-
Set the entry genre.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_idx_track( INDEX, VALUE )
-
Set value in the entry track list.
INDEX
is the integer index which is greater than or equal to0
.VALUE
is the value. - set_num_track( NUMBER, VALUE )
-
Set value in the entry track list.
NUMBER
is the integer index which is greater than0
.VALUE
is the value. - set_revision(VALUE)
-
Set the entry revision.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_title(VALUE)
-
Set the entry title.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - set_track(ARRAY)
-
Set the entry track list absolutely.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - set_year(VALUE)
-
Set the entry year.
VALUE
is the value. On error an exceptionError::Simple
is thrown. - shift_track()
-
Shift and return an element off the entry track list. On error an exception
Error::Simple
is thrown. - unshift_track(ARRAY)
-
Unshift additional values on the entry track list.
ARRAY
is the list value. On error an exceptionError::Simple
is thrown. - write_array_ref()
-
Writes the entry to an
ARRAY
and retuens a reference to theARRAY
. On error an exceptionError::Simple
is thrown. - write_fh(FILE_HANDLE)
-
Writes the entry to the specified file handle.
FILE_HANDLE
is aIO::Handle
object. On error an exceptionError::Simple
is thrown. - write_fn(FILE)
-
Writes the entry to the specified file.
FILE
is file name. On error an exceptionError::Simple
is thrown.
SEE ALSO
InfoSys::FreeDB, InfoSys::FreeDB::Connection, InfoSys::FreeDB::Connection::CDDBP, InfoSys::FreeDB::Connection::HTTP, InfoSys::FreeDB::Entry::Track, InfoSys::FreeDB::Match, InfoSys::FreeDB::Response, InfoSys::FreeDB::Response::DiscId, InfoSys::FreeDB::Response::Hello, InfoSys::FreeDB::Response::LsCat, InfoSys::FreeDB::Response::Motd, InfoSys::FreeDB::Response::Proto, InfoSys::FreeDB::Response::Query, InfoSys::FreeDB::Response::Quit, InfoSys::FreeDB::Response::Read, InfoSys::FreeDB::Response::SignOn, InfoSys::FreeDB::Response::Sites, InfoSys::FreeDB::Response::Stat, InfoSys::FreeDB::Response::Ver, InfoSys::FreeDB::Response::Whom, InfoSys::FreeDB::Response::Write::1, InfoSys::FreeDB::Response::Write::2, InfoSys::FreeDB::Site
BUGS
None known (yet.)
HISTORY
First development: September 2003 Last update: November 2003
AUTHOR
Vincenzo Zocca
COPYRIGHT
Copyright 2003 by Vincenzo Zocca
LICENSE
This file is part of the InfoSys::FreeDB
module hierarchy for Perl by Vincenzo Zocca.
The InfoSys::FreeDB module hierarchy 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.
The InfoSys::FreeDB module hierarchy 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 the InfoSys::FreeDB module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA