diff options
author | Christian Pointner <equinox@helsinki.at> | 2015-12-07 15:55:35 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2015-12-08 00:28:37 (GMT) |
commit | a1242a443a5c72ea3b851b8d886a82e0b9d42cf9 (patch) | |
tree | 68a0e61b277c3fc9dee0402262c4b22300d1f5ea | |
parent | 58f54da16b88f2600c9d53b49ae81e14facd293c (diff) |
major refactoring of base structure
-rw-r--r-- | conf.go | 4 | ||||
-rw-r--r-- | fetcher.go | 34 | ||||
-rw-r--r-- | importer.go | 25 |
3 files changed, 50 insertions, 13 deletions
@@ -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 <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 + +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 } |