def saveConfig(self): self.saveRequired(False) # Reset save button state # Disable quit button self.ui.btnQuit.setEnabled(False) # Save button icon & text s_btnIcon = self.ui.btnSave.icon() s_btnText = self.ui.btnSave.text() self.ui.btnSave.setText(u"Saving...") self.ui.btnSave.setIcon(QIcon()) self.repaint() qApp.processEvents() tools.msgDebug(u"Saving configuration...", __name__) config = Config() # Save Data config.setShows(self.myShows) config.setColors(self.myColors) if self.ui.radioDispFixedLines.isChecked(): value = "Fixed" else: value = "Automatic" config.set("display", "type", value) config.set("display", "past_days", str(self.ui.spinNumPastDays.value())) config.set("display", "lines_fixed", str(self.ui.spinFixedDispLines.value())) config.set("display", "lines_min", str(self.ui.spinMinDispLines.value())) config.set("display", "lines_max", str(self.ui.spinMaxDispLines.value())) config.set("display", "format", str(self.ui.leditFormat.text())) sep = self.ui.leditDateSeparator.text() list = self.ui.comboDateFormat.itemData( self.ui.comboDateFormat.currentIndex()).toStringList() dateFormat = list.join(sep) config.set("display", "date_separator", str(sep)) config.set("display", "date_format", str(dateFormat)) config.set("misc", "cache_expiration", str(self.ui.spinCacheExpiration.value())) config.set("misc", "browser", str(self.ui.leditBrowser.text())) config.set("misc", "theme", str(self.ui.comboTheme.currentText())) # Set this so that the widget knows something changed config.set("main", "config_changed", "True") tools.msgDebug(u"Saving done!", __name__) config.close() # Destroy Config() # Restore buttons self.ui.btnSave.setIcon(s_btnIcon) self.ui.btnSave.setText(s_btnText) self.ui.btnQuit.setEnabled(True)
def run(self,argvs): # read kdfs config file KDFSConfig = Config(ServerUtils.CONFIG_PATH) cprint("\r\nKDFS SERVER (version {})".format(KDFSConfig.get('version','unknown')),'green',attrs=['bold']) # get kdfs server info (info,err) = MinimalCommands().identifyCommand() print("MAC Address is {} on {}({})".format(info['macaddr'],info['os'],info['arch'])) # check if server is queen if KDFSConfig.getBoolean('is_queen',False): cprint("*** THIS SERVER RUN AS QUEEN ***",'yellow') print("\n") # print(minimalUitls.searchTextByRegex("home","%.md")) # print(MinimalCommands().findCommand({'type':'rec','path':'/','mode':'name','regex':'Until'})) server = KDFSServer(KDFSConfig)
def commandOutput(widget, pid, output): global g_configGuiPid if pid == g_configGuiPid: config = Config() # Check whether config was changed or not try: configChanged = config.getboolean("main", "config_changed") config.remove_option("main", "config_changed") except: configChanged = False config.close() if configChanged: karamba.reloadTheme(widget) return else: g_configGuiPid = None
def _getConfig(self): # read kdfs config file if self._KDFSConfig is None: self._KDFSConfig = Config(ServerUtils.CONFIG_PATH) return self._KDFSConfig
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2016 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.TheThingsIO import TheThingsIO if __name__ == "__main__": config = Config('config/mqtt2thethingsio.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2cloud.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2013 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.Sense import Sense if __name__ == "__main__": config = Config('config/mqtt2sense.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2sense.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')
def __init__(self): # get kdfs config self.config = Config(ServerUtils.CONFIG_PATH) self.storage_path = self.config.get('storage', './')
def initForm(self): # 1st tab labels self.ui.lblResultsDisplayed.setText(u"Displayed results: 0/0") self.ui.lblTrackedShows.setText(u"Tracked shows: 0") # Format Sample fmtSample = u"<u><b>Sample:</b></u> <b>show:</b> %s, <b>title:</b> %s, <b>season</b>: %d, <b>episode</b>: %d" % ( Globals().sampleEpisode['show'], Globals().sampleEpisode['title'], Globals().sampleEpisode['season'], Globals().sampleEpisode['episode']) self.ui.lblFormatSample.setText(fmtSample) #### Versions version = Globals().versions # nextShows Footer Release labelContent = str(self.ui.lblFooterRelease.text()) self.ui.lblFooterRelease.setText(labelContent % version['nextShows']) # nextShows Release (About tab) labelContent = str(self.ui.lblNextShowsVersion.text()) self.ui.lblNextShowsVersion.setText(labelContent % version['nextShows']) # Libs releases (About tab) # Python version a, b, c, d, e = sys.version_info pythonVersion = "%d.%d.%d" % (a, b, c) # labelContent = str(self.ui.lblLibsVersion.text()) self.ui.lblLibsVersion.setText( labelContent % (pythonVersion, QT_VERSION_STR, PYQT_VERSION_STR, version["KDE"])) #### Default values self.ui.spinNumPastDays.setMinimum(0) self.ui.spinNumPastDays.setMaximum(99) #self.ui.spinNumPastDays.setValue(1) self.ui.spinFixedDispLines.setMinimum(1) self.ui.spinFixedDispLines.setMaximum(50) #self.ui.spinFixedDispLines.setValue(10) self.ui.spinMinDispLines.setMinimum(1) self.ui.spinMinDispLines.setMaximum(49) #self.ui.spinMinDispLines.setValue(1) self.ui.spinMaxDispLines.setMinimum(2) self.ui.spinMaxDispLines.setMaximum(50) #self.ui.spinMaxDispLines.setValue(10) # self.ui.spinColorsSingleDay.setMinimum(-99) self.ui.spinColorsSingleDay.setMaximum(99) self.ui.spinColorsSingleDay.setValue(0) self.ui.spinColorsFrom.setMinimum(-99) self.ui.spinColorsFrom.setMaximum(98) self.ui.spinColorsFrom.setValue(0) self.ui.spinColorsTo.setMinimum(-98) self.ui.spinColorsTo.setMaximum(99) self.ui.spinColorsTo.setValue(10) # default color for "Select color" self.ui.lblSelectColor.setPixmap( self.drawPreviewColor(self.lastColorUsed, 36, 36)) # Theme combo self.ui.comboTheme.addItems(Globals().availableThemes) #### #### Read config #### tools.msgDebug(u"Reading config...", __name__) config = Config() # Enable/Disable DEBUG if config.getboolean("main", "debug") == False: tools.msgDebug("Disabling debug messages !", __name__) Globals.DEBUG = False # Get Data self.myShows = config.getShows() self.displayMyShows() self.myColors = config.getColors() self.ui.lblDefaultColor.setPixmap( self.drawPreviewColor(self.myColors['default'], 36, 36)) self.displayMyColors() if config.get("display", "type") == "Fixed": self.ui.radioDispFixedLines.setChecked(True) else: self.ui.radioDispAutoResize.setChecked(True) self.ui.spinNumPastDays.setValue( int(config.get("display", "past_days"))) self.ui.spinFixedDispLines.setValue( int(config.get("display", "lines_fixed"))) self.ui.spinMinDispLines.setValue( int(config.get("display", "lines_min"))) self.ui.spinMaxDispLines.setValue( int(config.get("display", "lines_max"))) self.ui.leditFormat.setText(config.get("display", "format")) self.refreshFormatPreview(str(self.ui.leditFormat.text())) self.ui.spinCacheExpiration.setValue( int(config.get("misc", "cache_expiration"))) self.ui.leditBrowser.setText(config.get("misc", "browser")) # Fallback code since the "theme" key was located in the [display] section # in versions < 2.1.0 try: idx = int(Globals().availableThemes.index( config.get("misc", "theme"))) except: idx = 0 self.ui.comboTheme.setCurrentIndex(idx) # Date Separator # Fallback code since the "date_separator" key doesn't exist in version < 2.1.0 try: sep = config.get("display", "date_separator") except: sep = "/" self.ui.leditDateSeparator.setText(sep) # Date Format dateFormat = config.get("display", "date_format") data = ["%" + a for a in dateFormat.split(sep)] idx = self.ui.comboDateFormat.findData(QVariant(data)) if idx == -1: idx = 0 self.ui.comboDateFormat.setCurrentIndex(idx) config.close() # Reset "Save" button state self.saveRequired(False) tools.msgDebug(u"Done!", __name__)
def displayResponseAsArray(response: dict): itemsList = [] # get items list of response for key in response: itemsList.append([key,response[key]]) # print(val,end=lastSpaces) # print() print(tabulate(itemsList, tablefmt='presto')) # ------------------------------------------------ currentMilliseconds = lambda: int(round(time.time() * 1000)) # ------------------------------------------------ # when start kdfs client program if __name__ == "__main__": # read kdfs config file KDFSConfig = Config(ServerUtils.CONFIG_PATH) # KDFSConfig.read("kdfs.conf") cprint("KDFS CLIENT shell (version {})".format(KDFSConfig.get('version','unknown')),'blue',attrs=['bold']) print("Using \"help\" for more information.") print("\n") # if not found any command if len(sys.argv) <= 1: help() exit(0) # get user command command = sys.argv[1] params = sys.argv[2:] # print('argvs:',command,params) # check for arguments if command == 'help': help()
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2013 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.Xively import Xively if __name__ == "__main__": config = Config('config/mqtt2xively.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2xively.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')
def storeNewWhenFormat(dummy): config = Config() config.set("misc", "when_format", str(applet.whenFormat)) config.close()
def initWidget(widget): global g_nextCacheRefresh, g_showList, g_showIds, g_cacheExpiration, g_pastDays, g_linesMin, g_linesMax # Pass the widget reference Applet.widget = widget # Init splash splash = Applet().Splash() splash.show() # Create dir structure splash.setText("Checking config dirs...") createConfigDirs() # Read config splash.setText("Reading config...") config = Config() # Check whether we want DEBUG messages enabled or not if config.getboolean("main", "debug") == False: tools.msgDebug("Disabling debug messages !", __name__) Globals.DEBUG = False # Copy GUI files (if necessary) if Globals().versions['nextShows'] != config.get("main", "version") \ or not "launchGUI" in os.listdir( Globals().nsCGuiBaseDir ): # Init dir structures and copy files splash.setText("Setup GUI...") copyThemeFilesToConfigDir(widget) config.set("main", "version", Globals().versions['nextShows']) # Get other useful infos from config splash.setText("Reading config...") displayType = config.get("display", "type") if displayType == "Fixed": g_linesMax = config.getint("display", "lines_fixed") g_linesMin = g_linesMax else: g_linesMin = config.getint("display", "lines_min") g_linesMax = config.getint("display", "lines_max") g_cacheExpiration = config.getint("misc", "cache_expiration") g_pastDays = config.getint("display", "past_days") applet.colorList = config.getColors() applet.episodeFormatString = config.get("display", "format") applet.browser = config.get("misc", "browser") applet.dateFormat = config.get("display", "date_format") applet.whenFormat = config.getint("misc", "when_format") # Getting the show list splash.setText("Getting show list....") g_showList = config.getShows() # Extract IDs g_showIds = [show['id'] for show in g_showList] # Init cache cache.setExpiration(g_cacheExpiration) cache.showIds = g_showIds # Refresh cache if necessary staledList = cache.getStaledCacheFiles() for id in staledList: for show in g_showList: if show['id'] == id: showName = show['name'] splash.setText("Updating cache: '%s'..." % showName) cache.cacheEpisodeList(id) # Fetch data to display splash.setText("Filtering episodes...") data = Data() episodeList = data.getEpisodeList(g_showIds, g_pastDays, g_linesMax) applet.episodeList = episodeList # Close the splash splash.setText("Done!") splash.hide() # Init widget # Fallback (for compatibility reasons) # "[display] theme=" was moved to "[misc] theme=" try: applet.themeName = config.get("misc", "theme") except: applet.themeName = Globals().defaultThemeName numReturnedEpisode = len(episodeList) if numReturnedEpisode < g_linesMin: themeLines = g_linesMin elif numReturnedEpisode > g_linesMax: themeLines = g_linesMax else: themeLines = numReturnedEpisode applet.themeLines = themeLines applet.drawBackground() applet.printEpisodeList() # Store next cache refresh g_nextCacheRefresh = cache.getNextRefreshTS() # Setup menu entry for config GUI karamba.addMenuConfigOption(widget, "config_gui", "Configure...") karamba.setMenuConfigOption(widget, "config_gui", 0)
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2013 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.Thingspeak import Thingspeak if __name__ == "__main__": config = Config('config/mqtt2thingspeak.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2thingspeak.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2013 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.TempoDB import TempoDB if __name__ == "__main__": config = Config('config/mqtt2tempodb.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2cloud.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')
__author__ = "Xose Pérez" __contact__ = "*****@*****.**" __copyright__ = "Copyright (C) 2013 Xose Pérez" __license__ = 'GPL v3' import sys from libs.Config import Config from libs.Mosquitto import Mosquitto from libs.Manager import Manager from libs.services.Cosm import Cosm if __name__ == "__main__": config = Config('config/mqtt2cosm.yaml') manager = Manager(config.get('daemon', 'pidfile', '/tmp/mqtt2cloud.pid')) manager.stdout = config.get('daemon', 'stdout', '/dev/null') manager.stderr = config.get('daemon', 'stderr', '/dev/null') manager.debug = config.get('daemon', 'debug', False) mqtt = Mosquitto(config.get('mqtt', 'client_id')) mqtt.host = config.get('mqtt', 'host') mqtt.port = config.get('mqtt', 'port') mqtt.keepalive = config.get('mqtt', 'keepalive') mqtt.clean_session = config.get('mqtt', 'clean_session') mqtt.qos = config.get('mqtt', 'qos', 0) mqtt.retain = config.get('mqtt', 'retain', True) mqtt.status_topic = config.get('mqtt', 'status_topic') mqtt.set_will = config.get('mqtt', 'set_will')