kodu buraya yazin bakalım kodlarda sorun varmı ?
Hocam pes etmiştim en son

ama buyurun birde siz inceleyin.
import os
import requests
import time
import tkinter as tk
from tkinter import messagebox, scrolledtext
from escpos.printer import Network
def save_credentials():
new_token = token_entry.get()
new_secret = secret_entry.get()
# Dosyayı güncelleme modunda açıyoruz
with open("credentials.txt", "w") as file:
file.write(f"token = '{new_token}'\n")
file.write(f"secret = '{new_secret}'\n")
messagebox.showinfo("Bilgi", "Token ve secret bilgileri güncellendi.")
def print_receipts():
response_text.delete(1.0, tk.END) # Yanıt metnini temizle
with open("credentials.txt", "r") as file:
for line in file:
if line.startswith("token"):
token = line.split("=")[1].strip().strip("'")
elif line.startswith("secret"):
secret = line.split("=")[1].strip().strip("'")
response_text.insert(tk.END, "**** PRINTER CLOUDA HOŞGELDİNİZ!\n")
if token == "xxxxxxxxxxx":
response_text.insert(tk.END, "Token ve Secret Bilgilerinizi giriniz.\n")
messagebox.showwarning("Uyarı", "Token ve secret bilgilerini giriniz.")
return
api_url = (
"https://*****.com/qr/inc/cloudorderPDF-windows.php?token="
+ token
+ "&secret="
+ secret
)
image_folder = "fis" # Görsellerin kaydedileceği klasör
fis_klasoru = "fis"
if not os.path.exists(fis_klasoru):
os.makedirs(fis_klasoru)
while True:
try:
response = requests.get(api_url)
if response.status_code == 200:
data = response.json()
if data is not None:
veriadedi = len(data)
for i in range(veriadedi):
try:
item = data[i]
if "giris" in item:
if item["giris"] is None:
giris = 1
elif item["giris"] == 0:
giris = 0
else:
giris = 1
else:
giris = 1 # Varsayılan değer
if giris == 0:
response_text.insert(
tk.END,
"Giriş Yapılamadı. Token ve Secret Bilgilerinizi giriniz.\n",
)
messagebox.showwarning(
"Uyarı", "Token ve secret bilgilerini giriniz."
)
return
else:
fis_img = item["fis_img"]
type = item["type"]
printers_key = item["printers_key"]
image_url = f"https://****.com/qr/inc/receiptpdf/{fis_img}.png"
if printers_key:
if type == "1":
# Network sınıfını kullanarak ağ yazıcısına bağlan
printer = Network(
printers_key, profile="CT-S651"
)
else:
response_text.insert(
tk.END, "Geçersiz 'type' değeri.\n"
)
continue # Geçersiz bir 'type' değeri varsa bir sonraki işleme geç
# Yazıcıya bir bip komutu gönder
beep_command = b"\x1b\x42\x03\x03" # Bipi kontrol etmek için değerleri ayarlayın
printer._raw(beep_command)
# Görseli indir
response = requests.get(image_url)
if response.status_code == 200:
# Görseli "fis" klasörüne kaydet
with open(
os.path.join(fis_klasoru, fis_img + ".png"),
"wb",
) as file:
file.write(response.content)
else:
response_text.insert(
tk.END, "Görsel indirilemedi.\n"
)
input_path = os.path.join(
fis_klasoru, fis_img + ".png"
)
printer.image(input_path)
# Görseli yazdır
# Kağıdı kes
printer.cut()
# Bağlantıyı kapat
printer.close()
else:
response_text.insert(
tk.END, "printers_key tanınmadı.\n"
)
except Exception as e:
response_text.insert(tk.END, f"Hata oluştu: {str(e)}\n")
else:
response_text.insert(
tk.END, f"API isteği başarısız oldu: {response.status_code}\n"
)
time.sleep(1)
except Exception as e:
response_text.insert(tk.END, f"Hata oluştu: {str(e)}\n")
# Create the Tkinter window
window = tk.Tk()
window.title("**** Cloud Printer")
window.geometry("400x500")
# Create a button to trigger the printing
print_button = tk.Button(window, text="Çalıştır", command=print_receipts)
print_button.pack(pady=10)
# Create labels and entry fields for token and secret
token_label = tk.Label(window, text="Token:")
token_label.pack(pady=5)
token_entry = tk.Entry(window, width=40)
token_entry.pack(pady=5)
secret_label = tk.Label(window, text="Secret:")
secret_label.pack(pady=5)
secret_entry = tk.Entry(window, width=40)
secret_entry.pack(pady=5)
# Load the current token and secret values from credentials.txt
with open("credentials.txt", "r") as file:
for line in file:
if line.startswith("token"):
token_value = line.split("=")[1].strip().strip("'")
token_entry.insert(0, token_value)
elif line.startswith("secret"):
secret_value = line.split("=")[1].strip().strip("'")
secret_entry.insert(0, secret_value)
# Create a button to save the entered credentials
save_button = tk.Button(window, text="Kaydet", command=save_credentials)
save_button.pack(pady=10)
# Create a scrolled text widget to display the responses
response_text = scrolledtext.ScrolledText(window, width=50, height=10)
response_text.pack(pady=10)
# Run the Tkinter event loop
window.mainloop()