The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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;

NOTE ON CHANGED INTERFACE

Since I first released this module, the interface of the website changed slightly, so I had to take out the scrolling text and animation parameters. Since I currently have no personal need for this module, I didn't re-implement those features, but if you actually use this module and need those features. Let me know via RT, email, or #perl on irc.freenode.net

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.

AUTHOR

Zoffix Znet, <zoffix at cpan.org> (http://zoffix.com, http://haslayout.net)

BUGS

Please report any bugs or feature requests to bug-webservice-htmlkitcom-faviconfromimage at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-HtmlKitCom-FavIconFromImage. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc WebService::HtmlKitCom::FavIconFromImage

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2008 Zoffix Znet, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.