/[A3C]/lib/A3C/AAIEduHr.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/A3C/AAIEduHr.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 90 by dpavlin, Tue Apr 29 21:43:36 2008 UTC revision 91 by dpavlin, Wed Apr 30 16:15:25 2008 UTC
# Line 12  AAAIEduHr Line 12  AAAIEduHr
12  Pull varios stuff from XML at L<http://shema.aaiedu.hr/> and cache it as  Pull varios stuff from XML at L<http://shema.aaiedu.hr/> and cache it as
13  JSON on disk  JSON on disk
14    
15    =head1 METHODS
16    
17  =cut  =cut
18    
19  #use base 'Jifty::Object';  #use base 'Jifty::Object';
# Line 21  use Data::Dump qw/dump/; Line 23  use Data::Dump qw/dump/;
23  use File::Slurp;  use File::Slurp;
24  use JSON::XS;  use JSON::XS;
25    
26    =head2 vocabulary
27    
28      valid are A3C::AAIEduHr->vocabulary('hrEdu001'),
29    
30    =cut
31    
32  sub vocabulary {  sub vocabulary {
33          my $self = shift;          my $self = shift;
34    
# Line 53  sub vocabulary { Line 61  sub vocabulary {
61          my $data;          my $data;
62    
63          if ( ! -e $data_path ) {          if ( ! -e $data_path ) {
64                  my $rules = XML::Rules->new( rules => [                  my $rules = XML::Rules->new(
65                    stripspaces => 8,
66                    rules => [
67                          _default => sub {                          _default => sub {
68                                  my ($tag_name, $tag_hash, $context, $parent_data) = @_;                                  my ($tag_name, $tag_hash, $context, $parent_data) = @_;
69                                  warn "_default $tag_name ",dump( $tag_hash );                                  warn "_default $tag_name ",dump( $tag_hash );
# Line 62  sub vocabulary { Line 72  sub vocabulary {
72                          vocabulary => 'no content',                          vocabulary => 'no content',
73                          vocabularyentry => sub {                          vocabularyentry => sub {
74                                  die "no key attribute?" unless defined( $_[1]->{key} );                                  die "no key attribute?" unless defined( $_[1]->{key} );
75                                   '@' . $_[0] => $_[1]->{key};                                  my $v = {
76                                            display =>      $_[1]->{_content},
77                                            value   =>      $_[1]->{key},
78                                    };
79                                    # if same, just store key
80                                    $v = $_[1]->{key} if ( $v->{display} eq $v->{value} );
81                                    '@' . $_[0] => $v;
82                          },                          },
83                  ]);                  ]);
84                  $data = $rules->parsefile( $xml_path )                  $data = $rules->parsefile( $xml_path )
# Line 77  sub vocabulary { Line 93  sub vocabulary {
93                  Jifty->log->info("loaded dump from $data_path");                  Jifty->log->info("loaded dump from $data_path");
94          }          }
95    
96          warn '## ',ref($data),' = ',dump($data);  #       warn '## ',ref($data),' = ',dump($data);
97    
98          die "data not for for $name" unless $data->{name} eq $name;          die "data not for for $name" unless $data->{name} eq $name;
99          warn "no vocabularyentry for $name from $data_path" unless defined( $data->{vocabularyentry} );          warn "no vocabularyentry for $name from $data_path" unless defined( $data->{vocabularyentry} );

Legend:
Removed from v.90  
changed lines
  Added in v.91

  ViewVC Help
Powered by ViewVC 1.1.26