Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
2.6 kB
0
Indexable
Never
import os
import requests
from shutil import copyfile
from PIL import Image, ImageFont, ImageDraw

def arşivle(klasör_yolu):
  """
  Belirtilen klasördeki tüm EPUB kitaplarını arşivler.

  Args:
    klasör_yolu: Arşivlenecek kitapların bulunduğu klasörün yolu.
  """

  # Dosya isimlerini listele
  dosya_isimleri = os.listdir(klasör_yolu)

  for dosya_ismi in dosya_isimleri:
    # Dosyanın tam yolunu al
    dosya_yolu = os.path.join(klasör_yolu, dosya_ismi)

    # Dosyanın EPUB olup olmadığını kontrol et
    if dosya_ismi.endswith(".epub"):
      # EPUB dosyasıysa, kitap ismini ve uzantısını ayır
      kitap_ismi, uzantı = os.path.splitext(dosya_ismi)

      # Kitap kapağı resmini indir
      kitap_kapağı_url = kitap_ismi + ".jpg"  # Varsayılan kapak resmi URL'si
      kapak_resmi_yolu = os.path.join(klasör_yolu, kitap_ismi + ".jpg")
      indir_kitap_kapağı(kitap_kapağı_url, kapak_resmi_yolu)

      # Klasör resmini güncelle
      güncelle_klasör_resmi(klasör_yolu, kapak_resmi_yolu)

      # EPUB dosyasını arşivle
      arşiv_yolu = os.path.join(klasör_yolu, kitap_ismi + ".zip")
      arşivle_epub(dosya_yolu, arşiv_yolu)

def indir_kitap_kapağı(url, dosya_yolu):
  """
  Belirtilen URL'den kitap kapağı resmini indirir ve kaydeder.

  Args:
    url: Kitap kapağı resmi URL'si.
    dosya_yolu: Kaydedilecek resim dosyasının yolu.
  """

  try:
    # URL'den resim içeriğini indir
    response = requests.get(url)
    resim_içeriği = response.content

    # Resim içeriğini dosyaya kaydet
    with open(dosya_yolu, "wb") as dosya:
      dosya.write(resim_içeriği)

  except requests.exceptions.RequestException:
    print(f"Hata: {url} adresinden kitap kapağı resmi indirilemedi.")

def güncelle_klasör_resmi(klasör_yolu, kapak_resmi_yolu):
  """
  Klasör resmini kitap kapağı resmiyle günceller.

  Args:
    klasör_yolu: Klasörün yolu.
    kapak_resmi_yolu: Kitap kapağı resmi dosyasının yolu.
  """

  # Klasör resmini aç
  klasör_resmi = Image.open(klasör_yolu + "\\folder.ico")

  # Kitap ismini klasör resmine ekle
  çizim = ImageDraw.Draw(klasör_resmi)
  font = ImageFont.truetype("arial.ttf", 16)
  kitap_ismi, _ = os.path.splitext(os.path.basename(klasör_yolu))
  çizim.text((10, 10), kitap_ismi, font=font, fill=(0, 0, 0))

  # Klasör resmini kaydet
  klasör_resmi.save(klasör_yolu + "\\folder.ico")

def arşivle_epub(dosya_yolu, arşiv_yolu):
  """
  EPUB
Leave a Comment