Initial commit
This commit is contained in:
commit
6a5b194814
2 changed files with 42 additions and 0 deletions
3
README
Normal file
3
README
Normal file
|
@ -0,0 +1,3 @@
|
|||
# nbdime helper
|
||||
|
||||
This is just a helper to make the use of nbdime easier.
|
39
main.py
Normal file
39
main.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from tkinter import filedialog
|
||||
from os import system, remove
|
||||
|
||||
path = filedialog.askopenfilename()
|
||||
filename = path[:path.find('.ipynb')]
|
||||
local_path = filename + '-local.tmp'
|
||||
remote_path = filename + '-remote.tmp'
|
||||
|
||||
|
||||
def separate_versions(base, local, remote):
|
||||
notebook_file = open(base, 'rt')
|
||||
local_file = open(local, 'wt')
|
||||
remote_file = open(remote, 'wt')
|
||||
|
||||
conflict_state = 'none'
|
||||
|
||||
for line in notebook_file.readlines():
|
||||
if conflict_state == 'none':
|
||||
if '<<<<<<< local' in line:
|
||||
conflict_state = 'local'
|
||||
else:
|
||||
local_file.write(line)
|
||||
remote_file.write(line)
|
||||
else:
|
||||
if '=======' in line:
|
||||
conflict_state = 'remote'
|
||||
elif '>>>>>>> remote' in line:
|
||||
conflict_state = 'none'
|
||||
elif conflict_state == 'local':
|
||||
local_file.write(line)
|
||||
elif conflict_state == 'remote':
|
||||
remote_file.write(line)
|
||||
|
||||
|
||||
separate_versions(path, local_path, remote_path)
|
||||
system(f'nbdime merge {path} {local_path} {remote_path}')
|
||||
|
||||
remove(local_path)
|
||||
remove(remote_path)
|
Loading…
Reference in a new issue