Skip to content

Instantly share code, notes, and snippets.

@kirgizmustafa17
Created November 8, 2020 19:58
Show Gist options
  • Save kirgizmustafa17/96fb04f0f3f8346cf35e6fd3b773561b to your computer and use it in GitHub Desktop.
Save kirgizmustafa17/96fb04f0f3f8346cf35e6fd3b773561b to your computer and use it in GitHub Desktop.
Çoğu formattaki resim dosyalarını, kayıpsız şekilde sıkıştırma yapar. Bunun için reSmush.it servisini kullanıyor ve Internet bağlantısına ihtiyaç duyar.
import sys
import os.path
import requests
import urllib
import time
file_paths = sys.argv[1:] # the first argument is the script itself
ortalama_oran = 0
donusum_sayisi = 0
kazanc = 0
toplam_kazanc = 0
for p in file_paths:
# cURL işlemleri
kalite = 90
params = (
('qlty', kalite),
)
files = {
'files': (p, open(p, 'rb')),
}
response = requests.post('http://api.resmush.it/', params=params, files=files)
uzantisiz, uzanti = os.path.splitext(p)
basename = os.path.basename(p)
response = response.json()
dest_url = response['dest']
src_size = response['src_size']
src_size_kb = int(src_size) / 1024
src_size_kb = "{:.2f}".format(src_size_kb)
dest_size = response['dest_size']
dest_size_kb = int(dest_size) / 1024
dest_size_kb = "{:.2f}".format(dest_size_kb)
kazanc = (src_size - dest_size)
kazanc_kb = int(kazanc) / 1024
kazanc_kb = "{:.2f}".format(kazanc_kb)
toplam_kazanc = (toplam_kazanc + kazanc)
toplam_kazanc_kb = int(toplam_kazanc) / 1024
toplam_kazanc_kb = "{:.2f}".format(toplam_kazanc_kb)
percent = response['percent']
new_string = basename.center(120, "-")
print(new_string)
print("+---------- Sıkıştırma oranı:\t\t\t\t" + str(percent) + "%. ")
print("| +-------- Yeni boyut:\t\t\t\t\t" + dest_size_kb + " KB " +
"(" + str(src_size_kb) + " KB ---> " + str(dest_size_kb) + " KB)")
donusum_sayisi += 1
ortalama_oran = (((ortalama_oran * (donusum_sayisi - 1)) + int(percent)) / donusum_sayisi)
print("| | +------ Kazanç:\t\t\t\t\t" + kazanc_kb + " KB")
# print("| | | +---- Optimize resim indiriliyor.")
print("| | |")
print("| | +------ Toplam indirme:\t\t\t\t" + str(donusum_sayisi))
print("| +-------- Bu oturumdaki ortalama sıkıştırma oranı:\t" + str(int(ortalama_oran)) + "%")
print("+---------- Toplam kazanç:\t\t\t\t" + toplam_kazanc_kb + "KB. \n")
urllib.request.urlretrieve(dest_url, uzantisiz + "-optimized" + uzanti)
time.sleep(3)
input("Çıkmak için bir tuşa bas")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment