1
- #!/usr/bin/python2
1
+ #!/usr/bin/python3
2
2
"""View the output from osg-system-profiler in a structured way"""
3
3
4
- from Tkinter import *
5
- import ScrolledText
4
+ from tkinter import *
5
+ import tkinter . scrolledtext
6
6
import os
7
7
import re
8
8
import subprocess
9
9
import sys
10
- import urllib2
11
- import tkFont
10
+ import urllib . request , urllib . error , urllib . parse
11
+ import tkinter . font
12
12
13
13
14
14
@@ -70,20 +70,20 @@ def load_pdata_from_file(filename):
70
70
return load_pdata_from_handle (fh )
71
71
finally :
72
72
fh .close ()
73
- except IOError , e :
74
- print >> sys . stderr , "Error reading file %s: %s" % (filename , e .strerror )
73
+ except IOError as e :
74
+ print ( "Error reading file %s: %s" % (filename , e .strerror ), file = sys . stderr )
75
75
sys .exit (1 )
76
76
77
77
78
78
def load_pdata_from_url (url ):
79
79
try :
80
- urlhandle = urllib2 .urlopen (url )
80
+ urlhandle = urllib . request .urlopen (url )
81
81
try :
82
82
return load_pdata_from_handle (urlhandle )
83
83
finally :
84
84
urlhandle .close ()
85
- except urllib2 . URLError , e :
86
- print >> sys . stderr , "Error reading URL %s: %s" % (url , e .strerror )
85
+ except urllib . error . URLError as e :
86
+ print ( "Error reading URL %s: %s" % (url , e .strerror ), file = sys . stderr )
87
87
sys .exit (1 )
88
88
89
89
@@ -99,7 +99,7 @@ def get_installed_versions(profile, script=None):
99
99
try :
100
100
proc = subprocess .Popen (cmd , stdout = subprocess .PIPE , env = env )
101
101
output = proc .communicate ()[0 ]
102
- except OSError , err :
102
+ except OSError as err :
103
103
return Section ('Error getting installed versions' , str (err ))
104
104
if output :
105
105
return Section ('Installed versions' , output )
@@ -115,8 +115,8 @@ class Application(Frame):
115
115
Frame .__init__ (self , master )
116
116
self .pack (fill = BOTH , expand = True )
117
117
118
- self .font = tkFont .Font (family = 'Sans' , size = 12 )
119
- self .textfont = tkFont .Font (family = 'Monospace' , size = 12 )
118
+ self .font = tkinter . font .Font (family = 'Sans' , size = 12 )
119
+ self .textfont = tkinter . font .Font (family = 'Monospace' , size = 12 )
120
120
121
121
self .top = Frame (self )
122
122
self .top .pack (side = TOP , fill = X )
@@ -137,7 +137,7 @@ class Application(Frame):
137
137
self .label = Label (self .top , text = "" , font = self .font )
138
138
self .label .pack (side = LEFT , fill = X )
139
139
140
- self .text = ScrolledText .ScrolledText (self .bot , font = self .textfont )
140
+ self .text = tkinter . scrolledtext .ScrolledText (self .bot , font = self .textfont )
141
141
self .text .pack (side = RIGHT , fill = BOTH , expand = True )
142
142
143
143
self .pdata = pdata
@@ -177,8 +177,8 @@ class Application(Frame):
177
177
178
178
def main ():
179
179
if len (sys .argv ) < 2 :
180
- print "Usage: %s <FILENAME OR URL>" % sys .argv [0 ]
181
- print "View the output of osg-system-profiler"
180
+ print ( "Usage: %s <FILENAME OR URL>" % sys .argv [0 ])
181
+ print ( "View the output of osg-system-profiler" )
182
182
sys .exit (2 )
183
183
profile = sys .argv [1 ]
184
184
if '://' not in profile :
0 commit comments