Applications

  Plugins

About

Applications (in Repo)

Plugins (in Repo)

Documentation

  Chat

  Forum

  Songs

Powered by GeSHi
Home KXStudio > Paste

  1.  
  2. class CadenceSystemCheck(object):
  3.     ICON_ERROR = 0
  4.     ICON_WARN  = 1
  5.     ICON_OK    = 2
  6.  
  7.     def __init__(self):
  8.         object.__init__(self)
  9.  
  10.         self.name   = self.tr("check")
  11.         self.icon   = self.ICON_OK
  12.         self.result = self.tr("yes")
  13.  
  14.         self.moreInfo = self.tr("nothing to report")
  15.  
  16.     def tr(self, text):
  17.         return app.translate("CadenceSystemCheck", text)
  18.  
  19. class CadenceSystemCheck_audioGroup(CadenceSystemCheck):
  20.     def __init__(self):
  21.         CadenceSystemCheck.__init__(self)
  22.  
  23.         self.name = self.tr("User in audio group")
  24.  
  25.         user   = getoutput("whoami").strip()
  26.         groups = getoutput("groups").strip().split(" ")
  27.  
  28.         if "audio" in groups:
  29.             self.icon     = self.ICON_OK
  30.             self.result   = self.tr("Yes")
  31.             self.moreInfo = None
  32.  
  33.         else:
  34.             fd = open("/etc/group", "r")
  35.             groupRead = fd.read().strip().split("\n")
  36.             fd.close()
  37.  
  38.             onAudioGroup = False
  39.             for lineRead in groupRead:
  40.                 if lineRead.startswith("audio:"):
  41.                     groups = lineRead.split(":")[-1].split(",")
  42.                     if user in groups:
  43.                         onAudioGroup = True
  44.                     break
  45.  
  46.             if onAudioGroup:
  47.                 self.icon     = self.ICON_WARN
  48.                 self.result   = self.tr("Yes, but needs relogin")
  49.                 self.moreInfo = None
  50.             else:
  51.                 self.icon     = self.ICON_ERROR
  52.                 self.result   = self.tr("No")
  53.                 self.moreInfo = None
  54.  
  55. class CadenceSystemCheck_kernel(CadenceSystemCheck):
  56.     def __init__(self):
  57.         CadenceSystemCheck.__init__(self)
  58.  
  59.         self.name = self.tr("Current kernel")
  60.  
  61.         uname3 = os.uname()[2]
  62.  
  63.         versionInt   = []
  64.         versionStr   = uname3.split("-",1)[0]
  65.         versionSplit = versionStr.split(".")
  66.  
  67.         for split in versionSplit:
  68.             if split.isdigit():
  69.                 versionInt.append(int(split))
  70.             else:
  71.                 versionInt = [0, 0, 0]
  72.                 break
  73.  
  74.         self.result = versionStr + " "
  75.  
  76.         if "-" not in uname3:
  77.             self.icon     = self.ICON_WARN
  78.             self.result  += self.tr("Vanilla")
  79.             self.moreInfo = None
  80.  
  81.         else:
  82.             if uname3.endswith("-pae"):
  83.                 kernelType   = uname3.split("-")[-2].lower()
  84.                 self.result += kernelType.title() + " (PAE)"
  85.             else:
  86.                 kernelType   = uname3.split("-")[-1].lower()
  87.                 self.result += kernelType.title()
  88.  
  89.             if kernelType in ("rt", "realtime") or (kernelType == "lowlatency" and versionInt >= [2, 6, 39]):
  90.                 self.icon     = self.ICON_OK
  91.                 self.moreInfo = None
  92.             elif versionInt >= [2, 6, 39]:
  93.                 self.icon     = self.ICON_WARN
  94.                 self.moreInfo = None
  95.             else:
  96.                 self.icon     = self.ICON_ERROR
  97.                 self.moreInfo = None
  98.