Exemple #1
0
def stopLogging():
    global config
    logMessage("Stopped data logging, as requested in web interface. " +
               "BrewPi will continue to control temperatures, but will not log any data.")
    config = util.configSet(configFile, dbConfig, 'beerName', None)
    config = util.configSet(configFile, dbConfig, 'dataLogging', 'stopped')
    return {'status': 0, 'statusMessage': "Successfully stopped logging"}
Exemple #2
0
def refresh_dbConfig() -> models.BrewPiDevice:
    global device_id

    if device_id is None:
        logMessage("No device ID was found - cannot load DB Config")
        exit(1)

    return models.BrewPiDevice.objects.get(id=device_id)
Exemple #3
0
def pauseLogging():
    global config
    logMessage("Paused logging data, as requested in web interface. " +
               "BrewPi will continue to control temperatures, but will not log any data until resumed.")
    if config['dataLogging'] == 'active':
        config = util.configSet(configFile, dbConfig, 'dataLogging', 'paused')
        return {'status': 0, 'statusMessage': "Successfully paused logging."}
    else:
        return {'status': 1, 'statusMessage': "Logging already paused or stopped."}
Exemple #4
0
def startNewBrew(newName):
    global config
    if len(newName) > 1:     # shorter names are probably invalid
        config = util.configSet(configFile, dbConfig, 'beerName', newName)
        config = util.configSet(configFile, dbConfig, 'dataLogging', 'active')
        logMessage("Notification: Restarted logging for beer '%s'." % newName)
        return {'status': 0, 'statusMessage': "Successfully switched to new brew '%s'. " % urllib.unquote(newName) +
                                              "Please reload the page."}
    else:
        return {'status': 1, 'statusMessage': "Invalid new brew name '%s', "
                                              "please enter a name with at least 2 characters" % urllib.unquote(newName)}
Exemple #5
0
def resumeLogging():
    global config
    logMessage("Continued logging data, as requested in web interface.")
    if config['dataLogging'] == 'paused':
        config = util.configSet(configFile, dbConfig, 'dataLogging', 'active')
        return {'status': 0, 'statusMessage': "Successfully continued logging."}
    elif config['dataLogging'] == 'stopped':
        if dbConfig.active_beer is not None:
            config = util.configSet(configFile, dbConfig, 'dataLogging', 'active')
            return {'status': 0, 'statusMessage': "Successfully continued logging."}
    # If we didn't return a success status above, we'll return an error
    return {'status': 1, 'statusMessage': "Logging was not resumed."}
Exemple #6
0
        checkStartupOnly = True

# Alright. We're modifying how we load the configuration file to allow for loading both from a database, and from the
# actual file-based config.

# If dbConfig wasn't set, we can't proceed (as we have no controller to manage)
if dbConfig is None:
    raise NotImplementedError(
        'Only dbconfig installations are supported in this version of brewpi-script'
    )

if dbConfig.status == models.BrewPiDevice.STATUS_ACTIVE or dbConfig.status == models.BrewPiDevice.STATUS_UNMANAGED:
    config = util.read_config_from_database_without_defaults(dbConfig)
else:
    logMessage(
        "This instance of BrewPi is currently disabled in the web interface. Reenable it and relaunch "
        "this script. This instance will now exit.")
    exit(0)

# check for other running instances of BrewPi that will cause conflicts with this instance
pidFile = pid.PidFile(piddir=pidFileDir, pidname=brewpiName)
try:
    pidFile.create()
except pid.PidFileAlreadyLockedError:
    if not checkDontRunFile:  # Even for database configurations, we don't want to log this if the gatekeeper launched me
        logMessage(
            "Another instance of BrewPi is already running, which will conflict with this instance. "
            "This instance will exit")
    exit(0)
except pid.PidFileAlreadyRunningError:
    if not checkDontRunFile:  # Even for database configurations, we don't want to log this if the gatekeeper launched me