summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@helsinki.at>2015-12-07 15:55:35 (GMT)
committerChristian Pointner <equinox@helsinki.at>2015-12-08 00:28:37 (GMT)
commita1242a443a5c72ea3b851b8d886a82e0b9d42cf9 (patch)
tree68a0e61b277c3fc9dee0402262c4b22300d1f5ea
parent58f54da16b88f2600c9d53b49ae81e14facd293c (diff)
major refactoring of base structure
-rw-r--r--conf.go4
-rw-r--r--fetcher.go34
-rw-r--r--importer.go25
3 files changed, 50 insertions, 13 deletions
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 <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
}