46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
#!/usr/bin/env python
|
|
import sys
|
|
if sys.version_info[0] >= 3:
|
|
import PySimpleGUI as sg
|
|
else:
|
|
import PySimpleGUI27 as sg
|
|
|
|
# sg.SetOptions(button_color=sg.COLOR_SYSTEM_DEFAULT)
|
|
|
|
def GetFilesToCompare():
|
|
form_rows = [[sg.Text('Enter 2 files to comare')],
|
|
[sg.Text('File 1', size=(15, 1)), sg.InputText(key='file1'), sg.FileBrowse()],
|
|
[sg.Text('File 2', size=(15, 1)), sg.InputText(key='file2'), sg.FileBrowse(target='file2')],
|
|
[sg.Submit(), sg.Cancel()]]
|
|
|
|
window = sg.Window('File Compare')
|
|
event, values = window.Layout(form_rows).Read()
|
|
return event, values
|
|
|
|
def main():
|
|
button, values = GetFilesToCompare()
|
|
f1 = values['file1']
|
|
f2 = values['file2']
|
|
|
|
if any((button != 'Submit', f1 =='', f2 == '')):
|
|
sg.PopupError('Operation cancelled')
|
|
sys.exit(69)
|
|
|
|
# --- This portion of the code is not GUI related ---
|
|
with open(f1, 'rb') as file1:
|
|
with open(f2, 'rb') as file2:
|
|
a = file1.read()
|
|
b = file2.read()
|
|
|
|
for i, x in enumerate(a):
|
|
if x != b[i]:
|
|
sg.Popup('Compare results for files', f1, f2, '**** Mismatch at offset {} ****'.format(i))
|
|
break
|
|
else:
|
|
if len(a) == len(b):
|
|
sg.Popup('**** The files are IDENTICAL ****')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|