Skip to content

Commit 0f1a6e4

Browse files
authored
Wrap importing commands in try-catch to have Py3 compatibility (#129)
* Wrap importing commands in try-catch to have Py3 compatibility * Changes from review
1 parent 6c2564a commit 0f1a6e4

File tree

3 files changed

+39
-19
lines changed

3 files changed

+39
-19
lines changed

git-cms-cvs-history

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
#!/usr/bin/env python
2-
from commands import getstatusoutput
1+
#!/bin/bash
2+
""":"
3+
python_cmd="python"
4+
python3 -V >/dev/null 2>&1 && python_cmd="python3"
5+
exec ${python_cmd} $0 ${1+"$@"}
6+
"""
7+
try:
8+
from commands import getstatusoutput
9+
except ImportError:
10+
from subprocess import getstatusoutput
311
from optparse import OptionParser
412
from sys import exit
513
from os import environ, chdir
@@ -10,9 +18,9 @@ def format(s, **kwds):
1018
return s % kwds
1119
1220
def die(s, verbose=None):
13-
print s
21+
print(s)
1422
if verbose:
15-
print verbose
23+
print(verbose)
1624
exit(1)
1725
1826
def findSymbol(tag, package):
@@ -35,7 +43,7 @@ def findSymbol(tag, package):
3543
elif exists(join(cmssw_base, "src/.git", tagAttempt)):
3644
tag = tagAttempt
3745
else:
38-
print branchAttempt
46+
print(branchAttempt)
3947
die("Unable to find symbol %s for package %s." % (tag, realPackage))
4048
return tag
4149
@@ -95,14 +103,14 @@ if __name__ == "__main__":
95103
err, output = getstatusoutput("git diff %s..%s" % (tags[0], tags[1]))
96104
if err:
97105
die("Could not create diff", output)
98-
print output
106+
print(output)
99107
exit(0)
100108
elif command == "tags":
101109
if len(args) == 1:
102110
parser.error("Please specify a package")
103111
err, output = getstatusoutput(format("git tag | grep -e '^%(package)s' | sed -e's/^%(package)s-//'",
104112
package=package))
105-
print output
113+
print(output)
106114
exit(0)
107115
elif command == "import":
108116
tag = "master"
@@ -128,4 +136,4 @@ if __name__ == "__main__":
128136
err, output = getstatusoutput("git log refs/remotes/%s/%s" % (package, tag))
129137
if err:
130138
die("Error while doing git log", output)
131-
print output
139+
print(output)

git-cms-import-tagset

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
1-
#!/usr/bin/env python
1+
#!/bin/bash
2+
""":"
3+
python_cmd="python"
4+
python3 -V >/dev/null 2>&1 && python_cmd="python3"
5+
exec ${python_cmd} $0 ${1+"$@"}
6+
"""
27
from optparse import OptionParser
3-
from commands import getstatusoutput
8+
try:
9+
from commands import getstatusoutput
10+
except ImportError:
11+
from subprocess import getstatusoutput
12+
413
from sys import exit
514
615
def format(s, **kwds):
716
return s.encode(errors="ignore") % kwds
817
918
def die(*out):
1019
for x in out:
11-
print x
20+
print (x)
1221
exit(1)
1322
1423
if __name__ == "__main__":
@@ -34,16 +43,16 @@ if __name__ == "__main__":
3443
for tagset in args:
3544
err, out = getstatusoutput("cmstc tagset %s" % tagset)
3645
pairs = [[y for y in x.split(" ") if y] for x in out.strip().split("\n")]
37-
print pairs
46+
print(pairs)
3847
getstatusoutput("rm -rf $CMSSW_BASE/src")
3948
for (pkg, tag) in pairs:
40-
print pkg, tag
49+
print(pkg, tag)
4150
err, out = getstatusoutput(format("set -e ; git cms-addpkg %(pkg)s; cd $CMSSW_BASE/src; cvs rdiff -r CMSSW_6_2_0_pre8 -r %(tag)s %(pkg)s | patch -p1",
4251
pkg=pkg,
4352
tag=tag))
4453
if err:
4554
die("Error while executing command", out)
46-
print out
55+
print(out)
4756
err, out = getstatusoutput(format("set -e ; cd $CMSSW_BASE/src ; git add -A . ; git commit -m \"`cmstc tagsetinfo %(tagset)s | grep -A100 -e'Description:' | grep -v -e '^Description:'`\"",
4857
tagset=tagset))
4958
if err:
@@ -58,18 +67,18 @@ if __name__ == "__main__":
5867
strategy=opts.strategy,
5968
strategyOption=opts.strategyOption,
6069
merge=opts.merge)
61-
print command
70+
print(command)
6271
err, out = getstatusoutput(command)
6372
if err:
6473
die("Error while rebasing", out)
65-
print out
74+
print(out)
6675
if opts.dryRun:
6776
err, out = getstatusoutput("cd $CMSSW_BASE/src ; git show")
6877
if err:
6978
die("Error while doing git show", out)
70-
print out
79+
print(out)
7180
exit(0)
7281
err, out = getstatusoutput(format("cd $CMSSW_BASE/src ; git push my-cmssw -f HEAD:tagset-%s" % tagset))
7382
if err:
7483
die("Error while pushing to your repository", out)
75-
print out
84+
print(out)

git-cms-showtags

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ exec ${python_cmd} $0 ${1+"$@"}
77
"""
88
99
from optparse import OptionParser
10-
from commands import getstatusoutput
10+
try:
11+
from commands import getstatusoutput
12+
except ImportError:
13+
from subprocess import getstatusoutput
1114
from os import environ
1215
from os.path import join, exists
1316
from sys import exit

0 commit comments

Comments
 (0)