You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
4.4 KiB

--- a/imediff2 2017-11-14 09:28:57.007929569 -0500
+++ b/imediff2 2017-11-14 10:11:12.618496692 -0500
@@ -18,20 +18,20 @@
# License along with the program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-VERSION = '1.1.1'
+VERSION = '1.1.2'
PACKAGE = 'imediff2'
-import curses.wrapper
+import sys
+if sys.version_info<(3,0,0):
+ import curses.wrapper
import curses
import tempfile
import gettext
import difflib
import getopt
-import string
import types
import time
import pty
-import sys
import os
import errno
@@ -121,19 +122,19 @@
def read_lines( filename ):
global assume_empty
try:
- fp = file( filename )
+ fp = open( filename )
l = fp.readlines()
fp.close()
return l
- except IOError, (error, message):
- if error == errno.ENOENT and assume_empty:
+ except IOError as e:
+ if e.errno == errno.ENOENT and assume_empty:
return ""
else:
- sys.stderr.write(_("Could not read '%s': %s\n") % (filename, message))
+ sys.stderr.write(_("Could not read '%s': %s\n") % (filename, e.strerror))
sys.exit(3)
def strip_end_lines( txt ):
- return string.replace(string.replace(txt,"%c"%10,""),"%c"%13,"")
+ return txt.replace("%c"%10,"").replace("%c"%13,"")
def main(stdscr, lines_a, lines_b, start_mode):
global sel, active_chunks, x,y, lines, textpad, contw,conth
@@ -237,7 +238,7 @@
active_chunks.append( [j, j+len(line_list), i] )
for l in line_list:
- lines.append( [string.expandtabs(strip_end_lines(l)),
+ lines.append( [strip_end_lines(l).expandtabs(),
decor, color_pair] )
j+=1
@@ -287,9 +287,9 @@
def sel_next( dir ):
global sel, active_chunks
if dir == 'up':
- rng = range(sel-1, -1, -1)
+ rng = list(range(sel-1, -1, -1))
else:
- rng = range(sel+1, len(active_chunks))
+ rng = list(range(sel+1, len(active_chunks)))
for j in rng:
if active_chunks[j][1] > y and active_chunks[j][0] < y+winh:
sel = j
@@ -442,7 +441,7 @@
elif c == ord('h') or c == ord('?') or c == curses.KEY_HELP:
helpw = 0
helph = 0
- for l in string.split(helptext(), "%c"%10):
+ for l in helptext().split("%c"%10):
helpw = max(helpw, len(l))
helph += 1
helppad = curses.newpad(helph+2, helpw+2)
@@ -512,21 +513,21 @@
try:
opts, args = getopt.getopt(sys.argv[1:], "hmuo:abcNV",
["help","mono","unresolved","output=", "version", "new-file"])
-except getopt.GetoptError, e:
- print _("Error: ") + str(e)
- print usagetext()
+except getopt.GetoptError as e:
+ print((_("Error: ") + str(e)))
+ print((usagetext()))
sys.exit(2)
for o, a in opts:
if o in ("-h", "--help"):
- print usagetext()
+ print((usagetext()))
sys.exit()
elif o in ("-V", "--version"):
- print "%s %s" % (PACKAGE, VERSION)
+ print(("%s %s" % (PACKAGE, VERSION)))
sys.exit()
if len(args)<2:
- print usagetext()
+ print((usagetext()))
sys.exit(2)
for o, a in opts:
@@ -592,15 +592,15 @@
if launch_editor:
assert( not editor is None )
try:
(of, of_name) = tempfile.mkstemp(prefix='imediff2')
- os.write( of, output )
+ os.write( of, output.encode() )
os.close(of)
time.sleep(0.1) # make the change visible - many editor look a lot like imediff2
editor_ret = os.system('%s %s' % (editor, of_name))
time.sleep(0.1)
if editor_ret == 0:
new_b_lines = read_lines(of_name)
- if string.join(new_b_lines, '') == output:
+ if ''.join(new_b_lines) == output:
chunk_mode = 'old'
elif new_b_lines != lines_a:
lines_b = new_b_lines
@@ -607,8 +608,8 @@
else:
chunks = 'old'
os.unlink(of_name)
- except IOError, (error, message):
- sys.stderr.write(_("Could not write to '%s': %s\n") % (of_name, message));
+ except IOError as e:
+ sys.stderr.write(_("Could not write to '%s': %s\n") % (of_name, e.strerror));
if not launch_editor:
break
@@ -619,11 +620,11 @@
else:
try:
if ofile is not None:
- of = file(ofile, 'wb')
+ of = open(ofile, 'wb')
- of.write( output )
+ of.write( output.encode() )
of.close()
sys.exit(0)
- except IOError, (error, message):
- sys.stderr.write(_("Could not write to '%s': %s\n") % (ofile, message));
+ except IOError as e:
+ sys.stderr.write(_("Could not write to '%s': %s\n") % (ofile, e.strerror));
sys.exit(3)