aboutsummaryrefslogtreecommitdiff
path: root/scripts/Old/cronjob.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2009-09-30 02:44:08 +0000
committerRob Austein <sra@hactrn.net>2009-09-30 02:44:08 +0000
commit8ff6e084a319ac1c2c5a2ce613e0c6af4ef7c967 (patch)
tree67e7941019be8b0a356b301e51486488a949f304 /scripts/Old/cronjob.py
parentbfceadc41e1ed51fa0f390b8a6eebe9e2004b78c (diff)
First pass at cleaning up some of the accumulated clutter
svn path=/rpkid/Makefile; revision=2800
Diffstat (limited to 'scripts/Old/cronjob.py')
-rw-r--r--scripts/Old/cronjob.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/scripts/Old/cronjob.py b/scripts/Old/cronjob.py
new file mode 100644
index 00000000..eee2b945
--- /dev/null
+++ b/scripts/Old/cronjob.py
@@ -0,0 +1,72 @@
+"""
+Tool to trigger "cron" runs in rpkid.
+
+Usage: python cronjob.py [ { -c | --config } configfile ]
+ [ { -d | --debug } ]
+ [ { -h | --help } ]
+
+Default configuration file is cronjob.conf, override with --config option.
+
+$Id$
+
+Copyright (C) 2007--2008 American Registry for Internet Numbers ("ARIN")
+
+Permission to use, copy, modify, and distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+"""
+
+import getopt, sys
+import rpki.config, rpki.https, rpki.async
+
+cfg_file = "cronjob.conf"
+debug = False
+
+opts, argv = getopt.getopt(sys.argv[1:], "c:h?", ["config=", "help"])
+for o, a in opts:
+ if o in ("-h", "--help", "-?"):
+ print __doc__
+ sys.exit(0)
+ elif o in ("-c", "--config"):
+ cfg_file = a
+ elif o in ("-d", "--debug"):
+ debug = True
+if argv:
+ print __doc__
+ raise RuntimeError, "Unexpected arguments %s" % argv
+
+cfg = rpki.config.parser(cfg_file, "cronjob")
+
+if debug:
+ rpki.log.init("cronjob")
+ rpki.log.set_trace(True)
+
+irbe_key = rpki.x509.RSA( Auto_file = cfg.get("irbe-key"))
+irbe_cert = rpki.x509.X509(Auto_file = cfg.get("irbe-cert"))
+bpki_ta = rpki.x509.X509(Auto_file = cfg.get("bpki-ta"))
+rpkid_cert = rpki.x509.X509(Auto_file = cfg.get("rpkid-cert"))
+
+def cb(*whatever):
+ print repr(whatever)
+
+def eb(e):
+ print repr(e)
+ raise e
+
+rpki.https.client(client_key = irbe_key,
+ client_cert = irbe_cert,
+ server_ta = (bpki_ta, rpkid_cert),
+ url = cfg.get("https-url"),
+ msg = "Please run cron now.",
+ callback = cb,
+ errback = eb)
+
+rpki.async.event_loop()