Alvis-Convert
view release on metacpan or search on metacpan
lib/Alvis/Convert.pm view on Meta::CPAN
my $self=shift;
my $errcode=shift;
my $errmsg=shift;
if (!defined($errcode))
{
confess("set_err_state() called with an undefined argument.");
}
if (exists($ErrMsgs{$errcode}))
{
if ($errcode==$ERR_OK)
{
$self->{errstr}="";
}
else
{
$self->{errstr}.=" " . $ErrMsgs{$errcode};
if (defined($errmsg))
{
$self->{errstr}.=" " . $errmsg;
}
}
}
else
{
confess("Internal error: set_err_state() called with an " .
"unrecognized argument ($errcode).")
}
}
sub clearerr
{
my $self=shift;
$self->{errstr}="";
}
sub errmsg
{
my $self=shift;
return $self->{errstr};
}
############################################################################
#
# Public methods
#
############################################################################
sub new
{
my $proto=shift;
my $class=ref($proto)||$proto;
my $parent=ref($proto)&&$proto;
my $self={};
bless($self,$class);
$self->_set_err_state($ERR_OK);
$self->_init(@_);
if (defined($self->{urlBase}))
{
if ($self->{urlBase}!~/\/$/)
{
$self->{urlBase}.='/';
}
}
$self->{canonicalConverter}=Alvis::Canonical->new();
if (!defined($self->{canonicalConverter}))
{
$self->_set_err_state($ERR_CANONICAL);
return undef;
}
$self->{documentAssembler}=
Alvis::Document->new(includeOriginalDocument=>
$self->{includeOriginalDocument});
if (!defined($self->{documentAssembler}))
{
$self->_set_err_state($ERR_ASSEMBLER);
return undef;
}
$self->{XMLParser}=XML::LibXML->new();
if (!defined($self->{XMLParser}))
{
$self->_set_err_state($ERR_XML_PARSER);
return undef;
}
$self->{encodingWizard}=
Alvis::Document::Encoding->new(defaultEncoding=>undef);
if (!defined($self->{encodingWizard}))
{
$self->_set_err_state($ERR_ENCODING_WIZARD);
return undef;
}
$self->{wikipediaConverter}=
Alvis::Wikipedia::XMLDump->new(expandVariables=>1,
skipRedirects=>0,
dumpCategoryData=>1,
dumpTemplateData=>1);
if (!defined($self->{wikipediaConverter}))
{
$self->_set_err_state($ERR_WIKIPEDIA);
return undef;
}
$self->{docTypeWizard}=
Alvis::Document::Type->new(defaultType=>
$self->{defaultDocType},
defaultSubType=>
$self->{defaultDocSubType});
( run in 0.851 second using v1.01-cache-2.11-cpan-39bf76dae61 )