aboutsummaryrefslogtreecommitdiff
path: root/cmd/airlines
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/airlines')
-rw-r--r--cmd/airlines/main.go100
1 files changed, 78 insertions, 22 deletions
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"))
}