CPAN::Testers::Data::Addresses - CPAN Testers Addresses Database Manager
perl addresses.pl \ [--verbose|v] --config|c=<file> \ ( [--help|h] \ | [--update=<file>] \ | [--reindex] [--lastid=<num>] \ | [--clean] \ | [--backup] \ | [--mailrc|m=<file>] [--month=<string>] [--match] ) \ [--logfile=<file>] [--logclean=(0|1)]
This program allows the user to update the tester addresses database, or search it, based on a restricted set of criteria.
The schema for the MySQL database is below:
CREATE TABLE `ixaddress` ( `id` int(10) unsigned NOT NULL, `guid` varchar(40) NOT NULL DEFAULT '', `addressid` int(10) unsigned NOT NULL, `fulldate` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`,`guid`), KEY `IXGUID` (`guid`), KEY `IXADDR` (`addressid`) ) ENGINE=MyISAM; CREATE TABLE `tester_address` ( `addressid` int(10) unsigned NOT NULL AUTO_INCREMENT, `testerid` int(10) unsigned NOT NULL DEFAULT '0', `address` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, PRIMARY KEY (`addressid`), KEY `IXTESTER` (`testerid`), KEY `IXADDRESS` (`address`) ) ENGINE=MyISAM DEFAULT CHARSET UTF8; CREATE TABLE `tester_profile` ( `testerid` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `pause` varchar(255) DEFAULT NULL, PRIMARY KEY (`testerid`), KEY `IXNAME` (`name`), KEY `IXPAUSE` (`pause`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
The address field is the same as the tester field in the cpanstats table, while the email field is the extracted email address field only.
Instatiates the object CPAN::Testers::Data::Addresses:
my $obj = CPAN::Testers::Data::Addresses->new();
Based on accessor settings will run the appropriate methods for the current execution.
Search the tables for unmapped entries, suggesting appropriate mappings.
Updates the tester_profiles and tester_address entries as defined by the reference source text file.
Indexes the ixaddress table, updating the tester_address table if appropriate.
Provides backup files of the uploads database.
Path to output log file for progress and debugging messages.
If set to a true value will create/overwrite the logfile, otherwise will append any messages.
Path to the file containing the last cpanstats record ID processed.
Loads all the data files with addresses against we can match, then load all the addresses listed in the DB that we need to match against.
Given all the possible mappings, attempts to match unmapped addresses.
Prints the suggested mappings, and those remaining unmapped addresses.
Atempts to map an address to a known CPAN author, then to one that already exists in the database, and finally to one that is known within the CPAN Authors index.
Attempts to map an address based on its domain.
Attempts to map any name listed in the address to a tester profile.
Sets or returns the last cpanstats record ID processed.
Extracts an email from a text string.
Initialises internal configuration settings based on command line options, API options and configuration file settings.
Provides a help screen.
Writes audit messages to a log file.
Whether you have a common platform or a very unusual one, you can help by testing modules you install and submitting reports. There are plenty of module authors who could use test reports and helpful feedback on their modules and distributions.
If you'd like to get involved, please take a look at the CPAN Testers Wiki, where you can learn how to install and configure one of the recommended smoke tools.
For further help and advice, please subscribe to the the CPAN Testers discussion mailing list.
CPAN Testers Wiki - http://wiki.cpantesters.org CPAN Testers Discuss mailing list - http://lists.cpan.org/showlist.cgi?name=cpan-testers-discuss
There are no known bugs at the time of this release. However, if you spot a bug or are experiencing difficulties, that is not explained within the POD documentation, please send an email to firstname.lastname@example.org. However, it would help greatly if you are able to pinpoint problems or even supply a patch.
Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel free to (politely) remind me.
Barbie, <email@example.com> for Miss Barbell Productions <http://www.missbarbell.co.uk>.
Copyright (C) 2009-2013 Barbie for Miss Barbell Productions. This module is free software; you can redistribute it and/or modify it under the Artistic License 2.0.