コード例 #1
0
    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)
コード例 #2
0
        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)
コード例 #3
0
ファイル: nextShows.py プロジェクト: gilcn/nextshows
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
コード例 #4
0
 def _getConfig(self):
     # read kdfs config file
     if self._KDFSConfig is None:
         self._KDFSConfig = Config(ServerUtils.CONFIG_PATH)
     return self._KDFSConfig
コード例 #5
0
__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')
コード例 #6
0
ファイル: mqtt2sense.py プロジェクト: marcelrv/mqtt2cloud
__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')
コード例 #7
0
ファイル: minimal.py プロジェクト: madkne/kdfs
 def __init__(self):
     # get kdfs config
     self.config = Config(ServerUtils.CONFIG_PATH)
     self.storage_path = self.config.get('storage', './')
コード例 #8
0
    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__)
コード例 #9
0
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()
コード例 #10
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.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')
コード例 #11
0
ファイル: nextShows.py プロジェクト: gilcn/nextshows
 def storeNewWhenFormat(dummy):
     config = Config()
     config.set("misc", "when_format", str(applet.whenFormat))
     config.close()
コード例 #12
0
ファイル: nextShows.py プロジェクト: gilcn/nextshows
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)
コード例 #13
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')
コード例 #14
0
ファイル: mqtt2tempodb.py プロジェクト: marcelrv/mqtt2cloud
__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')
コード例 #15
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.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')