DTA-CAB
view release on metacpan or search on metacpan
dta-cab-xmlrpc-client.perl view on Meta::CPAN
#!/usr/bin/perl -w
use lib qw(.);
use DTA::CAB;
use DTA::CAB::Client::XmlRpc;
use DTA::CAB::Utils ':all';
use Encode qw(encode decode);
use File::Basename qw(basename);
use Getopt::Long qw(:config no_ignore_case);
use Time::HiRes qw(gettimeofday tv_interval);
use IO::File;
use Pod::Usage;
##==============================================================================
## DEBUG
##==============================================================================
#do "storable-debug.pl" if (-f "storable-debug.pl");
##==============================================================================
## Constants & Globals
##==============================================================================
##-- program identity
our $prog = basename($0);
our $VERSION = $DTA::CAB::VERSION;
##-- General Options
our ($help,$man,$version,$verbose);
#$verbose = 'default';
##-- Log options
our %logOpts = (rootLevel=>'WARN', level=>'INFO'); ##-- options for DTA::CAB::Logger::ensureLog()
##-- Client Options
our $serverURL = 'http://localhost:8088/xmlrpc';
#our $serverEncoding = 'UTF-8';
#our $localEncoding = 'UTF-8';
our $timeout = 65535; ##-- wait for a *long* time (65535 = 2**16-1 ~ 18.2 hours)
our $test_connect = 1;
##-- Analysis & Action Options
our $analyzer = 'dta.cab.default';
our $action = 'list';
our %analyzeOpts = qw(); ##-- currently unused
our $doProfile = undef;
##-- I/O Options
our $inputClass = undef; ##-- default parser class
our $outputClass = undef; ##-- default format class
our %inputOpts = ();
our %outputOpts = (level=>0);
our $outfile = '-';
our $bench_iters = 1; ##-- number of benchmark iterations for -bench mode
our $trace_request_file = undef; ##-- trace request to file?
##==============================================================================
## Command-line
GetOptions(##-- General
'help|h' => \$help,
'man|m' => \$man,
'version|V' => \$version,
##-- Client Options
'server-url|serverURL|server|url|s|u=s' => \$serverURL,
#'local-encoding|le=s' => \$localEncoding,
#'server-encoding|se=s' => \$serverEncoding,
'timeout|T=i' => \$timeout,
'test-connect|tc!' => \$test_connect,
##-- Analysis Options
'analyzer|a=s' => \$analyzer,
'analysis-option|analyze-option|ao|O=s' => \%analyzeOpts,
'profile|p!' => \$doProfile,
'list|l' => sub { $action='list'; },
'token|t|word|w' => sub { $action='token'; },
'sentence|S' => sub { $action='sentence'; },
'document|d' => sub { $action='document'; },
'data|D' => sub { $action='data'; }, ##-- server-side parsing
#'raw|r' => sub { $action='raw'; },
'bench|b:i' => sub { $action='bench'; $bench_iters=$_[1]; },
##-- I/O: input
'input-class|ic|parser-class|pc=s' => \$inputClass,
'input-option|io|parser-option|po=s' => \%inputOpts,
##-- I/O: output
'output-class|oc|format-class|fc=s' => \$outputClass,
#'output-encoding|oe|format-encoding|fe=s' => \$outputOpts{encoding},
'output-option|oo=s' => \%outputOpts,
'output-level|ol|format-level|fl=s' => \$outputOpts{level},
'output-file|output|o=s' => \$outfile,
##-- debugging
'trace-request|trace|request|tr=s' => \$trace_request_file,
##-- Log4perl
DTA::CAB::Logger->cabLogOptions('verbose'=>1),
);
if ($version) {
print cab_version;
exit(0);
}
pod2usage({-exitval=>0, -verbose=>1}) if ($man);
pod2usage({-exitval=>0, -verbose=>0}) if ($help);
##==============================================================================
## MAIN
##==============================================================================
##-- log4perl initialization
( run in 0.605 second using v1.01-cache-2.11-cpan-71847e10f99 )