def __init__(self, swap_webp_path, quality_ratio): self.swap_webp_path = swap_webp_path command = list() command.append(resource_path("cwebp")) # command_prefix = '%s ' % resource_path('cwebp') if quality_ratio >= 100: command.append("-lossless") command.extend(['-q', '100']) # command_prefix += '-lossless -q 100 ' else: command.extend(['-q', quality_ratio.__str__()]) # command_prefix += '-q ' + quality_ratio.__str__() + ' ' self.command_prefix = command
from flask import Flask, render_template, request from pyfladesk import init_gui import os, sys import glob from helper import resource_path import base64 from PIL import Image from io import BytesIO icon = resource_path(os.path.join('static', 'appicon.png')) if getattr(sys, 'frozen', False): template_folder = resource_path('templates') static_folder = resource_path('static') app = Flask(__name__, template_folder=template_folder, static_folder=static_folder) else: app = Flask(__name__) @app.route('/') def upload_file(): objects = [ os.path.basename(objects) for objects in glob.glob('static/*.glb') ] return render_template('index.html', objects=objects) @app.route('/save', methods=['GET', 'POST']) def load_file():
def main(): default_output_directory = "%s/%s" % (os.getcwd(), 'webp-converted/') parser = argparse.ArgumentParser(description='Converter and analytics batch of images(png/jpg) to webp') parser.add_argument('image_directory', nargs='*', default=[os.getcwd()], help='Origin images directory path') parser.add_argument('-q', '--quality-ratio', dest='quality_ratio', type=int, default=100, help='Quality ratio, between 0 to 100, 100 is lossless, 0 is highest compression ratio, default value is 100') parser.add_argument('-o', '--output-directory', dest='output_directory', default=default_output_directory, help='the output directory of converted path, default value is ./webp-converted/') parser.add_argument('--ignore-transparency-image', dest='ignore_transparency_image', action='store_true', help='Whether need to ignore images which has transparency pixel on it, default value is false') parser.add_argument('--r', dest='replace_origin', action='store_true', help='Whether replace the origin images files directly or not, default value is false') parser.add_argument('--c', dest='clear_env', action='store_true', help='Whether need to clean the output directory before convert images, default value is false') parser.add_argument('--debug', dest='debug', action='store_true', help='Whether need to print debug message, default value is false') args = parser.parse_args() start_time = time.time() input_directory = handle_home_case(args.image_directory[0]) output_directory = handle_home_case(args.output_directory) quality_ratio = args.quality_ratio ignore_transparency_image = args.ignore_transparency_image replace_origin = args.replace_origin clean_env = args.clear_env is_debug = args.debug if replace_origin and (clean_env or output_directory != default_output_directory): exit( "the --c and -o can't company with --r, because of --r means you need to store the converted images on the origin " "images directory and replace the origin images directly, and -o is means you want to store the converted images " "on some different directory, and --c is means you want to clear the output directory you provided with -o before" " convert.") if replace_origin: print('origin images will be replace with webp images on ' + input_directory) else: print('origin images on ' + input_directory + ' will be converted to ' + output_directory) command_prefix = '%s ' % resource_path('cwebp') if quality_ratio >= 100: command_prefix += '-lossless -q 100 ' else: command_prefix += '-q ' + quality_ratio.__str__() + ' ' keep_origin_path = output_directory + 'origin/' convert_fail_path = output_directory + 'failed/' transparency_image_path = output_directory + 'transparency/' swap_webp_path = join(output_directory, 'swap.webp') if not replace_origin else join(input_directory, 'swap.webp') if clean_env and exists(output_directory): rmtree(output_directory) print("clear all env on " + output_directory) if not replace_origin and not exists(output_directory): makedirs(output_directory) if exists(swap_webp_path): remove(swap_webp_path) output_data = OutputData() try: loop( input_directory=input_directory, output_directory=output_directory, swap_webp_path=swap_webp_path, transparency_image_path=transparency_image_path, quality_ratio=quality_ratio, convert_fail_path=convert_fail_path, keep_origin_path=keep_origin_path, ignore_transparency_image=ignore_transparency_image, is_debug=is_debug, replace_origin=replace_origin, output_data=output_data ) except KeyboardInterrupt: print ('') print ('INTERRUPT BY USER.') if exists(swap_webp_path): remove(swap_webp_path) pass output_data.dump( replace_origin=replace_origin, input_directory=input_directory, output_directory=output_directory, start_time=start_time )
import sys import os import webview from flask import Flask, render_template, request, redirect, url_for from werkzeug.utils import secure_filename from csv_convert import send_csv from helper import resource_path if getattr(sys, 'frozen', False): template_folder = resource_path('templates') static_folder = resource_path('static') app = Flask(__name__, template_folder=template_folder, static_folder=static_folder) else: app = Flask(__name__) app.config['MAX_CONTENT_LENGTH'] = 1024 * 1024 app.config['UPLOAD_EXTENSIONS'] = ['.csv'] app.config['UPLOAD_PATH'] = resource_path('static/csv_files') @app.route('/') def index(): return render_template('index.html') @app.route('/', methods=['POST']) def upload_file():
self.stop() self.hide_search() self.youtube_mode_off() self.set_selection(0) self.show() if __name__ == '__main__': multiprocessing.freeze_support() window = tk.Tk() window.resizable(width=False, height=False) window.lift() window.attributes('-topmost', True) window.iconbitmap(resource_path('favicon.ico')) window.geometry( f'{Settings.hor_size}x{Settings.ver_size}+{Settings.hor_offset}+{Settings.ver_offset}' ) if Settings.fixed_position: window.overrideredirect(True) WinDJ = WinDJ(window) queue = queue.Queue() p_read, p_write = multiprocessing.Pipe(duplex=False) def start_pipe_loop(): while True: if p_read.poll(0.2): _ = p_read.recv() window.event_generate('<<keypressed>>', when='mark')