summaryrefslogtreecommitdiff
path: root/overseerlib/app.py
diff options
context:
space:
mode:
Diffstat (limited to 'overseerlib/app.py')
-rw-r--r--overseerlib/app.py38
1 files changed, 27 insertions, 11 deletions
diff --git a/overseerlib/app.py b/overseerlib/app.py
index 13fb461..dc3e811 100644
--- a/overseerlib/app.py
+++ b/overseerlib/app.py
@@ -25,16 +25,32 @@ import cliapp
import overseerlib
+defaults = {
+ 'work-area': '/home/trove-overseer',
+ 'config-name': 'monitoring.conf',
+}
+
+
class TroveOverseer(cliapp.Application):
def add_settings(self):
- self.settings.string(['config-path'], 'path to configuration file',
- metavar='FILE', default='/etc/monitoring.conf')
+ self.settings.string(['work-area'],
+ 'path to the area for the controller to work in',
+ metavar='PATH',
+ default=defaults['work-area'])
+ self.settings.string(['config-name'], 'configuration file name. '
+ 'Defaults to monitoring.conf',
+ metavar='FILENAME',
+ default=defaults['config-name'])
def process_args(self, args):
-# self.rungit(['remote', 'update', 'origin'])
-# self.rungit(['reset', '--hard', 'origin/master'])
-# self.rungit(['clean', '-fdx'])
+ self.rungit(['remote', 'update', 'origin'])
+ self.rungit(['reset', '--hard', 'origin/master'])
+ self.rungit(['clean', '-fdx'])
+ config = os.path.join(self.settings['work-area'], 'git',
+ self.settings['config-name']))
+ overseerlib.parseyaml.ParseYAML.load_config(config)
+
cliapp.Application.process_args(self, args)
def human_to_bytes(self, threshold):
@@ -51,19 +67,20 @@ class TroveOverseer(cliapp.Application):
return int(num * prefix[letter])
def rungit(self, args):
- self.runcmd(['git']+args, cwd='/src/morph')
+ self.runcmd(['git']+args, cwd=os.path.join(self.settings['work-area'],
+ 'git'))
def write_to_html(self, html_file):
if html_file:
try:
- with open(self.html_file + '.new', 'w') as ofh:
+ with open(html_file + '.new', 'w') as ofh:
ofh.write('<!DOCTYPE html>\n')
ofh.write(self.gen_html())
ofh.write('\n')
- target = self.filename
- os.rename(self.filename + '.new', target)
+ target = filename
+ os.rename(filename + '.new', target)
except:
- os.unlink(self.filename + '.new')
+ os.unlink(filename + '.new')
raise
def gen_footer(self):
@@ -71,7 +88,6 @@ class TroveOverseer(cliapp.Application):
return self.tag('div', Class='footer', content=
'Generated by Trove Monitoring at ' + curtime)
-
def tag(self, tagname, content=None, gap=False, **kwargs):
tagval = ' '.join([tagname] +
['%s=%r' % (k.lower(), v)