Implemented correct CSV File Picking for import
This commit is contained in:
parent
8f2ecbc5e5
commit
2feb107c5a
@ -27,8 +27,8 @@ func main() {
|
||||
|
||||
defer cancel()
|
||||
var wg sync.WaitGroup
|
||||
app := app.NewApp(NewDir, ProcessedDir, Rights, &wg)
|
||||
ds := dataservice.NewDataService()
|
||||
app := app.NewApp(&wg)
|
||||
ds := dataservice.NewDataService(dataservice.DataServiceDebugHandler, NewDir, ProcessedDir, Rights)
|
||||
ds.AddListener(app)
|
||||
wg.Add(ds.ListenerCount())
|
||||
app.Run()
|
||||
|
||||
4
go.mod
4
go.mod
@ -4,7 +4,7 @@ go 1.24.4
|
||||
|
||||
require (
|
||||
gittea.marcokittel.de/elio/eliotools/logger v0.0.0-20250624203334-69cf94bf1eef
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250622182838-d7bc6feff972
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626212824-2199e71c62fd
|
||||
)
|
||||
|
||||
require gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626045721-6475655ba7b0
|
||||
require gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626215804-b8e72f5652e6
|
||||
|
||||
24
go.sum
24
go.sum
@ -4,7 +4,31 @@ gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626043708-9b699695e66f
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626043708-9b699695e66f/go.mod h1:RQlmQsRhpitThSuGT7vl5XwTh1duVGHCmJ0caI+xIoE=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626045721-6475655ba7b0 h1:888K6jaDIbZpFPGv0weZMQXywtsDmUx/pD4mZWyFDEA=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626045721-6475655ba7b0/go.mod h1:RQlmQsRhpitThSuGT7vl5XwTh1duVGHCmJ0caI+xIoE=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626170705-977f71385fe9 h1:bN2IAGDikScwDezPUhb26e6zFfawisneRNQ3xdX/Whg=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626170705-977f71385fe9/go.mod h1:RQlmQsRhpitThSuGT7vl5XwTh1duVGHCmJ0caI+xIoE=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626201301-c90924a4efa5 h1:qa3FfyPfJTb0xbra8mU0L46rytPkcZ1J3bU2MjzENBo=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626201301-c90924a4efa5/go.mod h1:RQlmQsRhpitThSuGT7vl5XwTh1duVGHCmJ0caI+xIoE=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626212313-a152ec93d546 h1:F3GPqyyYt655xdHyyHmKMBPsxvNRypQyKmPx7CPyQuI=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626212313-a152ec93d546/go.mod h1:h9FfBWQD/1+fF3sFaYN89K3xH54t3LHKBKQj8YiAjnU=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626212824-2199e71c62fd h1:ecT7wOC+USHtK+EmY1e0vXkrvsNbN0xuuOuORN0wGgQ=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626212824-2199e71c62fd/go.mod h1:h9FfBWQD/1+fF3sFaYN89K3xH54t3LHKBKQj8YiAjnU=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626215445-f3705c40c380 h1:W3gKHcVpFtrCzVxcX/Vczd/uVedWIyC7+yulLwOoJ90=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626215445-f3705c40c380/go.mod h1:h9FfBWQD/1+fF3sFaYN89K3xH54t3LHKBKQj8YiAjnU=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626215804-b8e72f5652e6 h1:dru/Bcg52eUmNm2qnWnKPmpYB4VjnFPBdhWXARZOqPo=
|
||||
gittea.marcokittel.de/elio/eliotools/eliofile v0.0.0-20250626215804-b8e72f5652e6/go.mod h1:h9FfBWQD/1+fF3sFaYN89K3xH54t3LHKBKQj8YiAjnU=
|
||||
gittea.marcokittel.de/elio/eliotools/logger v0.0.0-20250624203334-69cf94bf1eef h1:EzFzLINpiq712X2/t8ZMTLoWuqA6sRmpH3J0VpFi2Cg=
|
||||
gittea.marcokittel.de/elio/eliotools/logger v0.0.0-20250624203334-69cf94bf1eef/go.mod h1:WDmnG6o72HhGTSkgwj2kXYcRL2MaNFNsKNBeTh6NIzo=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250622182838-d7bc6feff972 h1:ADdr3tbG0Zd5lYirqcMGWd7LSiVkwdOoknVOCfGFkYI=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250622182838-d7bc6feff972/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626170705-977f71385fe9 h1:D2bGrhYH8qsiBJpEjbsNQuJor4rxhiNkaDVhYXG+OVQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626170705-977f71385fe9/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626171442-a998aabb24a7 h1:l4vjU4fBrWuZ4QK3Py2f4lQQKg07BMXvLRinpqJoT5E=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626171442-a998aabb24a7/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626201301-c90924a4efa5 h1:A0GZ9Z+IxL/bD9KfGetobuMTh7x+XLzwwAVWuFldHOs=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626201301-c90924a4efa5/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626204134-2c2a5a5f5193 h1:QOq2tQjE0ViQ31r/eBMUgjnRMth5ZPwoR4L794EzdJs=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626204134-2c2a5a5f5193/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626212313-a152ec93d546 h1:MOMit+kjsRAAfY1jieJUiy2mUaf8RhlevSQihRd86YE=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626212313-a152ec93d546/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626212824-2199e71c62fd h1:NYRlflnOMzwcqEsAMYg79++/jHDNTkF2Rq5ZL0RcrBU=
|
||||
gittea.marcokittel.de/elio/eliotools/tools v0.0.0-20250626212824-2199e71c62fd/go.mod h1:jJvuXliNOiG9i8VXrY9vK5Bqv9QwDtswCs3CNIIBvUQ=
|
||||
|
||||
@ -2,32 +2,22 @@ package app
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io/fs"
|
||||
"os"
|
||||
"runtime"
|
||||
"sync"
|
||||
|
||||
"gittea.marcokittel.de/elio/eliotools/datawriter/internal/dbwriter"
|
||||
"gittea.marcokittel.de/elio/eliotools/logger"
|
||||
"gittea.marcokittel.de/elio/eliotools/tools"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
wg *sync.WaitGroup
|
||||
mu sync.Mutex
|
||||
log logger.Logger
|
||||
newFolderPath string
|
||||
processedFolderPath string
|
||||
lookupPath string
|
||||
dirCreationRights int
|
||||
wg *sync.WaitGroup
|
||||
mu sync.Mutex
|
||||
log logger.Logger
|
||||
}
|
||||
|
||||
func NewApp(newFolderPath string, processedFolderPath string, dirCreationRights int, wg *sync.WaitGroup) *App {
|
||||
func NewApp(wg *sync.WaitGroup) *App {
|
||||
a := App{log: logger.NewMarcoLogger(),
|
||||
newFolderPath: newFolderPath,
|
||||
processedFolderPath: processedFolderPath,
|
||||
dirCreationRights: dirCreationRights,
|
||||
wg: wg,
|
||||
wg: wg,
|
||||
}
|
||||
return &a
|
||||
}
|
||||
@ -42,35 +32,6 @@ func (a *App) AppendData(data dbwriter.MyStruct) error {
|
||||
//Todo
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *App) Foo() {
|
||||
|
||||
path, _ := os.Getwd()
|
||||
ml := logger.NewMarcoLogger()
|
||||
newDirExists, err := tools.CheckDir(path + a.newFolderPath)
|
||||
if err != nil {
|
||||
ml.Fatal(err.Error())
|
||||
}
|
||||
processedDirExists, err := tools.CheckDir(path + a.processedFolderPath)
|
||||
if err != nil {
|
||||
ml.Fatal(err.Error())
|
||||
}
|
||||
|
||||
if !newDirExists {
|
||||
err := tools.Createdir(path+a.newFolderPath, fs.FileMode(a.dirCreationRights))
|
||||
if err == nil {
|
||||
ml.Infof("%s created.", a.newFolderPath)
|
||||
}
|
||||
}
|
||||
|
||||
if !processedDirExists {
|
||||
err := tools.Createdir(path+a.processedFolderPath, fs.FileMode(a.dirCreationRights))
|
||||
if err == nil {
|
||||
ml.Infof("%s created.", a.processedFolderPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (a *App) Run() {
|
||||
if runtime.GOOS == "windows" {
|
||||
a.log.Fatal("Einfach nein!")
|
||||
|
||||
@ -2,20 +2,37 @@ package dataservice
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"gittea.marcokittel.de/elio/eliotools/datawriter/internal/dbwriter"
|
||||
"gittea.marcokittel.de/elio/eliotools/datawriter/internal/event"
|
||||
"gittea.marcokittel.de/elio/eliotools/eliofile"
|
||||
"gittea.marcokittel.de/elio/eliotools/logger"
|
||||
"gittea.marcokittel.de/elio/eliotools/tools"
|
||||
"sync"
|
||||
"time"
|
||||
)
|
||||
|
||||
var DataServiceDebugHandler = func(filename string) bool {
|
||||
log := logger.NewMarcoLogger()
|
||||
if tools.IsFilenameValid(filename) {
|
||||
t, err := tools.ExtractDateAndConvertToDate(filename)
|
||||
if err != nil {
|
||||
log.Warning(filename + "\n" + err.Error())
|
||||
return false
|
||||
}
|
||||
log.Info("Datei gefunden.: " + filename + " " + t.String() + "\n")
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type DataService struct {
|
||||
listener []event.EventListener
|
||||
log logger.Logger
|
||||
ef eliofile.ElioDateiFoo
|
||||
listener []event.EventListener
|
||||
log logger.Logger
|
||||
ef eliofile.ElioDateiFoo
|
||||
newFolderPath string
|
||||
processedFolderPath string
|
||||
lookupPath string
|
||||
dirCreationRights int
|
||||
}
|
||||
|
||||
func (d *DataService) ListenerCount() int {
|
||||
@ -47,9 +64,12 @@ func (d *DataService) AddListener(ev event.EventListener) {
|
||||
d.listener = append(d.listener, ev)
|
||||
}
|
||||
|
||||
func NewDataService() *DataService {
|
||||
ds := DataService{listener: make([]event.EventListener, 0), log: logger.NewMarcoLogger(), ef: *eliofile.NewElioDateiFoo(".", func(filename string) {
|
||||
fmt.Printf("Achtung hier wird das CSV Vearbeitet: %s\n\n", filename)
|
||||
})}
|
||||
func NewDataService(process eliofile.ElioHandleFunc, newFolderPath string, processedFolderPath string, dirCreationRights int) *DataService {
|
||||
ds := DataService{listener: make([]event.EventListener, 0),
|
||||
log: logger.NewMarcoLogger(),
|
||||
ef: *eliofile.NewElioDateiFoo(".", process),
|
||||
newFolderPath: newFolderPath,
|
||||
processedFolderPath: processedFolderPath,
|
||||
dirCreationRights: dirCreationRights}
|
||||
return &ds
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user