All pastes #837701 Raw Edit

Mine

public python v1 · immutable
#837701 ·published 2007-12-29 21:26 UTC
rendered paste body
#!/usr/bin/env pythonimport pygtkimport gtkimport gobjectimport commandsimport sysimport osimport redef err(msg):  print msg  sys.exit(1)def usage():  print '''Usage: changevol [options] [number]Options:  -i, --increase  increase volume by `number'  -d, --decrease  decrease volume by `number'  -t, --toggle    toggle mute on and off  -h, --help      display this help messageNote:  `number' won't be exact due to amixer oddities'''  sys.exit(0)class GetVolInfo():  def __init__(self, command):    self.amixeroutput = commands.getoutput(command)    if re.compile("off]$", re.M).search(self.amixeroutput, 1):      self.realvol = "0"    else:      self.tempvolarray1 = self.amixeroutput.split("[")      self.tempvolarray2 = self.tempvolarray1[1].split("%")      self.realvol = self.tempvolarray2[0]    self.percent = float(self.realvol)/100    self.label = "Volume " + self.realvol + " %"class ProgressBar:    def timeout_callback(self):    gtk.main_quit()    return False  def __init__(self, fraction, label):    self.window = gtk.Window(gtk.WINDOW_POPUP)    self.window.set_border_width(3)    self.window.set_default_size(180, -1)    self.window.set_position(gtk.WIN_POS_CENTER)    timer = gobject.timeout_add(1000, self.timeout_callback)    self.bar = gtk.ProgressBar()    self.bar.set_fraction(fraction)    self.bar.set_orientation(gtk.PROGRESS_LEFT_TO_RIGHT)    self.bar.set_text(label)    self.bar.show()    self.window.add(self.bar)    self.window.show()#Run through parameters, set variables and suchif (len(sys.argv) < 2) or (sys.argv[1] == '-h') or (sys.argv[1] == '--help'):  usage()else:  OPTION = sys.argv[1]if (len(sys.argv) > 2):  NUMBER = sys.argv[2]if (OPTION == '-i') or (OPTION == '--increase'):  command = "amixer set Master " + NUMBER + "%+"elif (OPTION == '-d') or (OPTION == '--decrease'):  command = "amixer set Master " + NUMBER + "%-"elif (OPTION == '-t') or (OPTION == '--toggle'):  command = "amixer sset Master toggle"else:  err("Option not recognized, see changevol --help.")#Executionvolume = GetVolInfo(command)ProgressBar(volume.percent, volume.label)gtk.main()