put all zapi values under single field
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 27 Jul 2012 21:22:18 +0000 (23:22 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 27 Jul 2012 21:22:18 +0000 (23:22 +0200)
zotero.pl

index 2308e2f..efbf468 100755 (executable)
--- a/zotero.pl
+++ b/zotero.pl
@@ -63,7 +63,8 @@ foreach my $entry ( keys %{ $feed->{entry} } ) {
                }
        }
 
-       $item->{zapi_etag} = $item->{content}->{'zapi:etag'};
+       $item->{zapi}->{etag} = $item->{content}->{'zapi:etag'};
+       $item->{zapi}->{type} = $item->{content}->{'zapi:type'};
 
        if ( $item->{content}->{'zapi:type'} eq 'json' ) {
                my $json = $item->{content}->{content};
@@ -79,6 +80,12 @@ foreach my $entry ( keys %{ $feed->{entry} } ) {
                }
        }
 
+       foreach my $zapi ( grep { m/^zapi:/ } keys %$item ) {
+               my $name = $zapi;
+               $name =~ s/^zapi://;
+               $item->{zapi}->{$name} = delete $item->{$zapi};
+       }
+
        $items->{$id} = $item;
 
        my $json_md5 = md5_hex encode_json $item;
@@ -87,7 +94,7 @@ foreach my $entry ( keys %{ $feed->{entry} } ) {
        if ( my $old_item = eval { $db->get( "z_$UserID/$id" ) } ) {
                warn "# old_item ",dump($old_item);
 
-               if ( $old_item->{zapi_etag} ne $item->{zapi_etag} || $json_md5 ne $old_item->{json_md5} ) {
+               if ( $old_item->{zapi}->{etag} ne $item->{zapi}->{etag} || $json_md5 ne $old_item->{json_md5} ) {
                        $item->{_rev} = $old_item->{_rev};
                        $db->put( "z_$UserID/$id" => $item );
                } else {