summaryrefslogtreecommitdiff
path: root/src/pool-import/main.go
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2016-08-03 14:02:52 (GMT)
committerChristian Pointner <equinox@helsinki.at>2016-08-03 14:02:52 (GMT)
commit41d0e0fc33aea9c2c584ad0a2e0da1ab802a4a68 (patch)
tree286642704ea94d59375f021695853e4d91fe73ce /src/pool-import/main.go
inital commit
Diffstat (limited to 'src/pool-import/main.go')
-rw-r--r--src/pool-import/main.go77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/pool-import/main.go b/src/pool-import/main.go
new file mode 100644
index 0000000..dfa6ab5
--- /dev/null
+++ b/src/pool-import/main.go
@@ -0,0 +1,77 @@
+//
+// pool-import
+//
+// Copyright (C) 2016 Christian Pointner <equinox@helsinki.at>
+//
+// This file is part of pool-import.
+//
+// pool-import 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.
+//
+// pool-import 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 pool-import. If not, see <http://www.gnu.org/licenses/>.
+//
+
+package main
+
+import (
+ "log"
+ "os"
+
+ "code.helsinki.at/rhrd-go/rddb"
+ "code.helsinki.at/rhrd-go/rhimport"
+)
+
+const (
+ NEW_RD_CONF = "/etc/rd.conf"
+ OLD_RD_CONF = "rd.conf"
+)
+
+func main() {
+ if len(os.Args) < 3 {
+ log.Fatal("Usage: pool-import <old pool group> <new pool group>")
+ }
+ old_group := os.Args[1]
+ new_group := os.Args[2]
+
+ impconf, err := rhimport.NewConfig(NEW_RD_CONF, "http://localhost/rd-bin/rdxport.cgi", "/tmp", "snd/")
+ if err != nil {
+ log.Fatal("Error parsing configuration file:", err)
+ }
+
+ newdb, err := rddb.NewDB(NEW_RD_CONF)
+ if err != nil {
+ log.Fatal("Error initializing NEW Rivdenll DB:", err)
+ }
+ defer newdb.Cleanup()
+
+ stdlog := log.New(os.Stderr, "[std] ", log.LstdFlags)
+ dbglog := log.New(os.Stderr, "[dbg] ", log.LstdFlags)
+ sessions, err := rhimport.NewSessionStore(impconf, newdb.GetInterface(), stdlog, dbglog)
+ if err != nil {
+ log.Fatal("Error initializing Session Store:", err)
+ }
+ defer sessions.Cleanup()
+
+ olddb, err := NewDB(OLD_RD_CONF)
+ if err != nil {
+ log.Fatal("Error initializing OLD Rivdenll DB:", err)
+ }
+ defer olddb.Cleanup()
+ olddbi := olddb.GetInterface()
+
+ pool := PoolListEntry{old_group, ""}
+ carts, err := olddbi.GetPoolCartList(pool)
+ if err != nil {
+ log.Fatal("Error fetching Pool cart list:", err)
+ }
+
+ log.Printf("will import: %d carts from old:%s -> new:%s", len(carts), old_group, new_group)
+}