NAME

WebService::HtmlKitCom::FavIconFromImage - generate favicons from images on http://www.html-kit.com/favicon/

SYNOPSIS

use strict;
use warnings;

use WebService::HtmlKitCom::FavIconFromImage;

my $fav = WebService::HtmlKitCom::FavIconFromImage->new;

$fav->favicon( 'some_pics.jpg', file => 'out.zip' )
    or die $fav->error;

DESCRIPTION

The module provides interface to web service on http://www.html-kit.com/favicon/ which allows one to create favicons from regular images. What's a "favicon"? See http://en.wikipedia.org/wiki/Favicon

CONSTRUCTOR

new

my $fav = WebService::HtmlKitCom::FavIconFromImage->new;

my $fav = WebService::HtmlKitCom::FavIconFromImage->new( timeout => 10 );

my $fav = WebService::HtmlKitCom::FavIconFromImage->new(
    mech => WWW::Mechanize->new( agent => '007', timeout => 10 ),
);

Bakes and returns a fresh WebService::HtmlKitCom::FavIconFromImage object. Takes two optional arguments which are as follows:

timeout

my $fav = WebService::HtmlKitCom::FavIconFromImage->new( timeout => 10 );

Takes a scalar as a value which is the value that will be passed to the WWW::Mechanize object to indicate connection timeout in seconds. Defaults to: 180 seconds

mech

my $fav = WebService::HtmlKitCom::FavIconFromImage->new(
    mech => WWW::Mechanize->new( agent => '007', timeout => 10 ),
);

If a simple timeout is not enough for your needs feel free to specify the mech argument which takes a WWW::Mechanize object as a value. Defaults to: plain WWW::Mechanize object with timeout argument set to whatever WebService::HtmlKitCom::FavIconFromImage's timeout argument is set to as well as agent argument is set to mimic FireFox.

METHODS

favicon

my $response = $fav->favicon('some_pic.jpg')
    or die $fav->error;

$fav->favicon('some_pic.jpg',
    file    => 'out.zip',
) or die $fav->error;

Instructs the object to create a favicon. First argument is mandatory and must be a file name of the image you want to use for making a favicon. Note: the site is being unclear about what it likes and what it doesn't. What I know so far is that it doesn't like 1.5MB pics but I'll leave you at it :). Return value is described below. Optional arguments are passed in a key/value form. Possible optional arguments are as follows:

file

->favicon( 'some_pic.jpg', file => 'out.zip' );

Optional. If file argument is specified the archive containing the favicon will be saved into the file name of which is the value of file argument. By default not specified and you'll have to fish out the archive from the return value (see below)

image

->favicon( '', image => 'some_pic.jpg' );

Optional. You can call the method in an alternative way by specifying anything as the first argument and then setting image argument. This functionality is handy if your arguments are coming from a hash, etc. Defaults to: first argument of this method.

RETURN VALUE

On failure favicon() method returns either undef or an empty list depending on the context and the reason for failure will be available via error() method. On success it returns an HTTP::Response object obtained while fetching your precious favicon. If you didn't specify file argument to favicon() method you'd obtain the favicon via content() method of the returned HTTP::Response object (note that it would be a zip archive)

error

my $response = $fav->favicon('some_pic.jpg')
    or die $fav->error;

Takes no arguments, returns a human parsable error message explaining why the call to favicon() failed.

mech

my $old_mech = $fav->mech;

$fav->mech( WWW::Mechanize->new( agent => 'blah' ) );

Returns a WWW::Mechanize object used by this class. When called with an optional argument (which must be a WWW::Mechanize object) will use it in any subsequent favicon() calls.

response

my $response = $fav->response;

Must be called after a successful call to favicon(). Takes no arguments, returns the exact same return value as last call to favicon() did.

REPOSITORY

Fork this module on GitHub: https://github.com/zoffixznet/WebService-HtmlKitCom-FavIconFromImage

BUGS

To report bugs or request features, please use https://github.com/zoffixznet/WebService-HtmlKitCom-FavIconFromImage/issues

If you can't access GitHub, you can email your request to bug-webservice-htmlkitcom-faviconfromimage at rt.cpan.org

AUTHOR

ZOFFIX ZOFFIX

LICENSE

You can use and distribute this module under the same terms as Perl itself. See the LICENSE file included in this distribution for complete details.