// // rhimportd // // The Radio Helsinki Rivendell Import Daemon // // // Copyright (C) 2015 Christian Pointner // // 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 . // 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", ""); err != nil { // return // } // if err = w.WriteField("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 }