LINUX.ORG.RU

История изменений

Исправление qulinxao3, (текущая версия) :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

res,trans = 
 defaultdict(int),defaultdict(str,dict(p.split(",")for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split()))

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if tag.startswith("GPS GPSL")and(fld := transG[tag[8:]]) # ;)
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2))

Исправление qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

res,trans = 
 defaultdict(int),defaultdict(str,dict(p.split(",")for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split()))

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := transG[tag[8:]] # cut len("GPS GPSL") ;)
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2))

Исправление qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

res,trans = 
 defaultdict(int),defaultdict(str,dict(p.split(",")for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split()))

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := transG[tag[8:]] # cut len("GPS GPSL") ;)
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2)))

Исправление qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

transG,res = defaultdict(str,dict(("GPS GPSL"+p).split(",")
    for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split())),defaultdict(int)

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := transG[tag]
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2)))

Исправление qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

transG,res = defaultdict(str,dict(f"GPS GPSL{p}".split(",")
    for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split())),defaultdict(int)

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := transG[tag]
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2)))

Исправление qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

transG,res = defaultdict(str,dict(f"GPS GPSL{p}".split(",")for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split()),),defaultdict(int)

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := transG[tag]
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2)))

Исходная версия qulinxao3, :

#!/usr/bin/env python3
# from fractions import Fraction
import sys,webbrowser,exifread
from collections import defaultdict

def convert_to_decimal(coord):
    return sum(float(coord.values[i]) / (60**i) for i in(0,1,2))  # почему у sec с Fraction, а  deg и min без

trans,res = defaultdict(str,dict(f"GPS GPSL{p}".split(",")for p in "atitude,1 ongitude,2 atitudeRef,-1 ongitudeRef,-2".split()),),defaultdict(str)

with open(sys.argv[1], "rb") as file_handle:  # запуск без арга(ов) словит исключение
    for tag, value in exifread.process_file(file_handle).items():
        if fld := trans[tag]:
            fld=int(fld)
            res[fld] = (convert_to_decimal, str)[fld<0](value)

req = "https://www."+("openstreetmap.org/?mlat=%s&mlon=%s&zoom=18", "google.com/maps?q=%s,%s")[sys.argv[2:3] == ["google"]]

webbrowser.open(req % (res[i]*(-1) ** (res[-i] in ("WS"[-i])) for i in 1,2)))