diff options
| author | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-14 16:51:46 +0200 |
|---|---|---|
| committer | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-14 16:51:46 +0200 |
| commit | b4dc0e2602f2b55ee0856f0ab0ab0db7aad3ae48 (patch) | |
| tree | 1505fc08d67780c57f71650dd5873af48c8abb64 /monitor/josef_monitor.py | |
| parent | 7e5ddc38362991048946b3c23eae8565920f0ce7 (diff) | |
adding domain monitoring to monitor
Diffstat (limited to 'monitor/josef_monitor.py')
| -rwxr-xr-x | monitor/josef_monitor.py | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/monitor/josef_monitor.py b/monitor/josef_monitor.py index d11d38f..0569a81 100755 --- a/monitor/josef_monitor.py +++ b/monitor/josef_monitor.py @@ -13,12 +13,13 @@ import argparse import errno from copy import deepcopy from josef_lib import * +from josef_reader import monitored_domain from josef_leveldb import db_add_certs, db_open import os.path # Import from config file if os.path.isfile("monitor_conf.py"): - from monitor_conf import ctlogs, OUTPUT_DIR, INTERVAL, DEFAULT_CERT_FILE, DB_PATH + from monitor_conf import ctlogs, OUTPUT_DIR, INTERVAL, DEFAULT_CERT_FILE, DB_PATH, MONITORED_DOMAINS, DOMAINS_FILE else: print "Config file not found!" sys.exit() @@ -115,7 +116,6 @@ class ctlog: raise e def log(self, string): - # TODO change to UTC? s = time.strftime('%Y-%m-%d, %H:%M:%S') + " " + string with open(self.logfile, 'a') as f: f.write(s + "\n") @@ -324,8 +324,21 @@ def main(args): global DB # Create logs logs = [] - # if DB_PATH: - # DB = db_open(DB_PATH) + + monitored_domains = [] + with open(DOMAINS_FILE) as fp: + for line in fp: + tmp = json.loads(line) + for domain in tmp: + md = monitored_domain(domain["url"]) + md.load_entries(domain["entries"]) + + for md in MONITORED_DOMAINS: + tmp = monitored_domain(md) + if not tmp in monitored_domains: + tmp.set() + monitored_domains.append(tmp) + try: for item in ctlogs: logs.append(ctlog(item, ctlogs[item][0], ctlogs[item][1])) @@ -352,17 +365,31 @@ def main(args): log.verify_consistency(old_sth) log.incremental_build() + for md in monitored_domains: + md.update() + except KeyboardInterrupt: print time.strftime('%H:%M:%S') + ' Received interrupt from user. Saving and exiting....' for log in logs: log.save() + domain_dict = [] + for md in monitored_domains: + domain_dict.append(md.to_dict()) + open(DOMAINS_FILE, 'w').write(json.dumps(domain_dict)) + # except Exception, err: # print Exception, err # for log in logs: # log.save() + # domain_dict = [] + # for md in monitored_domains: + # domain_dict.append(md.to_dict()) + + # open(DOMAINS_FILE, 'w').write(json.dumps(domain_dict)) + if __name__ == '__main__': |
