def test_fromString(self): gps = Gps.fromString("""38°59'26.348"N, 5°24'47.948"E""") self.assertAlmostEqual(gps.latitude, 38.99, 2); self.assertEqual(gps.latitude_ref, 'N') self.assertAlmostEqual(gps.longtitude, 5.41, 2) self.assertEqual(gps.longtitude_ref, 'E') self.assertEqual(gps.altitude, None) gps = Gps.fromString("""38°59'26.348"N, 5°24'47.948"E, 254""") self.assertAlmostEqual(gps.latitude, 38.99, 2); self.assertEqual(gps.latitude_ref, 'N') self.assertAlmostEqual(gps.longtitude, 5.41, 2) self.assertEqual(gps.longtitude_ref, 'E') self.assertEqual(gps.altitude, 254.) self.assertRaises(ValueError, Gps.fromString, "blah")
def process(self, file_name): exivGps = ExivGps(file_name) try: gps = exivGps.get() gps = gps or "N/A" except ExivGps.ExivError: print("Failed to get exif information, skipping: '%s'" % file_name) return tabs = 6 - divmod((len(file_name) + 2 + 7), 8)[0] if tabs < 0: tabs = 0 tabs = "\t" * tabs print("'%s'%s - [%s] : " % (file_name, tabs, str(gps)), end="", flush=True) newGps = stdin.readline().strip() if newGps: newGps = Gps.fromString(newGps, gps) exivGps.set(newGps)