From bb833561aa74f02970aee13cdc75973b29716491 Mon Sep 17 00:00:00 2001 From: leshe4ka46 Date: Mon, 27 Oct 2025 20:36:28 +0300 Subject: # This is a combination of 2 commits. # This is the 1st commit message: unmarshal all formats, merge them in the single table, users are truly unique # This is the commit message #2: i --- cmd/airlines/main.go | 100 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 78 insertions(+), 22 deletions(-) (limited to 'cmd/airlines') diff --git a/cmd/airlines/main.go b/cmd/airlines/main.go index 8eeaef5..1710d57 100644 --- a/cmd/airlines/main.go +++ b/cmd/airlines/main.go @@ -1,13 +1,15 @@ package main import ( - "context" - "encoding/json" "fmt" - "os" - ljson "airlines/pkg/adapters/json" - "airlines/pkg/store" + "airlines/pkg/adapters/csv" + "airlines/pkg/adapters/json" + "airlines/pkg/adapters/xlsx" + "airlines/pkg/adapters/xml" + "airlines/pkg/adapters/yaml" + + "airlines/pkg/localstore" "github.com/joho/godotenv" ) @@ -18,26 +20,80 @@ func main() { if err != nil { fmt.Println(err) } - store, err := store.NewStore(fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME"))) - if err != nil { - panic(err) - } - _ = store.AutoMigrate() + //fmt.Sprintf("postgres://%s:%s@%s:%s/%s", os.Getenv("DB_USER"), os.Getenv("DB_PASSWORD"), os.Getenv("DB_HOST"), os.Getenv("DB_PORT"), os.Getenv("DB_NAME"))) + // store, err := store.NewStore("user=postgres dbname=airlines host=/home/alex/.pgsocket sslmode=disable") - // i, err := json.ImportForumProfilesJSON(context.Background(), store, "../../full.json", 16384) - // fmt.Println(i, err) - f, err := os.Open("../../full.json") + store := localstore.NewLocalStore() + fmt.Println("store created") - dec := json.NewDecoder(f) - // optional: be strict about unexpected fields - // dec.DisallowUnknownFields() + func() { + root, err := json.UnmarshalJsonRoot("/home/alex/ds-data/FrequentFlyerForum-Profiles.json") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled json") - var root ljson.JsonRoot - if err := dec.Decode(&root); err != nil { - panic(err) - } + root.DumpToDb(store) + fmt.Println("\ndumped json") + + }() + + func() { + // xlsx + tickets, err := xlsx.UnmarshallXlsxFiles("/home/alex/ds-data/YourBoardingPassDotAero/") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled xlsx") + + xlsx.DumpToDb(store, tickets) + fmt.Println("\ndumped xlsx to db") + }() + + func() { + xmldata, err := xml.UnmarshalXml("/home/alex/ds-data/PointzAggregator-AirlinesData.xml") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled xml") + + xmldata.DumpToDb(store) + fmt.Println("\ndumped xml to db") + }() + + func() { + yamlData, err := yaml.UnmarshallYaml("/home/alex/ds-data/SkyTeam-Exchange.yaml") + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled yaml") + + yamlData.DumpToDb(store) + fmt.Println("\ndumped yaml to db") + }() + + func() { + csvData, err := csv.UnmarshallCsv("/home/alex/ds-data/csv.csv", false) + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled csv1") + + csvData.DumpToDb(store) + fmt.Println("\ndumped yaml to csv1") + }() + + // fuck it + func() { + csvData2, err := csv.UnmarshallCsv("/home/alex/ds-data/tab.csv", true) + if err != nil { + panic(err) + } + fmt.Println("\nunmarshalled csv2") - root.DumpToDb(context.Background(), store) - // fmt.Println(root) + csvData2.DumpToDb(store) + fmt.Println("\ndumped yaml to csv2") + }() + fmt.Println(store.ExportAllCSVs("/tmp/ds")) } -- cgit v1.2.3