Skip to content

Commit

Permalink
kurGetir fonksiyonu eklendi
Browse files Browse the repository at this point in the history
  • Loading branch information
sidarpttr committed Nov 20, 2024
1 parent 0d6f551 commit 0d58ec7
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 3 deletions.
1 change: 1 addition & 0 deletions Test/tum_testler.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ def test_fatura_olustur():
fatura = portal.fatura_olustur(
tarih = "29/05/2023",
saat = "14:28:37",
para_birimi = "USD",
vkn_veya_tckn = "11111111111",
ad = "Ömer Faruk",
soyad = "Sancak",
Expand Down
2 changes: 2 additions & 0 deletions eArsivPortal/Core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ def fatura_olustur(
self,
tarih:str = "07/10/1995",
saat:str = "14:28:37",
para_birimi:str = "TRY",
vkn_veya_tckn:str = "11111111111",
ad:str = "Ömer Faruk",
soyad:str = "Sancak",
Expand All @@ -149,6 +150,7 @@ def fatura_olustur(
fatura = fatura_ver(
tarih = tarih or datetime.now(timezone("Turkey")).strftime("%d/%m/%Y"),
saat = saat,
para_birimi = para_birimi,
vkn_veya_tckn = vkn_veya_tckn,
ad = kisi_bilgi.adi or ad,
soyad = kisi_bilgi.soyadi or soyad,
Expand Down
7 changes: 5 additions & 2 deletions eArsivPortal/Libs/FaturaVer.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.

from uuid import uuid4
from KurGetir import kurGetir

def fatura_ver(
tarih:str = "07/10/1995",
saat:str = "14:28:37",
para_birimi:str = "TRY",
vkn_veya_tckn:str = "11111111111",
ad:str = "Ömer Faruk",
soyad:str = "Sancak",
Expand All @@ -17,13 +19,14 @@ def fatura_ver(
# matrah = fiyat / 1.18 # ! %18
matrah = fiyat / 1.20 # ! %20
kdv = fiyat - matrah
doviz = "0" if para_birimi == "TRY" else kurGetir(para_birimi)
return {
"faturaUuid" : f"{uuid4()}",
"belgeNumarasi" : "",
"faturaTarihi" : tarih,
"saat" : saat,
"paraBirimi" : "TRY",
"dovzTLkur" : "0",
"paraBirimi" : para_birimi,
"dovzTLkur" : doviz,
"faturaTipi" : "SATIS",
"hangiTip" : "5000/30000",
"vknTckn" : vkn_veya_tckn,
Expand Down
34 changes: 34 additions & 0 deletions eArsivPortal/Libs/KurGetir.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
from Oturum import legacy_session
import xmltodict

def kurGetir(kur_kodu:str = "USD"):
"""
TCMB'nin günlük döviz kurları XML dosyasından belirtilen döviz kurunu getirir.
Args:
kur_kodu (str): Döviz kuru kodu (örneğin, "USD").
Returns:
str: Belirtilen döviz kurunun satış bilgilerini içeren string.
"""
kurlar = []
result = None

url = "https://www.tcmb.gov.tr/kurlar/today.xml"
oturum = legacy_session()
try:
response = oturum.get(url=url)
response.raise_for_status() #response hatalarını yakalamak için
data = xmltodict.parse(response.text) #xml verisini dict'e çevirir
kurlar = [ kur for kur in data["Tarih_Date"].get("Currency")] #tüm kurlar listeye alınır

except Exception as e:
print(f"Döviz kuru getirilirken bir Hata oluştu: {e}")
return None

for kur in kurlar:
if kur["@Kod"] == kur_kodu:
result = kur
break

return result.get("ForexSelling")
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
"requests",
"pydantic",
"parsel",
"cssselect"
"cssselect",
"xmltodict"
],

# ? PyPI Bilgileri
Expand Down

0 comments on commit 0d58ec7

Please sign in to comment.