From a1242a443a5c72ea3b851b8d886a82e0b9d42cf9 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 7 Dec 2015 16:55:35 +0100 Subject: major refactoring of base structure diff --git a/conf.go b/conf.go index 6dcbe84..8e373c0 100644 --- a/conf.go +++ b/conf.go @@ -45,6 +45,7 @@ type getPasswordRequest struct { type Config struct { configfile string RDXportEndpoint string + TempDir string db_host string db_user string db_passwd string @@ -142,7 +143,7 @@ func (self *Config) Cleanup() { } } -func NewConfig(configfile, rdxport_endpoint *string) (conf *Config, err error) { +func NewConfig(configfile, rdxport_endpoint, temp_dir *string) (conf *Config, err error) { conf = new(Config) conf.configfile = *configfile if err = conf.read_config_file(); err != nil { @@ -151,6 +152,7 @@ func NewConfig(configfile, rdxport_endpoint *string) (conf *Config, err error) { conf.quit = make(chan bool) conf.done = make(chan bool) conf.RDXportEndpoint = *rdxport_endpoint + conf.TempDir = *temp_dir conf.password_cache = make(map[string]string) conf.getPasswordChan = make(chan getPasswordRequest) diff --git a/fetcher.go b/fetcher.go new file mode 100644 index 0000000..ead9f5f --- /dev/null +++ b/fetcher.go @@ -0,0 +1,34 @@ +// +// 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 + +func FetchFile(ctx *ImportContext) (err error) { + + // TODO: fetch file from ctx.SourceUri and put it into ctx.Conf.TempDir + + ctx.SourceFile = ctx.Conf.TempDir + "/source-file.ogg" + ctx.DeleteSourceFile = true + return +} diff --git a/importer.go b/importer.go index e47bc05..95e3e73 100644 --- a/importer.go +++ b/importer.go @@ -25,12 +25,12 @@ package rhimport import ( - // "bytes" - // "fmt" - // "io" - // "mime/multipart" - // "net/http" - // "os" +// "bytes" +// "fmt" +// "io" +// "mime/multipart" +// "net/http" +// "os" ) type ImportContext struct { @@ -40,24 +40,27 @@ type ImportContext struct { Trusted bool GroupName string Cart int + Cut int Channels int NormalizationLevel int AutotrimLevel int UseMetaData bool + SourceUri string SourceFile string DeleteSourceFile bool } -func NewImportContext(conf *Config, user string, group string, cart int) *ImportContext { +func NewImportContext(conf *Config, user string, group string) *ImportContext { ctx := new(ImportContext) ctx.Conf = conf ctx.UserName = user ctx.Password = "" ctx.Trusted = false ctx.GroupName = group - ctx.Cart = cart + ctx.Cart = 0 + ctx.Cut = 0 ctx.Channels = 2 - ctx.NormalizationLevel = 1200 + ctx.NormalizationLevel = -1200 ctx.AutotrimLevel = 0 ctx.UseMetaData = false ctx.SourceFile = "" @@ -137,9 +140,7 @@ func ImportFile(ctx *ImportContext) (err error) { return } } - rhdl.Printf("credentials: '%s':'%s'", ctx.UserName, ctx.Password) - -// err = fmt.Errorf("%+v", ctx) + rhdl.Printf("%+v", ctx) return } -- cgit v0.10.2