Skip to content

Commit

Permalink
boot updates
Browse files Browse the repository at this point in the history
  • Loading branch information
iinnovations committed Jul 18, 2018
1 parent 35ad135 commit 269f958
Show file tree
Hide file tree
Showing 12 changed files with 57 additions and 42 deletions.
13 changes: 10 additions & 3 deletions cupid/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,8 @@ def __init__(self, actiondict):
'offdelay':0,
'activereset':True,
'actionfrequency': 0.0, # 0 means all the time.
'action_window': 60.0
'action_window': 60.0,
'log_path':None
}
settings.update(actiondict)
for key, value in settings.items():
Expand All @@ -100,6 +101,11 @@ def __init__(self, actiondict):
"""
self.statusmsg = ''

def log(self, message, reqloglevel=1, currloglevel=1):
from iiutilities.utility import log
if self.log_path:
log(self.log_path, message, reqloglevel, currloglevel)

def determine_status(self):
from iiutilities import dblib, datalib

Expand All @@ -126,8 +132,8 @@ def determine_status(self):
self.status = int(datalib.calcastevalformula(str(self.value) + self.actiondatadict['operator'] + self.actiondatadict['criterion']))
# Should really throw an error here.
except:
print('ERROR in asteval')
print(str(self.value) + self.actiondatadict['operator'] + self.actiondatadict['criterion'])
self.log('ERROR in asteval')
self.log(str(self.value) + self.actiondatadict['operator'] + self.actiondatadict['criterion'])
self.status = 0

elif self.conditiontype == 'channel':
Expand Down Expand Up @@ -562,6 +568,7 @@ def processactions(**kwargs):
if actiondict['name'] != kwargs['name']:
continue

actiondict['log_path'] = pilib.dirs.logs.actions
thisaction = action(actiondict)
thisaction.process()
thisaction.publish()
Expand Down
5 changes: 3 additions & 2 deletions cupid/boot.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,11 @@ def runboot():
utility.log(pilib.dirs.logs.system, 'boot: running boot netconfig', 2, pilib.loglevels.system)
runconfig(onboot=True)

# THIS IS NOW IN cupid_daemon.service
# Run daemon
from cupiddaemon import rundaemon
# from cupiddaemon import rundaemon

rundaemon()
# rundaemon()

# Update hardware version in table
# from systemstatus import readhardwarefileintoversions
Expand Down
2 changes: 2 additions & 0 deletions cupid/pilib.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
dirs.logs.system = dirs.log + 'systemstatus.log'
dirs.logs.control = dirs.log + 'control.log'
dirs.logs.daemon = dirs.log + 'daemon.log'
dirs.logs.actions = dirs.log + 'actions.log'
dirs.logs.serial = dirs.log + 'serial.log'
dirs.logs.notifications = dirs.log + 'notifications.log'
dirs.logs.daemonproc = dirs.log + 'daemonproc.log'
Expand Down Expand Up @@ -112,6 +113,7 @@ def __init__(self, *args, **kwargs):
loglevels.control = 4
loglevels.daemon = 3
loglevels.serial = 2
loglevels.actions = 2
loglevels.notifications = 5

daemonprocs = ['cupid/periodicupdateio.py', 'cupid/picontrol.py', 'cupid/systemstatus.py', 'cupid/sessioncontrol.py', 'mote/serialhandler.py']
Expand Down
59 changes: 31 additions & 28 deletions cupid/systemstatus.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,29 @@
import simplejson as json
except:
import json
#
# def readhardwarefileintoversions():
#
# from iiutilities import utility
# from cupid import pilib
# from iiutilities import dblib
#
# devicefile = '/var/wwwsafe/devicedata'
# try:
# file = open(devicefile)
# lines = file.readlines()
# devicedict = {}
# for line in lines:
# split = line.split(':')
# try:
# devicedict[split[0].strip()] = split[1].strip()
# except:
# utility.log(pilib.dirs.logs.system, 'Device data parse error', 1, pilib.loglevels.system)
# dblib.sqlitequery(pilib.dirs.dbs.system,
# dblib.makesqliteinsert('versions', ['hardware', devicedict['hardware']], ['item', 'version']))
# except:
# utility.log(pilib.dirs.logs.system, 'Error opening devicedata file to parse', 1,
# pilib.loglevels.system)

def readhardwarefileintoversions():

from iiutilities import utility
from cupid import pilib
from iiutilities import dblib

devicefile = '/var/wwwsafe/devicedata'
try:
file = open(devicefile)
lines = file.readlines()
devicedict = {}
for line in lines:
split = line.split(':')
try:
devicedict[split[0].strip()] = split[1].strip()
except:
utility.log(pilib.dirs.logs.system, 'Device data parse error', 1, pilib.loglevels.system)
dblib.sqlitequery(pilib.dirs.dbs.system,
dblib.makesqliteinsert('versions', ['hardware', devicedict['hardware']], ['item', 'version']))
except:
utility.log(pilib.dirs.logs.system, 'Error opening devicedata file to parse', 1,
pilib.loglevels.system)


def updateiwstatus():
Expand Down Expand Up @@ -707,7 +707,8 @@ def run_system_status(**kwargs):

settings = {
'debug':False,
'quiet':False
'quiet':False,
'force':True
}
settings.update(kwargs)

Expand Down Expand Up @@ -749,7 +750,7 @@ def run_system_status(**kwargs):
# allnetstatus = updatenetstatus(lastnetstatus, quiet=settings['quiet'])

# Keep reading system status?
while systemstatus['systemstatusenabled']:
while systemstatus['systemstatusenabled'] or settings['force']:

# Run notifications
pilib.process_notifications_queue()
Expand Down Expand Up @@ -777,8 +778,6 @@ def run_system_status(**kwargs):
Then, if status is not 'ok', we will reconfigure interface.
"""

allnetstatus = update_net_status(lastnetstatus, quiet=settings['quiet'])

if systemstatus['netstatusenabled']:
utility.log(pilib.dirs.logs.system, 'Beginning network routines. ', 3, pilib.loglevels.system)

Expand Down Expand Up @@ -894,11 +893,15 @@ def run_system_status(**kwargs):
if __name__ == '__main__':
runonce = False
debug = False
force = False
if 'runonce' in sys.argv:
print('run once selected')
runonce = True
if 'debug' in sys.argv:
print('debug selected')
debug = True
run_system_status(runonce=runonce, debug=debug)
if 'force' in sys.argv:
print('force selected')
force = True
run_system_status(runonce=runonce, debug=debug, force=force)
# runsystemstatus()
12 changes: 7 additions & 5 deletions iiutilities/dblib.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,10 @@
if top_folder not in sys.path:
sys.path.insert(0, top_folder)


"""
Database tools
"""


class sqliteDatabase(object):

def __init__(self, path, **kwargs):
Expand Down Expand Up @@ -2086,7 +2082,8 @@ def create_table(self, tablename, table_schema, **kwargs):
settings = {
'replace': True,
'queue': False,
'collate':None
'collate':None,
'debug':False
}
settings.update(kwargs)

Expand All @@ -2112,6 +2109,11 @@ def create_table(self, tablename, table_schema, **kwargs):

if settings['collate']:
query += ' collate {}'.format(settings['collate'])


if settings['debug']:
print(query)

if settings['queue']:
self.queue_queries([query])
else:
Expand Down
8 changes: 4 additions & 4 deletions iiutilities/utility.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ def split_time_log(log, **kwargs):
if settings['division'] == 'day':
import time
if settings['format'] == 'datetimestring':
from datalib import timestring_to_struct
from iiutilities.datalib import timestring_to_struct
the_time = timestring_to_struct(listitem['time'])
criterion = time.struct_time((the_time.tm_year, the_time.tm_mon, the_time.tm_mday, 0, 0, 0, 0, 1, 0))
# criterion = (time.tm_year, time.tm_mon, time.tm_mday)
Expand All @@ -92,7 +92,7 @@ def split_time_db(path, **kwargs):
settings.update(kwargs)

from iiutilities import dblib
from datalib import gettimestring
from iiutilities.datalib import gettimestring
import time

database = dblib.sqliteDatabase(path)
Expand Down Expand Up @@ -210,8 +210,8 @@ def split_time_db(path, **kwargs):

def split_and_trim_db_by_date(logpath, **kwargs):

import dblib
from datalib import gettimestring
from iiutilities import dblib
from iiutilities.datalib import gettimestring
import time

settings = {
Expand Down
Empty file modified misc/apache/apache2.conf
100644 → 100755
Empty file.
Empty file modified misc/apache/apachesites
100644 → 100755
Empty file.
Empty file modified misc/apache/apachesslsites
100644 → 100755
Empty file.
Empty file modified misc/nginx/nginx.ssl.conf
100644 → 100755
Empty file.
Empty file modified misc/nginx/www.conf
100644 → 100755
Empty file.
Empty file modified misc/sysctl.conf
100644 → 100755
Empty file.

0 comments on commit 269f958

Please sign in to comment.