コード例 #1
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlarmState(alarmState):
    if alarmState not in AlarmState:
        logger.info("Unknown alarm state: " + alarmState)
        raise Exception("Unknown alarm state: " + alarmState)

    setDesiredAlarmState(alarmState)
    setDesiredAlarmStateDelay(str(datetime.datetime.now()))
    logger.info("Capturing state lock")
    with stateLock:
        currentAlarmState = getCurrentAlarmState()
        timeDelta = getLastStateChangeTimeDelta()
        if alarmState != currentAlarmState:
            logger.info("Setting Alarm state to: " + alarmState)
            setPreviousAlarmState(currentAlarmState)
            writeStringValue(alarmStateKey, alarmState)
            setLastStateChangeTime()
            setGuiUpdateTime()
            subject = "Alarm state is: " + alarmState + " at " + getNowStr()
            body = "Previous state was " + currentAlarmState + "."
            longbeep()
            sendEmail(mailto, subject, body)
        else:
            if alarmState != 'RELAXED':
                subject = "Alarm state is: " + alarmState
                body = "Alarm state has been " + alarmState + " for " + convert_timedelta_str(timeDelta) + "."
                sendEmail(mailto, subject, body)
            logger.info("We are already in state: " + alarmState + ". Nothing to do.")
コード例 #2
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlarmState(alarmState):
    if alarmState not in AlarmState:
        logger.info("Unknown alarm state: " + alarmState)
        raise Exception("Unknown alarm state: " + alarmState)

    setDesiredAlarmState(alarmState)
    setDesiredAlarmStateDelay(str(datetime.datetime.now()))
    logger.info("Capturing state lock")
    with stateLock:
        currentAlarmState = getCurrentAlarmState()
        timeDelta = getLastStateChangeTimeDelta()
        if alarmState != currentAlarmState:
            logger.info("Setting Alarm state to: " + alarmState)
            setPreviousAlarmState(currentAlarmState)
            writeStringValue(alarmStateKey, alarmState)
            setLastStateChangeTime()
            setGuiUpdateTime()
            subject = "Alarm state is: " + alarmState + " at " + getNowStr()
            body = "Previous state was " + currentAlarmState + "."
            longbeep()
            sendEmail(mailto, subject, body)
        else:
            if alarmState != 'RELAXED':
                subject = "Alarm state is: " + alarmState
                body = "Alarm state has been " + alarmState + " for " + convert_timedelta_str(
                    timeDelta) + "."
                sendEmail(mailto, subject, body)
            logger.info("We are already in state: " + alarmState +
                        ". Nothing to do.")
コード例 #3
0
ファイル: ConfUtils.py プロジェクト: roubles/raspwave2
def setLocalIp ():
    # This is a relatively expensive call.
    # http://stackoverflow.com/a/1267524/215120
    try:
        ip = [(s.connect(('8.8.8.8', 80)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]
    except:
        ip = "127.0.0.1"
    logger.info("Setting Local IP to: " + ip)
    writeStringValue(localIpKey, ip)
コード例 #4
0
ファイル: ConfUtils.py プロジェクト: roubles/raspwave2
def setLocalIp():
    # This is a relatively expensive call.
    # http://stackoverflow.com/a/1267524/215120
    try:
        ip = [(s.connect(('8.8.8.8', 80)), s.getsockname()[0], s.close())
              for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]
              ][0][1]
    except:
        ip = "127.0.0.1"
    logger.info("Setting Local IP to: " + ip)
    writeStringValue(localIpKey, ip)
コード例 #5
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setDesiredAlarmStateDelay(date):
    writeStringValue(alarmDesiredStateDelay, date)
    setGuiUpdateTime()
コード例 #6
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPanic (panic):
    if panic:
        writeStringValue(alarmPanicKey, "TRUE")
    else:
        writeStringValue(alarmPanicKey, "FALSE")
    setGuiUpdateTime()
コード例 #7
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPreviousAlarmState(state):
    writeStringValue(alarmPreviousStateKey, state)
コード例 #8
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setDesiredAlarmState(state):
    writeStringValue(alarmDesiredStateKey, state)
    setGuiUpdateTime()
コード例 #9
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setDesiredAlarmState (state):
    writeStringValue(alarmDesiredStateKey, state)
    setGuiUpdateTime()
コード例 #10
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPersistent(persistent):
    if persistent:
        writeStringValue(statePersistentKey, "TRUE")
    else:
        writeStringValue(statePersistentKey, "FALSE")
    setGuiUpdateTime()
コード例 #11
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setLastTime(key):
    now = str(datetime.datetime.now())
    logger.info("Setting key: " + key + ", to " + now)
    writeStringValue(key,now)
コード例 #12
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def resetAlertPanicTime():
    writeStringValue(alertPanicTimeKey, str(datetime.datetime(1970, 1, 1)))
    setGuiUpdateTime(
    )  # GUI needs to be updated to reflect that alarm will fire.
コード例 #13
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlertPanicTime(alertPanicTime):
    writeStringValue(alertPanicTimeKey,alertPanicTime)
    setGuiUpdateTime() # GUI needs to be updated to reflect that alarm will fire.
コード例 #14
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def resetAlertPanicTime():
    writeStringValue(alertPanicTimeKey,str(datetime.datetime(1970,1,1)))
    setGuiUpdateTime() # GUI needs to be updated to reflect that alarm will fire.
コード例 #15
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlarmCode(alarmCode):
    logger.info("Setting Alarm code...")
    sendEmail(mailto, "Setting Alarm code")
    md5Alarmcode = hashlib.md5(alarmCode).hexdigest()
    writeStringValue(alarmCodeKey, md5Alarmcode)
コード例 #16
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPersistent (persistent):
    if persistent:
        writeStringValue(statePersistentKey, "TRUE")
    else:
        writeStringValue(statePersistentKey, "FALSE")
    setGuiUpdateTime()
コード例 #17
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setDesiredAlarmStateDelay (date):
    writeStringValue(alarmDesiredStateDelay, date)
    setGuiUpdateTime()
コード例 #18
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlarmCode(alarmCode):
    logger.info("Setting Alarm code...")
    sendEmail(mailto, "Setting Alarm code")
    md5Alarmcode = hashlib.md5(alarmCode).hexdigest()
    writeStringValue(alarmCodeKey, md5Alarmcode)
コード例 #19
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setLastTime(key):
    now = str(datetime.datetime.now())
    logger.info("Setting key: " + key + ", to " + now)
    writeStringValue(key, now)
コード例 #20
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setAlertPanicTime(alertPanicTime):
    writeStringValue(alertPanicTimeKey, alertPanicTime)
    setGuiUpdateTime(
    )  # GUI needs to be updated to reflect that alarm will fire.
コード例 #21
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPanic(panic):
    if panic:
        writeStringValue(alarmPanicKey, "TRUE")
    else:
        writeStringValue(alarmPanicKey, "FALSE")
    setGuiUpdateTime()
コード例 #22
0
ファイル: writeCache.py プロジェクト: roubles/raspwave2
#!/usr/bin/env python
# @author rouble matta

import sys
from CacheUtils import writeStringValue

print writeStringValue(sys.argv[1], sys.argv[2])
コード例 #23
0
ファイル: SecurityUtils.py プロジェクト: roubles/raspwave2
def setPreviousAlarmState (state):
    writeStringValue(alarmPreviousStateKey, state)