Created
November 8, 2020 19:58
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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