[COLOR=#2838b0]import[/COLOR] [COLOR=#289870]configparser[/COLOR]
[COLOR=#2838b0]import[/COLOR] [COLOR=#289870]json[/COLOR]
[COLOR=#2838b0]import[/COLOR] [COLOR=#289870]ssl[/COLOR] [COLOR=#888888][I]# ssl hatasını handle'lamak için (yoksayarak :))[/I][/COLOR]
[COLOR=#2838b0]from[/COLOR] [COLOR=#289870]urllib.request[/COLOR] [COLOR=#2838b0]import[/COLOR] urlopen
[COLOR=#2838b0]from[/COLOR] [COLOR=#289870]urllib.error[/COLOR] [COLOR=#2838b0]import[/COLOR] URLError
[COLOR=#2838b0]from[/COLOR] [COLOR=#289870]os.path[/COLOR] [COLOR=#2838b0]import[/COLOR] realpath[COLOR=#888888],[/COLOR] dirname
[COLOR=#2838b0]def[/COLOR] [COLOR=#785840]main[/COLOR] [COLOR=#888888]():[/COLOR]
config [COLOR=#666666]=[/COLOR] configparser[COLOR=#666666].[/COLOR]ConfigParser [COLOR=#888888]()[/COLOR]
config[COLOR=#666666].[/COLOR]read [COLOR=#888888]([/COLOR]realpath [COLOR=#888888]([/COLOR]dirname [COLOR=#888888]([/COLOR][COLOR=#b85820]__file__[/COLOR][COLOR=#888888]))[/COLOR] [COLOR=#666666]+[/COLOR] [COLOR=#b83838]"/doviz.conf"[/COLOR][COLOR=#888888])[/COLOR] [COLOR=#888888][I]# her zaman yanımızda olmalı.[/I][/COLOR]
apiKey [COLOR=#666666]=[/COLOR] config[COLOR=#888888][[/COLOR][COLOR=#b83838]"API"[/COLOR][COLOR=#888888]][[/COLOR][COLOR=#b83838]"Key"[/COLOR][COLOR=#888888]][/COLOR]
apiLoc [COLOR=#666666]=[/COLOR] config[COLOR=#888888][[/COLOR][COLOR=#b83838]"API"[/COLOR][COLOR=#888888]][[/COLOR][COLOR=#b83838]"Loc"[/COLOR][COLOR=#888888]][/COLOR]
apiMode [COLOR=#666666]=[/COLOR] config[COLOR=#888888][[/COLOR][COLOR=#b83838]"API"[/COLOR][COLOR=#888888]][[/COLOR][COLOR=#b83838]"Mode"[/COLOR][COLOR=#888888]][/COLOR][COLOR=#666666].[/COLOR]split [COLOR=#888888]([/COLOR][COLOR=#b83838]','[/COLOR][COLOR=#888888])[/COLOR] [COLOR=#888888][I]# çoklu birim dönüştürmeyi de destekliyor.[/I][/COLOR]
apiTimeout [COLOR=#666666]=[/COLOR] [COLOR=#388038]int[/COLOR] [COLOR=#888888]([/COLOR]config[COLOR=#888888][[/COLOR][COLOR=#b83838]"API"[/COLOR][COLOR=#888888]][[/COLOR][COLOR=#b83838]"Timeout"[/COLOR][COLOR=#888888]])[/COLOR]
fullApiUrl [COLOR=#666666]=[/COLOR] [COLOR=#b83838]"{}?q={}&apiKey={}"[/COLOR]
[COLOR=#2838b0]for[/COLOR] mode [COLOR=#a848a8]in[/COLOR] apiMode[COLOR=#888888]:[/COLOR]
[COLOR=#2838b0]try[/COLOR][COLOR=#888888]:[/COLOR]
[COLOR=#2838b0]with[/COLOR] urlopen [COLOR=#888888]([/COLOR]fullApiUrl[COLOR=#666666].[/COLOR]format [COLOR=#888888]([/COLOR]apiLoc[COLOR=#888888],[/COLOR] mode[COLOR=#888888],[/COLOR] apiKey[COLOR=#888888]),[/COLOR] timeout[COLOR=#666666]=[/COLOR]apiTimeout[COLOR=#888888])[/COLOR] [COLOR=#2838b0]as[/COLOR] request[COLOR=#888888]:[/COLOR]
response [COLOR=#666666]=[/COLOR] request[COLOR=#666666].[/COLOR]read [COLOR=#888888]()[/COLOR][COLOR=#666666].[/COLOR]decode [COLOR=#888888]([/COLOR][COLOR=#b83838]"utf-8"[/COLOR][COLOR=#888888])[/COLOR]
[COLOR=#2838b0]except[/COLOR] URLError[COLOR=#888888]:[/COLOR]
[COLOR=#2838b0]print[/COLOR] [COLOR=#888888]([/COLOR][COLOR=#b83838]"Bir hata oluştu. Veri alınamadı."[/COLOR][COLOR=#888888])[/COLOR]
[COLOR=#388038]exit[/COLOR] [COLOR=#888888]()[/COLOR]
result [COLOR=#666666]=[/COLOR] json[COLOR=#666666].[/COLOR]loads [COLOR=#888888]([/COLOR]response[COLOR=#888888])[/COLOR]
res [COLOR=#666666]=[/COLOR] result[COLOR=#888888][[/COLOR][COLOR=#b83838]"results"[/COLOR][COLOR=#888888]][[/COLOR]mode[COLOR=#888888]][/COLOR]
[COLOR=#2838b0]print[/COLOR] [COLOR=#888888]([/COLOR][COLOR=#b83838]"{} = {} {}"[/COLOR][COLOR=#666666].[/COLOR]format [COLOR=#888888]([/COLOR]res[COLOR=#888888][[/COLOR][COLOR=#b83838]"fr"[/COLOR][COLOR=#888888]],[/COLOR] res[COLOR=#888888][[/COLOR][COLOR=#b83838]"val"[/COLOR][COLOR=#888888]],[/COLOR] res[COLOR=#888888][[/COLOR][COLOR=#b83838]"to"[/COLOR][COLOR=#888888]]))[/COLOR]
[COLOR=#2838b0]if[/COLOR] [COLOR=#b85820]__name__[/COLOR] [COLOR=#666666]==[/COLOR] [COLOR=#b83838]"__main__"[/COLOR][COLOR=#888888]:[/COLOR]
ssl[COLOR=#666666].[/COLOR]_create_default_https_context [COLOR=#666666]=[/COLOR] ssl[COLOR=#666666].[/COLOR]_create_unverified_context
main [COLOR=#888888]()[/COLOR]