def __init__(self): QMainWindow.__init__(self) global tipus self.avisa = True # avisa la sortida self.ui_cadi = Ui_Form() self.ui_cadi.setupUi(self) self.ui_cadi.label_3.setVisible(False) self.ui_cadi.label_11.setVisible(False) self.ui_cadi.b_root.setVisible(False) ############# #### PC INFO ############# # Get PC info & put on info labels kernel = funcions_k.versiokernel() versiokademar = funcions_k.versiokademar() tipuskademar = funcions_k.tipuskademar() cpu = getoutput(""" grep 'cpu MHz' /proc/cpuinfo | awk '{ print $4 }' """) cpuinfo = getoutput(" cat /proc/cpuinfo | grep 'model name' ") ram = getoutput(""" grep 'MemTotal' /proc/meminfo | awk '{ print $2 }' """) hostname = getoutput("hostname -f") logedusers = getoutput("users") numlogedusers = len(logedusers.split(" ")) self.ui_cadi.l_kdm.setText("kademar") self.ui_cadi.l_kern.setText(kernel) self.ui_cadi.l_ver.setText(versiokademar) self.ui_cadi.l_tipu.setText(tipuskademar) self.ui_cadi.l_cpu.setText(cpu.split("\n")[0] + " Mhz") self.ui_cadi.l_cpuinfo.setText(cpuinfo) self.ui_cadi.l_ram.setText(ram + " Mb") self.ui_cadi.l_host.setText(hostname) if not funcions_k.instalat(): for i in [self.ui_cadi.b_users, self.ui_cadi.b_language]: i.setVisible(0) ############# #### END PC INFO ############# # Ponemos el splash self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_principal) self.path = "/usr/share/kademar/utils/cadi" ##### Signals & Slots ##### self.connect(self.ui_cadi.b_sortir, SIGNAL("clicked()"), self.close) self.connect(self.ui_cadi.b_root, SIGNAL("clicked()"), self.boto_root) # Software self.connect(self.ui_cadi.b_software, SIGNAL("clicked()"), self.boto_software) # Hardware self.connect(self.ui_cadi.b_hardware, SIGNAL("clicked()"), self.boto_hardware) # Xarxa self.connect(self.ui_cadi.b_xarxa, SIGNAL("clicked()"), self.boto_xarxa) # Sistema self.connect(self.ui_cadi.b_sistema, SIGNAL("clicked()"), self.boto_sistema) # SOFTWARE # Boto Preferencies del sistema self.connect(self.ui_cadi.b_preferencies_sistema, SIGNAL("clicked()"), self.boto_preferencies) ##Synaptic self.connect(self.ui_cadi.b_synaptic, SIGNAL("clicked()"), self.boto_synaptic) # HARDWARE # Impressores self.connect(self.ui_cadi.b_impressores, SIGNAL("clicked()"), self.boto_impressores) # Bluetooth self.connect(self.ui_cadi.b_bluetooth, SIGNAL("clicked()"), self.boto_bluetooth) # Teclats Multimedia self.connect(self.ui_cadi.b_teclats_multimedia, SIGNAL("clicked()"), self.boto_teclats_multimedia) # Kinfocenter self.connect(self.ui_cadi.b_kinfocenter, SIGNAL("clicked()"), self.boto_kinfocenter) # Ndiswrapper self.connect(self.ui_cadi.b_ndiswrapper, SIGNAL("clicked()"), self.boto_ndiswrapper) # XARXA # Internet & Conectivity Module self.connect(self.ui_cadi.b_internet, SIGNAL("clicked()"), self.boto_internet) # Modem self.connect(self.ui_cadi.b_modem, SIGNAL("clicked()"), self.boto_modem) # ADSL/PPPoE self.connect(self.ui_cadi.b_pppoe, SIGNAL("clicked()"), self.boto_pppoe) # GPRS self.connect(self.ui_cadi.b_gprs, SIGNAL("clicked()"), self.boto_gprs) # SYSTEM # Display self.connect(self.ui_cadi.b_display_configuration, SIGNAL("clicked()"), self.boto_display_configuration) # Users self.connect(self.ui_cadi.b_users, SIGNAL("clicked()"), self.boto_users) # Services self.connect(self.ui_cadi.b_services, SIGNAL("clicked()"), self.boto_services) # Language self.connect(self.ui_cadi.b_language, SIGNAL("clicked()"), self.boto_language) # Grub self.connect(self.ui_cadi.b_grub, SIGNAL("clicked()"), self.boto_grub) #### END Signals & Slots #### self.modules = [ ("preferences", self.boto_preferencies), ("synaptic", self.boto_synaptic), ("printer", self.boto_impressores), ("bluetooth", self.boto_bluetooth), ("kboardmmedia", self.boto_teclats_multimedia), ("kinfocenter", self.boto_kinfocenter), ("ndiswrapper", self.boto_ndiswrapper), ("internet", self.boto_internet), ("modem", self.boto_modem), ("pppoe", self.boto_pppoe), ("gprs", self.boto_gprs), ("display", self.boto_display_configuration), ("users", self.boto_users), ("services", self.boto_services), ("language", self.boto_language), ("grub", self.boto_grub), ] self.tabs = [ ("software", self.boto_software), ("hardware", self.boto_hardware), ("net", self.boto_xarxa), ("system", self.boto_sistema), ] a = b = "" # Open a module if you have passed as a parameter for i in sys.argv[1:]: if i.find("--module=") <> -1: # --module=wifi module = i.split("=")[1] # get only wifi for i in self.modules: # search and open it if i[0].find(module) <> -1: i[1]() elif i.find("--tab=") <> -1: # --tab=hadware tab = i.split("=")[1] # get only hardware for i in self.tabs: # search and open it if i[0].find(tab) <> -1: i[1]() elif i.find("--help") <> -1: print print print "CADI: The configurator tool" print "---------------------------" print print "* To open a tab, call with --tab=xxx param" print " - Tabs Availables:" for i in self.tabs: b = b + " " + i[0] print b print print "* To open a module, call with --module=xxx param" print " - Modules Availables:" for i in self.modules: a = a + " " + i[0] print a print
class cadi(QMainWindow): def __init__(self): QMainWindow.__init__(self) global tipus self.avisa = True # avisa la sortida self.ui_cadi = Ui_Form() self.ui_cadi.setupUi(self) self.ui_cadi.label_3.setVisible(False) self.ui_cadi.label_11.setVisible(False) self.ui_cadi.b_root.setVisible(False) ############# #### PC INFO ############# # Get PC info & put on info labels kernel = funcions_k.versiokernel() versiokademar = funcions_k.versiokademar() tipuskademar = funcions_k.tipuskademar() cpu = getoutput(""" grep 'cpu MHz' /proc/cpuinfo | awk '{ print $4 }' """) cpuinfo = getoutput(" cat /proc/cpuinfo | grep 'model name' ") ram = getoutput(""" grep 'MemTotal' /proc/meminfo | awk '{ print $2 }' """) hostname = getoutput("hostname -f") logedusers = getoutput("users") numlogedusers = len(logedusers.split(" ")) self.ui_cadi.l_kdm.setText("kademar") self.ui_cadi.l_kern.setText(kernel) self.ui_cadi.l_ver.setText(versiokademar) self.ui_cadi.l_tipu.setText(tipuskademar) self.ui_cadi.l_cpu.setText(cpu.split("\n")[0] + " Mhz") self.ui_cadi.l_cpuinfo.setText(cpuinfo) self.ui_cadi.l_ram.setText(ram + " Mb") self.ui_cadi.l_host.setText(hostname) if not funcions_k.instalat(): for i in [self.ui_cadi.b_users, self.ui_cadi.b_language]: i.setVisible(0) ############# #### END PC INFO ############# # Ponemos el splash self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_principal) self.path = "/usr/share/kademar/utils/cadi" ##### Signals & Slots ##### self.connect(self.ui_cadi.b_sortir, SIGNAL("clicked()"), self.close) self.connect(self.ui_cadi.b_root, SIGNAL("clicked()"), self.boto_root) # Software self.connect(self.ui_cadi.b_software, SIGNAL("clicked()"), self.boto_software) # Hardware self.connect(self.ui_cadi.b_hardware, SIGNAL("clicked()"), self.boto_hardware) # Xarxa self.connect(self.ui_cadi.b_xarxa, SIGNAL("clicked()"), self.boto_xarxa) # Sistema self.connect(self.ui_cadi.b_sistema, SIGNAL("clicked()"), self.boto_sistema) # SOFTWARE # Boto Preferencies del sistema self.connect(self.ui_cadi.b_preferencies_sistema, SIGNAL("clicked()"), self.boto_preferencies) ##Synaptic self.connect(self.ui_cadi.b_synaptic, SIGNAL("clicked()"), self.boto_synaptic) # HARDWARE # Impressores self.connect(self.ui_cadi.b_impressores, SIGNAL("clicked()"), self.boto_impressores) # Bluetooth self.connect(self.ui_cadi.b_bluetooth, SIGNAL("clicked()"), self.boto_bluetooth) # Teclats Multimedia self.connect(self.ui_cadi.b_teclats_multimedia, SIGNAL("clicked()"), self.boto_teclats_multimedia) # Kinfocenter self.connect(self.ui_cadi.b_kinfocenter, SIGNAL("clicked()"), self.boto_kinfocenter) # Ndiswrapper self.connect(self.ui_cadi.b_ndiswrapper, SIGNAL("clicked()"), self.boto_ndiswrapper) # XARXA # Internet & Conectivity Module self.connect(self.ui_cadi.b_internet, SIGNAL("clicked()"), self.boto_internet) # Modem self.connect(self.ui_cadi.b_modem, SIGNAL("clicked()"), self.boto_modem) # ADSL/PPPoE self.connect(self.ui_cadi.b_pppoe, SIGNAL("clicked()"), self.boto_pppoe) # GPRS self.connect(self.ui_cadi.b_gprs, SIGNAL("clicked()"), self.boto_gprs) # SYSTEM # Display self.connect(self.ui_cadi.b_display_configuration, SIGNAL("clicked()"), self.boto_display_configuration) # Users self.connect(self.ui_cadi.b_users, SIGNAL("clicked()"), self.boto_users) # Services self.connect(self.ui_cadi.b_services, SIGNAL("clicked()"), self.boto_services) # Language self.connect(self.ui_cadi.b_language, SIGNAL("clicked()"), self.boto_language) # Grub self.connect(self.ui_cadi.b_grub, SIGNAL("clicked()"), self.boto_grub) #### END Signals & Slots #### self.modules = [ ("preferences", self.boto_preferencies), ("synaptic", self.boto_synaptic), ("printer", self.boto_impressores), ("bluetooth", self.boto_bluetooth), ("kboardmmedia", self.boto_teclats_multimedia), ("kinfocenter", self.boto_kinfocenter), ("ndiswrapper", self.boto_ndiswrapper), ("internet", self.boto_internet), ("modem", self.boto_modem), ("pppoe", self.boto_pppoe), ("gprs", self.boto_gprs), ("display", self.boto_display_configuration), ("users", self.boto_users), ("services", self.boto_services), ("language", self.boto_language), ("grub", self.boto_grub), ] self.tabs = [ ("software", self.boto_software), ("hardware", self.boto_hardware), ("net", self.boto_xarxa), ("system", self.boto_sistema), ] a = b = "" # Open a module if you have passed as a parameter for i in sys.argv[1:]: if i.find("--module=") <> -1: # --module=wifi module = i.split("=")[1] # get only wifi for i in self.modules: # search and open it if i[0].find(module) <> -1: i[1]() elif i.find("--tab=") <> -1: # --tab=hadware tab = i.split("=")[1] # get only hardware for i in self.tabs: # search and open it if i[0].find(tab) <> -1: i[1]() elif i.find("--help") <> -1: print print print "CADI: The configurator tool" print "---------------------------" print print "* To open a tab, call with --tab=xxx param" print " - Tabs Availables:" for i in self.tabs: b = b + " " + i[0] print b print print "* To open a module, call with --module=xxx param" print " - Modules Availables:" for i in self.modules: a = a + " " + i[0] print a print # self.avisa=False ####### Page Changer ####### # def changepage(self, current, previous): # if not current: # current = previous # self.ui.pageWidget.setCurrentIndex(self.ui.listWidget.row(current)) def boto_hardware(self): self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_hardware) self.disableButton(self.ui_cadi.b_hardware) def boto_software(self): self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_software) self.disableButton(self.ui_cadi.b_software) def boto_xarxa(self): self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_xarxa) self.disableButton(self.ui_cadi.b_xarxa) def boto_sistema(self): self.ui_cadi.pages.setCurrentWidget(self.ui_cadi.tab_sistema) self.disableButton(self.ui_cadi.b_sistema) def disableButton(self, boto): for i in self.ui_cadi.b_software, self.ui_cadi.b_hardware, self.ui_cadi.b_sistema, self.ui_cadi.b_xarxa: i.setEnabled(1) boto.setEnabled(0) ###### END Page Changer ###### # When close Event is active, ask if want to exit def closeEvent(self, event): if self.avisa: reply = QMessageBox.question( self, "Message", self.tr("Are you sure to quit?"), QMessageBox.Yes, QMessageBox.No ) if reply == QMessageBox.Yes: event.accept() else: event.ignore() # SOFTWARE # Synaptic def boto_synaptic(self): self.a = QProcess() self.a.start("synaptic") # Preferències de sistema def boto_preferencies(self): from preferencies import panelPreferencies self.preferencies = panelPreferencies() self.preferencies.setParent(self) self.preferencies.show() # HARDWARE # Impressores def boto_impressores(self): self.b = QProcess() self.b.start("sh scripts/cadi-cupsconfig-kde") # Kinfocenter def boto_kinfocenter(self): self.c = QProcess() self.c.start("kinfocenter") # Bluetooth def boto_bluetooth(self): from bluetooth import panelBluetooth self.bluetooth = panelBluetooth() self.bluetooth.setParent(self) self.bluetooth.show() # Teclats multimedia def boto_teclats_multimedia(self): from teclats_multimedia import panelTeclatsMultimedia self.teclats_multimedia = panelTeclatsMultimedia() self.teclats_multimedia.setParent(self) self.teclats_multimedia.show() # Ndiswrapper def boto_ndiswrapper(self): self.a = QProcess() self.a.start("ndisgtk") # XARXA # modem def boto_modem(self): self.m = QProcess() self.m.start("kppp") # Internet and Connectivity - wifi ethernet diagnostic def boto_internet(self): from internet import panelInternet self.internet = panelInternet() self.internet.setParent(self) self.internet.show() # ADSL/PPPoe def boto_pppoe(self): from pppoe import panelPPPoE self.pppoe = panelPPPoE() self.pppoe.setParent(self) self.pppoe.show() # GPRS def boto_gprs(self): self.g = QProcess() self.g.start("xterm -e sh scripts/gprsconnect &") # Sistema # Display Configuration def boto_display_configuration(self): from display import panelDisplay self.display = panelDisplay() self.display.setParent(self) self.display.show() # Manage Users def boto_users(self): from users import panelUsers self.users = panelUsers() self.users.setParent(self) self.users.show() # Services def boto_services(self): from services import panelServices self.services = panelServices() self.services.setParent(self) self.services.show() # Idioma def boto_language(self): from language import panelLanguage self.language = panelLanguage() self.language.setParent(self) self.language.show() # GRUB def boto_grub(self): # get live-cd or installed form if funcions_k.installed(): from grub_installed import panelGrub else: from grub_livecd import panelGrub self.grub = panelGrub() self.grub.setParent(self) self.grub.show() # def posa_permisos_del usuari() # si root # si usuari normal def boto_root(self): system("nohup kdesu -d --noignorebutton -t -n python cadi.py &") self.avisa = False self.close()