summaryrefslogtreecommitdiff
path: root/devel/py-opster/files/patch-2to3
blob: 28d5586f314e9d82957f67898ac1c6942e6c0907 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
--- opster.py.orig	2018-10-21 19:05:05 UTC
+++ opster.py
@@ -3,7 +3,7 @@
 '''
 
 import sys, traceback, getopt, types, textwrap, inspect, os, re, keyword, codecs
-from itertools import imap
+
 from functools import wraps
 from collections import namedtuple, Callable
 from contextlib import contextmanager
@@ -19,12 +19,12 @@ def write(text, out=None):
     '''Write output to a given stream (stdout by default).'''
     out = out or sys.stdout
     try:
-        print >> out, text
+        print(text, file=out)
     # Needed on Python 2.x if text is str/bytes containing non-ascii
     # characters and sys.stdout is replaced by a writer from the codecs
     # module. text will be decoded as ascii giving the decode error.
     except UnicodeDecodeError:
-        print >> out, text.decode('utf-8')
+        print(text.decode('utf-8'), file=out)
     # Get the order of stdout/stderr correct on Windows. AFAICT this is only
     # needed for the test environment but it's harmless otherwise.
     out.flush()
@@ -294,9 +294,9 @@ def help_(cmdtable, globalopts, scriptname):
             hlp = {}
             # determine if any command is marked for shortlist
             shortlist = (name == 'shortlist' and
-                         any(imap(lambda x: x.startswith('^'), cmdtable)))
+                         any(map(lambda x: x.startswith('^'), cmdtable)))
 
-            for cmd, info in cmdtable.items():
+            for cmd, info in list(cmdtable.items()):
                 if cmd.startswith('~'):
                     continue  # do not display hidden commands
                 if shortlist and not cmd.startswith('^'):
@@ -306,7 +306,7 @@ def help_(cmdtable, globalopts, scriptname):
                 hlp[cmd] = doc.strip().splitlines()[0].rstrip()
 
             hlplist = sorted(hlp)
-            maxlen = max(map(len, hlplist))
+            maxlen = max(list(map(len, hlplist)))
 
             write('usage: %s <command> [options]' % scriptname)
             write('\ncommands:\n')
@@ -449,7 +449,7 @@ def Option(opt):
 def CmdTable(cmdtable):
     '''Factory to convert option tuples in a cmdtable'''
     newtable = {}
-    for name, (func, opts, usage) in cmdtable.items():
+    for name, (func, opts, usage) in list(cmdtable.items()):
         newtable[name] = (func, [Option(o) for o in opts], usage)
     return newtable
 
@@ -499,7 +499,7 @@ class LiteralOption(BaseOption):
 
 class UnicodeOption(BaseOption):
     '''Handle unicode values, decoding input'''
-    type = unicode
+    type = str
 
     def convert(self, final):
         return decodearg(final)
@@ -508,7 +508,7 @@ class UnicodeOption(BaseOption):
 class BoolOption(BaseOption):
     '''Boolean option type.'''
     has_parameter = False
-    type = (bool, types.NoneType)
+    type = (bool, type(None))
 
     def convert(self, final):
         return bool(final)
@@ -682,7 +682,7 @@ def findpossible(cmd, table):
     '''
     pattern = '.*?'.join(list(cmd))
     choice = {}
-    for e in table.keys():
+    for e in list(table.keys()):
         aliases = aliases_(e)
         found = None
         if cmd in aliases:
@@ -706,12 +706,12 @@ def findcmd(cmd, table):
         return choice[cmd]
 
     if len(choice) > 1:
-        clist = choice.keys()
+        clist = list(choice.keys())
         clist.sort()
         raise AmbiguousCommand(cmd, clist)
 
     if choice:
-        return choice.values()[0]
+        return list(choice.values())[0]
 
     raise UnknownCommand(cmd)
 
@@ -951,7 +951,7 @@ def pretty_doc_string(item):
     if len(lines) <= 1:
         return raw_doc
     indent = len(lines[1]) - len(lines[1].lstrip())
-    return '\n'.join([lines[0]] + map(lambda l: l[indent:], lines[1:]))
+    return '\n'.join([lines[0]] + [l[indent:] for l in lines[1:]])
 
 
 def name_from_python(name):
@@ -990,12 +990,12 @@ def autocomplete(cmdtable, args, middleware):
         current = ''
 
     commands = []
-    for k in cmdtable.keys():
+    for k in list(cmdtable.keys()):
         commands += aliases_(k)
 
     # command
     if cword == 1:
-        print ' '.join(filter(lambda x: x.startswith(current), commands))
+        print(' '.join([x for x in commands if x.startswith(current)]))
 
     # command options
     elif cwords[0] in commands:
@@ -1013,9 +1013,9 @@ def autocomplete(cmdtable, args, middleware):
                 if middleware:
                     completer = middleware(completer)
                 args = completer(current)
-                print ' '.join(args),
+                print(' '.join(args), end=' ')
 
-        print ' '.join((o for o in options if o.startswith(current)))
+        print(' '.join((o for o in options if o.startswith(current))))
 
     sys.exit(1)
 
@@ -1058,7 +1058,7 @@ def completion(type=('t', 'bash', 'Completion type (ba
     '''Outputs completion script for bash or zsh.'''
 
     prog_name = os.path.split(sys.argv[0])[1]
-    print COMPLETIONS[type].strip() % prog_name
+    print(COMPLETIONS[type].strip() % prog_name)
 
 
 # --------
--- setup.py.orig	2018-10-21 19:01:07 UTC
+++ setup.py
@@ -4,10 +4,6 @@ import sys, os, re
 
 from setuptools import setup
 
-if sys.version_info[0] >= 3:
-    extra = {'use_2to3': True}
-else:
-    extra = {}
 
 def read(fname):
     return open(os.path.join(os.path.dirname(__file__), fname)).read()
@@ -46,4 +42,4 @@ setup(
         ],
     py_modules=['opster'],
     platforms='any',
-    **extra)
+    )