[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:47:05 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=80fd8ee

The following commit has been merged in the master branch:
commit 80fd8ee333d388be4197a86ceb7fdd051a65c1b2
Author: Robin Mills <robin at clanmills.com>
Date:   Tue Sep 27 13:56:03 2016 +0000

    #1233 geotag.cpp added option -ascii.  The degree sign in the output was upsetting test harness on some platforms.
---
 samples/geotag.cpp        | 38 +++++++++++++++++++++++++-------------
 test/data/geotag-test.out |  2 +-
 test/geotag-test.sh       |  2 +-
 3 files changed, 27 insertions(+), 15 deletions(-)

diff --git a/samples/geotag.cpp b/samples/geotag.cpp
index a0a153c..e5ed73c 100644
--- a/samples/geotag.cpp
+++ b/samples/geotag.cpp
@@ -80,6 +80,8 @@ char* realpath(const char* file,char* path)
 }
 #endif
 
+char gDeg[10];
+
 // Command-line parser
 class Options  {
 public:
@@ -88,6 +90,7 @@ public:
     bool        version;
     bool        dst;
     bool        dryrun;
+    bool        ascii;
 
     Options()
     {
@@ -96,6 +99,7 @@ public:
         version     = false;
         dst         = false;
         dryrun      = false;
+        ascii       = false;
     }
 
     virtual ~Options() {} ;
@@ -112,6 +116,7 @@ enum                        // keyword indices
 ,   kwVERSION
 ,   kwDST
 ,   kwDRYRUN
+,   kwASCII
 ,   kwVERBOSE
 ,   kwADJUST
 ,   kwTZ
@@ -213,7 +218,7 @@ std::string Position::toExifString(double d,bool bRational,bool bLat)
 {
     const char* NS   = d>=0.0?"N":"S";
     const char* EW   = d>=0.0?"E":"W";
-	const char* NSEW = bLat  ? NS: EW;
+    const char* NSEW = bLat  ? NS: EW;
     if ( d < 0 ) d = -d;
     int deg = (int) d;
         d  -= deg;
@@ -223,7 +228,10 @@ std::string Position::toExifString(double d,bool bRational,bool bLat)
         d  *= 60;
     int sec = (int)d;
     char result[200];
-    sprintf(result,bRational ? "%d/1 %d/1 %d/1%s" : "%03d°%02d'%02d\"%s" ,deg,min,sec,bRational?"":NSEW);
+    if ( bRational )
+        sprintf(result,"%d/1 %d/1 %d/1" ,deg,min,sec);
+    else
+        sprintf(result,"%03d%s%02d'%02d\"%s" ,deg,gDeg,min,sec,NSEW);
     return std::string(result);
 }
 
@@ -573,8 +581,8 @@ time_t readImageTime(std::string path,std::string* pS=NULL)
     using namespace Exiv2;
 
     time_t       result       = 0 ;
-	static std::map<std::string,time_t> cache;
-	if ( cache.count(path) == 1 ) return cache[path];
+    static std::map<std::string,time_t> cache;
+    if ( cache.count(path) == 1 ) return cache[path];
 
     const char* dateStrings[] =
     { "Exif.Photo.DateTimeOriginal"
@@ -596,7 +604,7 @@ time_t readImageTime(std::string path,std::string* pS=NULL)
             }
         } catch ( ... ) {};
     }
-	if ( result ) cache[path] = result;
+    if ( result ) cache[path] = result;
     return result ;
 }
 
@@ -670,7 +678,7 @@ int help(const char* program,char const* words[],int nWords,bool /*bVerbose*/)
         if ( words[i] )
             printf("%c-%s%s",i?'|':'{',words[i],i>(-kwNOVALUE)?" value":"");
     }
-    printf("} path+
");
+    printf("}+ path+
");
     return 0;
 }
 
@@ -743,6 +751,7 @@ int main(int argc,const char* argv[])
     keywords[kwVERSION ] = "version";
     keywords[kwVERBOSE ] = "verbose";
     keywords[kwDRYRUN  ] = "dryrun";
+    keywords[kwASCII   ] = "ascii";
     keywords[kwDST     ] = "dst";
     keywords[kwADJUST  ] = "adjust";
     keywords[kwTZ      ] = "tz";
@@ -759,6 +768,7 @@ int main(int argc,const char* argv[])
     shorts["-D"] = "-delta";
     shorts["-s"] = "-delta";
     shorts["-X"] = "-dryrun";
+    shorts["-a"] = "-ascii";
 
     Options options ;
     options.help    = sina(keywords[kwHELP   ],argv) || argc < 2;
@@ -766,7 +776,7 @@ int main(int argc,const char* argv[])
     options.dryrun  = sina(keywords[kwDRYRUN ],argv);
     options.version = sina(keywords[kwVERSION],argv);
     options.dst     = sina(keywords[kwDST    ],argv);
-    options.dryrun  = sina(keywords[kwDRYRUN ],argv);
+    options.ascii   = sina(keywords[kwASCII  ],argv);
 
     for ( int i = 1 ; !result && i < argc ; i++ ) {
         const char* arg   = argv[i++];
@@ -786,6 +796,7 @@ int main(int argc,const char* argv[])
             case kwVERSION  : options.version = true ; break;
             case kwDRYRUN   : options.dryrun  = true ; break;
             case kwVERBOSE  : options.verbose = true ; break;
+            case kwASCII    : options.ascii   = true ; break;
             case kwTZ       : Position::tz_      = parseTZ(value);break;
             case kwADJUST   : Position::adjust_  = ivalue;break;
             case kwDELTA    : Position::deltaMax_= ivalue;break;
@@ -814,6 +825,7 @@ int main(int argc,const char* argv[])
 
     if ( options.help    ) ::help(program,keywords,kwMAX,options.verbose);
     if ( options.version ) ::version(program);
+    strcpy(gDeg,options.ascii?"deg":"°");
 
     if ( !result ) {
         sort(gFiles.begin(),gFiles.end(),mySort);
@@ -841,7 +853,7 @@ int main(int argc,const char* argv[])
                 if ( image.get() ) {
                     image->readMetadata();
                     Exiv2::ExifData& exifData = image->exifData();
-					if ( pPos ) {
+                    if ( pPos ) {
                         exifData["Exif.GPSInfo.GPSProcessingMethod" ] = "65 83 67 73 73 0 0 0 72 89 66 82 73 68 45 70 73 88"; // ASCII HYBRID-FIX
                         exifData["Exif.GPSInfo.GPSVersionID"        ] = "2 2 0 0";
                         exifData["Exif.GPSInfo.GPSMapDatum"         ] = "WGS-84";
@@ -851,19 +863,19 @@ int main(int argc,const char* argv[])
                         exifData["Exif.GPSInfo.GPSAltitude"         ] = Position::toExifString(pPos->ele());
 
                         exifData["Exif.GPSInfo.GPSAltitudeRef"      ] = pPos->ele()<0.0?"1":"0";
-						exifData["Exif.GPSInfo.GPSLatitudeRef"      ] = pPos->lat()>0?"N":"S";
-						exifData["Exif.GPSInfo.GPSLongitudeRef"     ] = pPos->lon()>0?"E":"W";
+                        exifData["Exif.GPSInfo.GPSLatitudeRef"      ] = pPos->lat()>0?"N":"S";
+                        exifData["Exif.GPSInfo.GPSLongitudeRef"     ] = pPos->lon()>0?"E":"W";
 
                         exifData["Exif.GPSInfo.GPSDateStamp"        ] = stamp;
                         exifData["Exif.GPSInfo.GPSTimeStamp"        ] = Position::toExifTimeStamp(stamp);
-						exifData["Exif.Image.GPSTag"                ] = 4908;
+                        exifData["Exif.Image.GPSTag"                ] = 4908;
 
-						printf("%s %s % 2d
",arg.c_str(),pPos->toString().c_str(),pPos->delta());
+                        printf("%s %s % 2d
",arg.c_str(),pPos->toString().c_str(),pPos->delta());
                     } else {
                         printf("%s *** not in time dict ***
",arg.c_str());
                     }
                     image->writeMetadata();
-				}
+                }
             } catch ( ... ) {};
         }
     }
diff --git a/test/data/geotag-test.out b/test/data/geotag-test.out
index b014b4c..36e7d35 100644
--- a/test/data/geotag-test.out
+++ b/test/data/geotag-test.out
@@ -12,7 +12,7 @@ Exif.GPSInfo.GPSProcessingMethod             Undefined  18  65 83 67 73 73 0 0 0
 Exif.GPSInfo.GPSDateStamp                    Ascii      20  2008:05:08 09:54:28
 --- deleting the GPSInfo tags
 --- run geotag ---
-116°51'18"W 036°26'54"N -14.282  -3
+116deg51'18"W 036deg26'54"N -14.282  -3
 --- show GPSInfo tags ---
 Exif.GPSInfo.GPSVersionID                    Byte        4  2.2.0.0
 Exif.GPSInfo.GPSLatitudeRef                  Ascii       2  North
diff --git a/test/geotag-test.sh b/test/geotag-test.sh
index a9dedd6..0bd38e4 100755
--- a/test/geotag-test.sh
+++ b/test/geotag-test.sh
@@ -18,7 +18,7 @@ source ./functions.source
     for tag in $tags; do runTest exiv2 -M"del $tag" $jpg; done
     runTest                      exiv2 -pa --grep GPS     $jpg
     echo --- run geotag ---
-    runTest                      geotag -tz -8:00   $jpg $gpx | cut -d' ' -f 2-
+    runTest                      geotag -ascii -tz -8:00 $jpg $gpx | cut -d' ' -f 2- | sed -E -e 's/\xb0/___/g'
     echo --- show GPSInfo tags ---
     runTest                      exiv2 -pa --grep GPSInfo $jpg
 

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list