summaryrefslogtreecommitdiff
path: root/src/helsinki.at/rhimport/importer.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/helsinki.at/rhimport/importer.go')
-rw-r--r--src/helsinki.at/rhimport/importer.go63
1 files changed, 52 insertions, 11 deletions
diff --git a/src/helsinki.at/rhimport/importer.go b/src/helsinki.at/rhimport/importer.go
index 5da6075..8c7e66e 100644
--- a/src/helsinki.at/rhimport/importer.go
+++ b/src/helsinki.at/rhimport/importer.go
@@ -34,16 +34,49 @@ import (
)
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
+ Conf *Config
+ UserName string
+ password string
+ GroupName string
+ Cart int
+ Channels int
+ NormalizationLevel int
+ AutotrimLevel int
+ UseMetaData bool
+ SourceFile string
+ DeleteSourceFile bool
+}
+
+func NewImportContext(conf *Config, user string, group string, cart int) *ImportContext {
+ ctx := new(ImportContext)
+ ctx.Conf = conf
+ ctx.UserName = user
+ ctx.GroupName = group
+ ctx.Cart = cart
+ ctx.Channels = 2
+ ctx.NormalizationLevel = 1200
+ ctx.AutotrimLevel = 0
+ ctx.UseMetaData = false
+ ctx.SourceFile = ""
+ ctx.DeleteSourceFile = false
+
+ return ctx
+}
+
+func (ctx *ImportContext) getPassword(cached bool) (err error) {
+ req := getPasswordRequest{}
+ req.username = ctx.UserName
+ req.cached = cached
+ req.response = make(chan getPasswordResult)
+ ctx.Conf.getPasswordChan <- req
+
+ res := <-req.response
+ if res.err != nil {
+ err = res.err
+ return
+ }
+ ctx.password = res.password
+ return
}
// func import_audio(url, file string) (err error) {
@@ -94,6 +127,14 @@ type ImportContext struct {
// }
func ImportFile(ctx *ImportContext) (err error) {
- err = fmt.Errorf("not yet implemented")
+ rhl.Println("ImportFile called for", ctx.SourceFile)
+
+ if err = ctx.getPassword(true); err != nil {
+ return
+ }
+ rhdl.Println("credentials:", ctx.UserName, "/", ctx.password)
+
+ err = fmt.Errorf("%+v", ctx)
+
return
}