Ignore:
Timestamp:
2005-07-06T15:27:45+12:00 (19 years ago)
Author:
kjdon
Message:

Jeffrey's new parsing modifications, committed approx 6 July, 15.16

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/perllib/classify/DateList.pm

    r10199 r10218  
    7979
    8080sub new {
    81     my $class = shift (@_);
    82     my $self = new BasClas($class, @_);
    83 
    84     # 14-05-02 To allow for proper inheritance of arguments - John Thompson
    85     my $option_list = $self->{'option_list'};
    86     push( @{$option_list}, $options );
    87 
    88     if ($self->{'info_only'}) {
    89     # created from classinfo.pl - don't need to parse the arguments
    90     return bless $self, $class;
    91     }
    92 
     81    my ($class) = shift (@_);
     82    my ($classifierslist,$inputargs,$hashArgOptLists) = @_;
     83    push(@$classifierslist, $class);
     84
     85    if(defined $arguments){ push(@{$hashArgOptLists->{"ArgList"}},@{$arguments});}
     86    if(defined $options) { push(@{$hashArgOptLists->{"OptList"}},$options)};
     87
     88    my $self = (defined $hashArgOptLists)? new BasClas($classifierslist,$inputargs,$hashArgOptLists): new BasClas($classifierslist,$inputargs);
     89
     90    # Manually set $self parameters.
    9391    $self->{'list'} = {};
    9492
    95     my ($datemeta, $sortmeta);
    96     $self->{'nogroup'}=0;
    97     if (!parsargv::parse(\@_,
    98                          q^bymonth^, \$self->{'bymonth'},
    99              q^nogroup^, \$self->{'nogroup'},
    100              q^metadata/.*/^, \$datemeta,
    101              q^sort/.*/^, \$sortmeta,
    102              q^reverse_sort^, \$self->{'reverse_sort'},
    103                          "allow_extra_options")) {
    104     $self->print_txt_usage("");  # Use default resource bundle
    105     die "\n";
    106     }
    107 
    108     if (!defined $datemeta || $datemeta eq "") {
    109     $datemeta = "Date";
    110     }
    111     $self->{'datemeta'} = $datemeta;
    112 
    113     if (defined $sortmeta && $sortmeta ne "") {
    114     $self->{'sortmeta'} = $sortmeta;
    115     }
     93    if (!defined $self->{"metadata"} || $self->{"metadata"} eq "") {
     94    $self->{'metadata'} = "Date";
     95    }
     96   
    11697    return bless $self, $class;
    11798}
     
    128109
    129110    my $doc_OID = $doc_obj->get_OID();
    130     my $date = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'datemeta'});
     111    my $date = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'metadata'});
    131112   
    132113    my $sort_other = "";
    133     if (defined $self->{'sortmeta'} && $self->{'sortmeta'} ne "") {
    134     $sort_other = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'sortmeta'});
    135     $sort_other = &sorttools::format_metadata_for_sorting($self->{'sortmeta'}, $sort_other, $doc_obj);
     114    if (defined $self->{'sort'} && $self->{'sort'} ne "") {
     115    $sort_other = $doc_obj->get_metadata_element ($doc_obj->get_top_section(), $self->{'sort'});
     116    $sort_other = &sorttools::format_metadata_for_sorting($self->{'sort'}, $sort_other, $doc_obj);
    136117    }
    137118    # if this document doesn't contain Date element we won't
     
    143124    }
    144125
    145    
    146126    $self->{'list'}->{$doc_OID} = "$date$sort_other";
    147127    }
     
    169149            'Title'=>$title,
    170150            'contains'=>[],
    171             'mdtype'=>$self->{'datemeta'});
     151            'mdtype'=>$self->{'metadata'});
    172152    $classifyinfo{'thistype'} = $thistype
    173153    if defined $thistype && $thistype =~ /\w/;
Note: See TracChangeset for help on using the changeset viewer.