İndirme linki: Github
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from __future__ import print_function
import sys
python_version = int(sys.version[0])
if python_version == 2:
	import Tkinter as tkinter
	import ttk
elif int(sys.version[0]) > 2:
	import tkinter
	from tkinter import ttk
__author__ = {
	'name': 'Ertuğrul',
	'mail': 'mail@rastignac.org',
}
import difflib
def get_similarity_ratio(a, b):
	similarity = difflib.SequenceMatcher(a = a.lower(), b = b.lower())
	return similarity.ratio()
class Application(ttk.Frame):
	def __init__(self, parent):
		ttk.Frame.__init__(self, parent)
		self.parent = parent
		self.initUI()
	def initUI(self):
		self.parent.title('Seqcheck')
		self.pack(fill = tkinter.BOTH, expand = 1)
		self.rowconfigure(0, weight = 0)
		self.columnconfigure(0, weight = 4)
		self.rowconfigure(1, weight = 1)
		self.columnconfigure(1, weight = 4)
		self.rowconfigure(2, weight = 1)
		self.columnconfigure(2, weight = 4)
		self.style = ttk.Style()
		self.style.theme_use('clam')
		self.text1_label = ttk.Label(self, text = 'Text 1')
		self.text1_label.grid(row = 0, column = 0, pady = 3, padx = 6,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
		self.text1 = tkinter.Text(self)
		self.text1.grid(row = 1, column = 0, columnspan = 4, rowspan = 4, padx = 5,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
		self.text2_label = ttk.Label(self, text = 'Text 2')
		self.text2_label.grid(row = 0, column = 4, pady = 3, padx = 6,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
		self.text2 = tkinter.Text(self)
		self.text2.grid(row = 1, column = 4, columnspan = 4, rowspan = 4,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
		self.style.configure('TProgressbar', foreground = 'green', background = 'green')
		self.similarity_ratio_bar = ttk.Progressbar(self, orient = tkinter.HORIZONTAL, mode = 'indeterminate',
			maximum = 100)
		self.similarity_ratio_bar.grid(row = 8, column = 4, columnspan = 10, pady = 10,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
		self.similarity_ratio_label = ttk.Label(self)
		self.similarity_ratio_label.grid(row = 9, column = 4, columnspan = 10)
		self.check_button = tkinter.Button(self, text = 'Analysis', command = self.check_button_on_click)
		self.check_button.grid(row = 8, column = 0, columnspan = 4, pady = 10, padx = 6,
			sticky = tkinter.E + tkinter.W + tkinter.S + tkinter.N)
	def check_button_on_click(self):
		self.show_similarity_ratio()
	def show_similarity_ratio(self):
		self.similarity_ratio_bar.stop()
		seq_ratio = get_similarity_ratio(self.text1.get(0.0, tkinter.END), self.text2.get(0.0, tkinter.END))
		print('Sequence ratio: {0}'.format(seq_ratio))
		ratio = int((seq_ratio * 100.0) / 1.0)
		print('Similarity ratio: {0}'.format(ratio))
		if ratio <= 22:
			self.style.configure('TProgressbar', foreground = 'green', background = 'green')
		elif ratio <= 44:
			self.style.configure('TProgressbar', foreground = 'blue', background = 'blue')
		elif ratio <= 77:
			self.style.configure('TProgressbar', foreground = 'orange', background = 'orange')
		elif ratio <= 88:
			self.style.configure('TProgressbar', foreground = 'purple', background = 'purple')
		else:
			self.style.configure('TProgressbar', foreground = 'red', background = 'red')
		self.similarity_ratio_bar.step(ratio)
		self.similarity_ratio_label['text'] = 'Ratio: {0}%\t\tSequence ratio: {1}'.format(ratio, seq_ratio)
def run():
	root = tkinter.Tk()
	try:
		icon = tkinter.PhotoImage(file = 'icon.png')
		# http://www.iconarchive.com/show/robots-icons-by-proycontec/robot-documents-icon.html
		root.tk.call('wm', 'iconphoto', root._w, icon)
	except:
		pass
	root.attributes('-zoomed', True)
	application = Application(root)
	root.mainloop()
if __name__ == '__main__':
	run()
 
  

 
                     
                                                     
                                            
 
                    