summaryrefslogtreecommitdiff
path: root/src/helsinki.at/rhimport/importer.go
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2015-12-03 18:59:01 (GMT)
committerChristian Pointner <equinox@helsinki.at>2015-12-03 18:59:01 (GMT)
commitece69efd67af2982cac882b9192872c7ff6957bb (patch)
tree3b4eed7f1566516597a73818dbef332b493da145 /src/helsinki.at/rhimport/importer.go
parent96f34d1d2eb0617ce832eb60325360ed208db5e0 (diff)
moved control interface back to main package
added importer at rhimport package
Diffstat (limited to 'src/helsinki.at/rhimport/importer.go')
-rw-r--r--src/helsinki.at/rhimport/importer.go99
1 files changed, 99 insertions, 0 deletions
diff --git a/src/helsinki.at/rhimport/importer.go b/src/helsinki.at/rhimport/importer.go
new file mode 100644
index 0000000..5da6075
--- /dev/null
+++ b/src/helsinki.at/rhimport/importer.go
@@ -0,0 +1,99 @@
+//
+// rhimportd
+//
+// The Radio Helsinki Rivendell Import Daemon
+//
+//
+// Copyright (C) 2015 Christian Pointner <equinox@helsinki.at>
+//
+// This file is part of rhimportd.
+//
+// rhimportd 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.
+//
+// rhimportd 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 rhimportd. If not, see <http://www.gnu.org/licenses/>.
+//
+
+package rhimport
+
+import (
+ // "bytes"
+ "fmt"
+ // "io"
+ // "mime/multipart"
+ // "net/http"
+ // "os"
+)
+
+type ImportContext struct {
+ username string
+ groupname string
+ // TODO: password channel
+ cart int
+ channels int
+ normalization_level int
+ autotrim_level int
+ use_meta_data bool
+ source_file string
+ delete_source_file bool
+}
+
+// func import_audio(url, file string) (err error) {
+
+// var b bytes.Buffer
+// w := multipart.NewWriter(&b)
+
+// if err = w.WriteField("COMMAND", "2"); err != nil {
+// return
+// }
+// if err = w.WriteField("LOGIN_NAME", "<username>"); err != nil {
+// return
+// }
+// if err = w.WriteField("PASSWORD", "<password>"); err != nil {
+// return
+// }
+
+// f, err := os.Open(file)
+// if err != nil {
+// return
+// }
+// fw, err := w.CreateFormFile("FILENAME", file)
+// if err != nil {
+// return
+// }
+// if _, err = io.Copy(fw, f); err != nil {
+// return
+// }
+// f.Close()
+
+// w.Close()
+
+// req, err := http.NewRequest("POST", url, &b)
+// if err != nil {
+// return
+// }
+// req.Header.Set("Content-Type", w.FormDataContentType())
+
+// client := &http.Client{}
+// res, err := client.Do(req)
+// if err != nil {
+// return
+// }
+// if res.StatusCode != http.StatusOK {
+// err = fmt.Errorf("bad status: %s", res.Status)
+// }
+// return
+// }
+
+func ImportFile(ctx *ImportContext) (err error) {
+ err = fmt.Errorf("not yet implemented")
+ return
+}