From: Martin Mares Date: Sun, 8 Feb 2015 19:41:57 +0000 (+0100) Subject: gal-mj-digikam imports GPS coordinates X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=4dd86c4ccce2c095ec029b0086bf66767718ca39;p=gallery.git gal-mj-digikam imports GPS coordinates --- diff --git a/gal/bin/gal-mj-digikam b/gal/bin/gal-mj-digikam index 435cf25..8576f89 100755 --- a/gal/bin/gal-mj-digikam +++ b/gal/bin/gal-mj-digikam @@ -5,6 +5,13 @@ use warnings; use Cwd; use DBI; +use Getopt::Long; + +if (@ARGV && $ARGV[0] eq '--help') { + die <] +AMEN +} my $photos_root = $ENV{HOME} . '/photos'; @@ -38,11 +45,27 @@ my ($tag_id) = $dbh->selectrow_array('SELECT id FROM Tags WHERE pid=0 AND name=" $tag_id // die "Cannot find web tag\n"; print "## Tag ID: $tag_id\n"; +my $res = $dbh->selectall_arrayref( < {} }, + SELECT + i.name AS name, + p.latitudeNumber AS lat, + p.longitudeNumber AS lon, + p.altitude AS alt + FROM Images i + JOIN ImageTags t ON (i.id = t.imageid) + LEFT JOIN ImagePositions p ON (i.id = p.imageid) + WHERE i.album=? AND t.tagid=? + ORDER BY i.modificationDate +AMEN + $album_id, + $tag_id, + ); + open OUT, '|-', $ENV{GALLERY_ROOT} . '/bin/gal-scan' or die "Cannot feed gal scan\n"; -for my $r (@{$dbh->selectall_arrayref( - 'SELECT i.name AS name FROM Images i JOIN ImageTags t ON (i.id = t.imageid) WHERE i.album=? AND t.tagid=? ORDER BY i.modificationDate', - { Slice => {} }, - $album_id, $tag_id)}) { +for my $r (@$res) { print OUT "$photos_root/$album/" . $r->{name}, "\n"; + for my $k (qw(lat lon alt)) { + print OUT "\t$k=", $r->{$k}, "\n" if defined $r->{$k}; + } } close OUT;