summaryrefslogtreecommitdiff
path: root/nopcollect
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2011-03-29 21:51:35 (GMT)
committerChristian Pointner <equinox@helsinki.at>2011-03-29 21:51:35 (GMT)
commit9ed0da8ca5b125495b3a0796c60f98abb233e27f (patch)
tree9a79a2d2b43a0d2702228e2af4adf522185e3540 /nopcollect
parent90d86556d7bcf29964f4c73b72ce47bcda7543aa (diff)
add initial nopcollect
Diffstat (limited to 'nopcollect')
-rw-r--r--nopcollect/conf.lua33
-rwxr-xr-xnopcollect/nopcollect54
-rw-r--r--nopcollect/nopcollect.conf8
3 files changed, 95 insertions, 0 deletions
diff --git a/nopcollect/conf.lua b/nopcollect/conf.lua
new file mode 100644
index 0000000..eb1cd29
--- /dev/null
+++ b/nopcollect/conf.lua
@@ -0,0 +1,33 @@
+--
+-- rhnop
+--
+-- Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
+--
+-- This file is part of rhnop.
+--
+-- rhnop is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- any later version.
+--
+-- rhnop is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
+--
+
+local conf = {}
+
+local file = assert(io.open("nopcollect.conf", "r"))
+for line in file:lines() do
+ local k,v = string.match(line, "^([^=#]+)=(.*)$")
+ if k and v and v ~= "" then
+ conf[k] = v
+ end
+end
+file:close()
+
+return conf
diff --git a/nopcollect/nopcollect b/nopcollect/nopcollect
new file mode 100755
index 0000000..04560e2
--- /dev/null
+++ b/nopcollect/nopcollect
@@ -0,0 +1,54 @@
+#!/usr/bin/lua
+--
+-- rhnop
+--
+-- Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
+--
+-- This file is part of rhnop.
+--
+-- rhnop is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- any later version.
+--
+-- rhnop is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with rhnop. If not, see <http://www.gnu.org/licenses/>.
+--
+--
+-- send now and next cart# and length to nopsyncd
+-- this script should be called by the now/next macro cart
+-- the arguments should be: now# nowlen next# nextlen
+--
+
+require "socket"
+
+conf = require "conf"
+
+-- connect to server (reconnect after error)
+local sock = assert(socket.tcp())
+
+local ret, err = sock:connect(conf.host, conf.port)
+if ret == nil then
+ print(err)
+ return 1
+end
+
+print "connection established"
+
+-- TODO: load all info we don't have yet
+
+while true do
+ local timestamp = sock:receive('*l')
+ -- TODO: check if connection is closed
+ print("received: '" .. timestamp .. "'")
+
+ -- TODO: check if we already fetched that timestamp
+ -- TODO: fetch info for the timestamp and insert it into local db
+end
+sock:close()
+return 0
diff --git a/nopcollect/nopcollect.conf b/nopcollect/nopcollect.conf
new file mode 100644
index 0000000..18316fb
--- /dev/null
+++ b/nopcollect/nopcollect.conf
@@ -0,0 +1,8 @@
+host=127.0.0.1
+port=2345
+
+db=nop
+#db_host=127.0.0.1
+#db_port=3306
+db_user=
+db_pwd=