collect ticket numbers from tags
authorDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 25 Jul 2012 23:18:35 +0000 (01:18 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Wed, 25 Jul 2012 23:18:35 +0000 (01:18 +0200)
zotero.pl

index 6194153..6cbb8bb 100755 (executable)
--- a/zotero.pl
+++ b/zotero.pl
@@ -26,16 +26,17 @@ my $feed = XMLin( $file );
 #warn "# feed ",dump($feed);
 
 my $tree;
+my $ticket;
 
 foreach my $entry ( keys %{ $feed->{entry} } ) {
-       warn "ENTRY $entry\n";
+       warn "# entry $entry ",dump($entry);
        my $id = $entry;
        $id =~ s{.+/items/}{}; # leave just ID
 
-       my $e = $feed->{entry}->{$entry};
+       my $item = $feed->{entry}->{$entry};
 
-       foreach my $link ( @{ $e->{link} } ) {
-               warn "# link ",dump($link);
+       foreach my $link ( @{ $item->{link} } ) {
+               warn "# link $id ",dump($link);
                if ( $link->{rel} eq 'up' ) {
                        my $up = $link->{href};
                        $up =~ s{.+/items/}{};
@@ -44,14 +45,23 @@ foreach my $entry ( keys %{ $feed->{entry} } ) {
                }
        }
 
-       if ( $e->{content}->{'zapi:type'} eq 'json' ) {
-               my $json = $e->{content}->{content};
+       if ( $item->{content}->{'zapi:type'} eq 'json' ) {
+               my $json = $item->{content}->{content};
                warn "# $json\n";
-               $e->{json} = decode_json $json;
-               warn ">> $id ", dump $e->{json};
-       }       
+               $json = $item->{json} = decode_json $json;
+               warn "# json $id ", dump $json;
+
+               foreach my $tag ( @{ $json->{tags} } ) {
+                       $tag = $tag->{tag};
+                       warn "# tag $id $tag\n";
+                       next unless $tag =~ m/#(\d+)/;
+                       push @{ $ticket->{$1} }, $id;
+               }
+       }
 
 
 }
 
 warn "# tree ",dump( $tree );
+
+warn "# ticket ",dump( $ticket );