WWW::Yahoo::Credentials - personal storage of userid/password/security_key |
WWW::Yahoo::Credentials - personal storage of userid/password/security_key
require WWW::Yahoo::Credentials; my $credentials = new WWW::Yahoo::Credentials; my $password = $credentials->password( $userid ); my( $userid, $password ) = $credentials->tuple;
This module provides access methods to credentials stored in an XML file. The format of this file is as shown in this example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <credentials> <account userid="userid1" password="password1"/> <account userid="userid2" password="password2"/> <account userid="userid3" password="password3" security-key="key3"/> </credential>
Note that this module does not perform an actual XML parse of the credentials file. Instead, it simply performs a regular expression pattern match for the 'account' tag, and searches for the three attributes listed above.
When used in a string context, this object will return the filename, for example,
print "Loaded credentials file '$credentials'\n";
Errors may be caught using ``eval'', for example,
my( $credentials, $userid, $password ); eval { $credentials = new WWW::Yahoo::Credentials; ( $userid, $password ) = $credentials->tuple; }; if ( $@ ) { die ucfirst( $@->description ) . ": $@"; } elsif ( not defined $userid ) { die "File error: userid not found in credentials file: $credentials\n"; }
See WWW::Yahoo::Credentials::Exceptions for a list of exceptions (they are thrown using the Exception::Class module).
my $credentials = new WWW::Yahoo::Credentials; my $credentials = WWW::Yahoo::Credentials->new( '~/.yahoo/credentials.xml' ); my $credentials = WWW::Yahoo::Credentials->new( %options );
This creates a new object representing the credentials stored in an XML file. The default location of this file is ``~/.yahoo/credentials.xml'', but the location can be specified using the various options described in the new method of WWW::Yahoo::Credentials::File.
my $file = $credentials->file; my $oldfile = $credentials->file( $newfile ); my $oldfile = $credentials->file( undef ); # use default location my $oldfile = $credentials->file( %options );
Returns current file object (WWW::Yahoo::Credentials::File) or reads a new credentials file. The location of the new file can be specified using the various options described in the new method of WWW::Yahoo::Credentials::File.
my @userids = $credentials->userids;
Returns a list of all userids defined in the credentials file.
my $password = $credentials->password( $userid );
Returns the password for the given userid. The userid is looked up in a case-insensitive manner.
Note: do not confuse the Yahoo userid with your local username.
my $security_key = $credentials->security_key( $userid );
Returns the security_key for the given userid. The userid is looked up in a case-insensitive manner.
Note: do not confuse the Yahoo userid with your local username.
my( $userid, $password, $security_key ) = $credentials->tuple; my( $userid, $password, $security_key ) = $credentials->tuple( $userid );
Returns the userid, password, and security_key for a given userid (or for the first userid if none is defined). The userid is looked up in a case-insensitive manner.
my $refreshed = $credentials->refresh;
Checks to see if the date of the credentials file has changed since it was last read. If so, re-reads it. This method is automatically called by the other methods.
WWW::Yahoo::Credentials::File, WWW::Yahoo::Credentials::Exceptions, Exception::Class
Ken Neighbors, Ph.D. ken@nsds.com
Copyright 2003 by Ken Neighbors
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.000 or (at your option) any later version of Perl. That is, you can redistribute this module and/or modify it under the terms of either:
a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or
b) the "Artistic License" which comes with Perl, or
c) the license terms of Perl versions later than 5.000
WWW::Yahoo::Credentials - personal storage of userid/password/security_key |