updated examples to python 3
This commit is contained in:
		
							parent
							
								
									259f902f75
								
							
						
					
					
						commit
						970bb33b46
					
				| @ -28,7 +28,7 @@ First workingish version | ||||
| """ | ||||
| usage = """pywmdatetime.py [options] | ||||
| Available options are: | ||||
| -h, --help                      print this help | ||||
| -h, --help                       asprint this help | ||||
| -f, --foreground <color>        set the foreground color | ||||
| -b, --background <color>        set the background color | ||||
| -F, --font <file>               set the font name | ||||
| @ -69,7 +69,7 @@ def addString(s, x, y): | ||||
|     try: | ||||
|         wmdocklib.addString(s, x, y, xOffset, yOffset, | ||||
|                           width, height) | ||||
|     except ValueError, e: | ||||
|     except ValueError as e: | ||||
|         sys.stderr.write('Error when painting string:\n' + str(e) + '\n') | ||||
|         sys.stderr.write('test %s' % ((s, x, y, xOffset, yOffset, | ||||
|                                       width, height),)) | ||||
| @ -119,7 +119,7 @@ def parseCommandLine(argv): | ||||
|              'weekdayformat=', 'weekformat=', 'rgbfile=', 'configfile=', 'font='] | ||||
|     try: | ||||
|         opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs) | ||||
|     except getopt.GetoptError, e: | ||||
|     except getopt.GetoptError as e: | ||||
|         sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n') | ||||
|         sys.stderr.write(usage) | ||||
|         sys.exit(2) | ||||
| @ -247,7 +247,7 @@ def main(): | ||||
|     # Merge the two configs, let the commandline options overwrite those in the | ||||
|     # configuration file. | ||||
|     config = fileConfig | ||||
|     for i in clConfig.iteritems(): | ||||
|     for i in clConfig.items(): | ||||
|         config[i[0]] = i[1] | ||||
| 
 | ||||
|     timeFmt = config.get('timeformat', timeDefaultFormat) | ||||
| @ -282,7 +282,7 @@ def main(): | ||||
|                                                    bg=0, fg=2, palette=palette, | ||||
|                                                    background=background, | ||||
|                                                    debug=debug) | ||||
|     maxCharsPerLine = (width-2*xOffset) / char_width | ||||
|     maxCharsPerLine = (width-2*xOffset) // char_width | ||||
|     antialiased = clConfig.get('antialiased', False) | ||||
| 
 | ||||
|     wmdocklib.openXwindow(sys.argv, width, height) | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| #!/usr/bin/env python | ||||
| #!/usr/bin/env python3 | ||||
| # -*- coding: utf-8 -*- | ||||
| """pywmgeneric.py | ||||
| 
 | ||||
| @ -37,11 +37,13 @@ import sys | ||||
| import os | ||||
| import time | ||||
| import string | ||||
| import ConfigParser | ||||
| import configparser | ||||
| import getopt | ||||
| import popen2 | ||||
| import subprocess | ||||
| 
 | ||||
| import wmdocklib | ||||
| import wmdocklib.pywmgeneral as pywmgeneral | ||||
| import wmdocklib.pywmhelpers as pywmhelpers | ||||
| 
 | ||||
| prevStat = {'user':0, | ||||
|             'nice':0, | ||||
| @ -76,15 +78,13 @@ class UserMethods: | ||||
|         def result(): | ||||
|             global prevStat | ||||
|             try: | ||||
|                 f = file('/proc/stat', 'r') | ||||
|             except IOError: | ||||
|                 return 'error' | ||||
| 
 | ||||
|                 with open('/proc/stat', 'r') as f: | ||||
|                     currStat = dict( | ||||
|                         [(k, int(v)) | ||||
|                          for (k,v) in cpuinfo.match(f.readline()).groupdict().items()] | ||||
|                         ) | ||||
|             f.close() | ||||
|             except IOError: | ||||
|                 return 'error' | ||||
| 
 | ||||
|             total = 0 | ||||
|             for k,v in currStat.items(): | ||||
| @ -105,11 +105,10 @@ class UserMethods: | ||||
| 
 | ||||
|     def getSysTemp(self): | ||||
|         try: | ||||
|             f = file('/proc/sys/dev/sensors/w83697hf-isa-0290/temp1', 'r') | ||||
|             with open('/proc/sys/dev/sensors/w83697hf-isa-0290/temp1', 'r') as f: | ||||
|                 temp = f.readline().split()[2] | ||||
|         except IOError: | ||||
|             return lambda: 'error' | ||||
|         temp = f.readline().split()[2] | ||||
|         f.close() | ||||
|         return lambda: 'sys: %s' % temp | ||||
| 
 | ||||
|     def ls(self): | ||||
| @ -153,8 +152,8 @@ def addString(s, x, y): | ||||
|     try: | ||||
|         wmdocklib.addString(s, x, y, xOffset, yOffset, | ||||
|                             width, height) | ||||
|     except ValueError, e: | ||||
|         sys.stderr.write('Error when painting string:\n' + str(e) + '\n') | ||||
|     except ValueError as e: | ||||
|         sys.stderr.write(f'Error when painting string:\n{e}\n') | ||||
|         sys.exit(3) | ||||
| 
 | ||||
| def clearLine(y): | ||||
| @ -194,7 +193,7 @@ class Entry: | ||||
| 
 | ||||
|         self._glue = ' ... ' | ||||
|         self._scrollPos = 0 | ||||
|         self._tickCount = 0L | ||||
|         self._tickCount = 0 | ||||
| 
 | ||||
|         self._runningProcs = [] | ||||
|         self._actionProc = None | ||||
| @ -220,7 +219,7 @@ class Entry: | ||||
|         """Exec an external command in the background. | ||||
|          | ||||
|         Return the running process as created by Popen3().""" | ||||
|         proc = popen2.Popen3(command) | ||||
|         proc = subprocess.Popen(command) | ||||
|         self._runningProcs.append(proc) | ||||
|         return proc | ||||
| 
 | ||||
| @ -480,7 +479,7 @@ class PywmGeneric: | ||||
|                 timeNum = float(timeStr[:-1].strip()) | ||||
|                 numSecs = timeNum * multiplier | ||||
|                 return numSecs | ||||
|         raise ValueError, 'Invalid literal' | ||||
|         raise ValueError('Invalid literal') | ||||
| 
 | ||||
|     def _checkForEvents(self): | ||||
|         event = wmdocklib.getEvent() | ||||
| @ -517,7 +516,7 @@ def parseCommandLine(argv): | ||||
|              'font=', 'debug'] | ||||
|     try: | ||||
|         opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs) | ||||
|     except getopt.GetoptError, e: | ||||
|     except getopt.GetoptError as e: | ||||
|         err('Error when parsing commandline: ' + str(e) + '\n') | ||||
|         err(usage) | ||||
|         sys.exit(2) | ||||
| @ -551,10 +550,10 @@ def readConfigFile(fileName): | ||||
|         err("Can't read the configuration file %s.\n" % fileName) | ||||
|         # We can't do much without a configuration file | ||||
|         sys.exit(3) | ||||
|     cp = ConfigParser.ConfigParser() | ||||
|     cp = configparser.ConfigParser() | ||||
|     try: | ||||
|         cp.read(fileName) | ||||
|     except ConfigParser.Error, e: | ||||
|     except configparser.Error as e: | ||||
|         err("Error when reading configuration file:\n%s\n" % str(e)) | ||||
|         sys.exit(3) | ||||
|     l = [{}, {}, {}, {}, {}] | ||||
|  | ||||
| @ -89,7 +89,7 @@ class PywmHDMon: | ||||
|         self._pathsToMonitor = pathsToMonitor | ||||
|         self._actMonEnabled = actMonEnabled | ||||
|         self._skipping = skipping | ||||
|         self._lineCount = (height - yOffset*2 - 2) / (char_height+1) | ||||
|         self._lineCount = (height - yOffset*2 - 2) // (char_height+1) | ||||
| 
 | ||||
|         self._statFile = procStat | ||||
|         self._maxIODiff = 0 | ||||
| @ -102,7 +102,7 @@ class PywmHDMon: | ||||
|     def addString(self, s, x, y): | ||||
|         try: | ||||
|             wmdocklib.addString(s, x, y, xOffset, yOffset, width, height) | ||||
|         except ValueError, e: | ||||
|         except ValueError as e: | ||||
|             sys.stderr.write('Error when painting string:\n' + str(e) + '\n') | ||||
|             sys.exit(3) | ||||
| 
 | ||||
| @ -116,7 +116,7 @@ class PywmHDMon: | ||||
|         """ | ||||
|          | ||||
|         # check if is mounted <- st_dev(/mount/point) == st_dev(/mount) | ||||
|         if path is not '/': | ||||
|         if path != '/': | ||||
|             statOwn = os.stat(path) | ||||
| 
 | ||||
|             # the following is a bit ugly: it removes the trailing | ||||
| @ -151,7 +151,7 @@ class PywmHDMon: | ||||
| 
 | ||||
|     def getY(self, line): | ||||
|         "returns the y coordinate of the top line for the box" | ||||
|         interlinea = (height - yOffset*2 - 2 - self._lineCount * char_height) / (self._lineCount-1) | ||||
|         interlinea = (height - yOffset*2 - 2 - self._lineCount * char_height) // (self._lineCount-1) | ||||
|         interlinea += char_height | ||||
|         lastBaseline = yOffset + self._lineCount * interlinea | ||||
|         from math import ceil | ||||
| @ -163,7 +163,7 @@ class PywmHDMon: | ||||
| 
 | ||||
|     def paintHdData(self, line, data, mode): | ||||
|         total, free = data | ||||
|         xStart = (width*2)/5 | ||||
|         xStart = (width*2)//5 | ||||
|         if total==0: | ||||
|             self.addString('     ', width-yOffset*2-5*char_width-1, self.getY(line)) | ||||
|             self.paintGraph(0, xStart, self.getY(line) + 4,  | ||||
| @ -244,7 +244,7 @@ class PywmHDMon: | ||||
|                 sys.exit(0) | ||||
|             elif event['type'] == 'buttonrelease': | ||||
|                 area = wmdocklib.checkMouseRegion(event['x'],event['y']) | ||||
|                 if area is not -1: | ||||
|                 if area != -1: | ||||
|                     self.toggleMount(area-1+self._skipping) | ||||
|             event = wmdocklib.getEvent() | ||||
| 
 | ||||
| @ -257,7 +257,7 @@ class PywmHDMon: | ||||
|             mounted = True | ||||
|         except NotMounted: | ||||
|             mounted = False | ||||
|         except OSError, e: | ||||
|         except OSError as e: | ||||
|             return | ||||
|         if mounted: | ||||
|             if action == 'mount': | ||||
| @ -282,7 +282,7 @@ class PywmHDMon: | ||||
|                     hdData = self.getHdInfo(path) | ||||
|                 except NotMounted: | ||||
|                     hdData = (0, 0) | ||||
|                 except OSError, e: | ||||
|                 except OSError as e: | ||||
|                     sys.stderr.write( | ||||
|                     "Can't get hd data from %s: %s\n" % (path, str(e))) | ||||
|                     hdData = (0, 0) | ||||
| @ -313,7 +313,7 @@ def parseCommandLine(argv): | ||||
|              'skipconf=','font=', 'debug'] | ||||
|     try: | ||||
|         opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs) | ||||
|     except getopt.GetoptError, e: | ||||
|     except getopt.GetoptError as e: | ||||
|         sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n') | ||||
|         sys.stderr.write(usage) | ||||
|         sys.exit(2) | ||||
| @ -406,7 +406,7 @@ def main(): | ||||
|     configFile = os.path.expanduser(configFile) | ||||
|     fileConfig = wmdocklib.readConfigFile(configFile, sys.stderr) | ||||
|     config = fileConfig | ||||
|     for i in clConfig.iteritems(): | ||||
|     for i in clConfig.items(): | ||||
|         config[i[0]] = i[1] | ||||
| 
 | ||||
|     palette = {} | ||||
|  | ||||
| @ -10,8 +10,7 @@ Licensed under the GNU General Public License. | ||||
| """ | ||||
| 
 | ||||
| import sys, time | ||||
| from wmdocklib import wmoo | ||||
| devnull = file('/dev/null') | ||||
| from wmdocklib import wmoo as wmoo | ||||
| 
 | ||||
| class Application(wmoo.Application): | ||||
| 
 | ||||
| @ -58,7 +57,7 @@ class Application(wmoo.Application): | ||||
| 
 | ||||
|     def handler(self, num, frame): | ||||
|         if self._expectdying: | ||||
|             print self._expectdying | ||||
|             print(self._expectdying) | ||||
|             self._expectdying -= 1 | ||||
|         else: | ||||
|             self.reset() | ||||
| @ -74,7 +73,7 @@ class Application(wmoo.Application): | ||||
|         self.child = subprocess.Popen(commandline, | ||||
|                                       stdin =subprocess.PIPE, | ||||
|                                       stdout=subprocess.PIPE, | ||||
|                                       stderr=devnull) | ||||
|                                       stderr=subprocess.DEVNULL) | ||||
|         signal.signal(signal.SIGCHLD, self.handler) | ||||
|         self._flash = 0 | ||||
|         self._paused = False | ||||
| @ -89,19 +88,19 @@ class Application(wmoo.Application): | ||||
| 
 | ||||
|     def stopPlayer(self): | ||||
|         if self.child: | ||||
|             print self._expectdying | ||||
|             self.child.stdin.write('q') | ||||
|             print(self._expectdying) | ||||
|             self.child.stdin.write(b'q') | ||||
|             self._expectdying += 1 | ||||
|             self.child = None | ||||
| 
 | ||||
|     def muteStream(self, event): | ||||
|         if self.child and self._buffering == 0: | ||||
|             self.child.stdin.write('m') | ||||
|             self.child.stdin.write(b'm') | ||||
|             self.putPattern(9*self._muting, 0, 9, 11, 30, 29) | ||||
|             self._muting = 1 - self._muting | ||||
| 
 | ||||
|     def printevent(self, event): | ||||
|         print event | ||||
|         print(event) | ||||
| 
 | ||||
|     def previousRadio(self, event): | ||||
|         if self.currentRadio == 0: self.currentRadio = len(self.radioList) | ||||
| @ -128,7 +127,7 @@ class Application(wmoo.Application): | ||||
| 
 | ||||
|     def pauseStream(self, event): | ||||
|         if self.child and not self._buffering: | ||||
|             self.child.stdin.write(' ') | ||||
|             self.child.stdin.write(b' ') | ||||
|             self._paused = not self._paused | ||||
|             if self._paused: | ||||
|                 self._colour = 1 | ||||
| @ -167,7 +166,7 @@ class Application(wmoo.Application): | ||||
|             import select | ||||
|             [i, o, e] = select.select([self.child.stdout], [], [], 0) | ||||
|             if i: | ||||
|                 line = self.child.stdout.read(102400) | ||||
|                 line = self.child.stdout.read(102400).decode("utf-8") | ||||
|                 self._buffered += line | ||||
|                 npos = self._buffered.rfind('\n')+1 | ||||
|                 rpos = self._buffered.rfind('\r')+1 | ||||
|  | ||||
| @ -85,7 +85,7 @@ class PywmSeti: | ||||
|         try: | ||||
|             wmdocklib.addString(s, x, y, digits, | ||||
|                         xOffset, yOffset, width, height) | ||||
|         except ValueError, e: | ||||
|         except ValueError as e: | ||||
|             sys.stderr.write('Error when painting string:\n' + str(e) + '\n') | ||||
|             sys.exit(3) | ||||
| 
 | ||||
| @ -137,7 +137,7 @@ class PywmSeti: | ||||
|         """ | ||||
|         try: | ||||
|             os.kill(pid, 0) | ||||
|         except OSError, e: | ||||
|         except OSError as e: | ||||
|             if e.errno == 1: | ||||
|                 return -1 | ||||
|             return 0 | ||||
| @ -146,7 +146,7 @@ class PywmSeti: | ||||
|     def openFileRead(self, fileName): | ||||
|         try: | ||||
|             f = file(fileName, 'r') | ||||
|         except IOError, e: | ||||
|         except IOError as e: | ||||
|             sys.stderr.write('Error when opening %s: %s\n' % (fileName, str(e))) | ||||
|             return None | ||||
|         return f | ||||
| @ -265,7 +265,7 @@ class PywmSeti: | ||||
|                 if self._running: | ||||
|                     try: | ||||
|                         os.kill(self._pid, 15) | ||||
|                     except OSError, e: | ||||
|                     except OSError as e: | ||||
|                         sys.stderr.write( | ||||
|                             "Error when ending process: "+str(e)+'\n') | ||||
|                 else: | ||||
| @ -309,7 +309,7 @@ def parseCommandLine(argv): | ||||
|              'indicatorcolor='] | ||||
|     try: | ||||
|         opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs) | ||||
|     except getopt.GetoptError, e: | ||||
|     except getopt.GetoptError as e: | ||||
|         sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n') | ||||
|         sys.stderr.write(usage) | ||||
|         sys.exit(2) | ||||
| @ -459,7 +459,7 @@ def main(): | ||||
|     # Merge the two configs, let the commandline options overwrite those in the | ||||
|     # configuration file. | ||||
|     config = fileConfig | ||||
|     for i in clConfig.iteritems(): | ||||
|     for i in clConfig.items(): | ||||
|         config[i[0]] = i[1] | ||||
|     # Get the configurations | ||||
|     setiDir = config.get('setidir') | ||||
| @ -472,7 +472,7 @@ def main(): | ||||
|     setiDir = os.path.expanduser(setiDir) | ||||
|     try: | ||||
|         os.chdir(setiDir) | ||||
|     except OSError, e: | ||||
|     except OSError as e: | ||||
|         sys.stderr.write('Error when accessing seti directory: %s\n' % str(e)) | ||||
|         sys.exit(4) | ||||
|     statePath = os.path.join(setiDir, stateFileName) | ||||
|  | ||||
| @ -95,8 +95,8 @@ class PywmSysMon: | ||||
|         Return a tuple with (total_mem, used_mem, buffered_mem, cached_mem). | ||||
|         """ | ||||
|         try: | ||||
|             meminfoFile = file(self._procMeminfo, 'r') | ||||
|         except IOError, e: | ||||
|             meminfoFile = open(self._procMeminfo, 'r') | ||||
|         except IOError as e: | ||||
|             sys.stderr.write("Can't open meminfo file: %s.\n" % str(e)) | ||||
|             sys.exit(2) | ||||
|         total = used = free = shared = buffers = cached = theLine = None | ||||
| @ -105,17 +105,17 @@ class PywmSysMon: | ||||
|                 theLine = line | ||||
|                 break | ||||
|             if line.startswith('MemTotal:'): | ||||
|                 total = long(line.split()[1]) | ||||
|                 total = int(line.split()[1]) | ||||
|             if line.startswith('MemFree:'): | ||||
|                 free = long(line.split()[1]) | ||||
|                 free = int(line.split()[1]) | ||||
|             if line.startswith('Buffers:'): | ||||
|                 buffers = long(line.split()[1]) | ||||
|                 buffers = int(line.split()[1]) | ||||
|             if line.startswith('Cached:'): | ||||
|                 cached = long(line.split()[1]) | ||||
|                 cached = int(line.split()[1]) | ||||
|         if free and total: | ||||
|             used = total - free | ||||
|         if theLine is not None: | ||||
|             parts = [long(x) for x in theLine.split()[1]] | ||||
|             parts = [int(x) for x in theLine.split()[1]] | ||||
|             total, used, free, shared, buffers, cached = parts[:6] | ||||
|         if None in [total, used, buffers, cached]: | ||||
|             sys.stderr.write("Can't find memory information in %s.\n" %  | ||||
| @ -138,13 +138,13 @@ class PywmSysMon: | ||||
|         file. Return the usage in percent. | ||||
|         """ | ||||
|         try: | ||||
|             statFile = file(self._procStat, 'r') | ||||
|         except IOError, e: | ||||
|             statFile = open(self._procStat, 'r') | ||||
|         except IOError as e: | ||||
|             sys.stderr.write("Can't open statfile: %s.\n" % str(e)) | ||||
|             sys.exit(2) | ||||
|         line = statFile.readline() | ||||
|         statFile.close() | ||||
|         cpu, nice, system, idle = [long(x) for x in line.split()[1:]][:4] | ||||
|         cpu, nice, system, idle = [int(x) for x in line.split()[1:]][:4] | ||||
|         used = cpu + system | ||||
|         if not self._ignoreNice: | ||||
|             used += nice | ||||
| @ -161,7 +161,7 @@ class PywmSysMon: | ||||
|     def addString(self, s, x, y): | ||||
|         try: | ||||
|             wmdocklib.addString(s, x, y, digits, xOffset, yOffset, width, height) | ||||
|         except ValueError, e: | ||||
|         except ValueError as e: | ||||
|             sys.stderr.write('Error when painting string:\n' + str(e) + '\n') | ||||
|             sys.exit(3) | ||||
| 
 | ||||
| @ -244,7 +244,7 @@ def parseCommandLine(argv): | ||||
|              'procmeminfo=', 'ignorenice', 'updatedelay='] | ||||
|     try: | ||||
|         opts, nonOptArgs = getopt.getopt(argv[1:], shorts, longs) | ||||
|     except getopt.GetoptError, e: | ||||
|     except getopt.GetoptError as e: | ||||
|         sys.stderr.write('Error when parsing commandline: ' + str(e) + '\n') | ||||
|         sys.stderr.write(usage) | ||||
|         sys.exit(2) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user