Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
irees committed Oct 4, 2024
1 parent bfb92f5 commit 5bb500f
Show file tree
Hide file tree
Showing 4 changed files with 5,211 additions and 1,375 deletions.
37 changes: 30 additions & 7 deletions tlpb/csv.go
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@
package tlpb

import (
"encoding/json"
"fmt"

"github.com/interline-io/transitland-lib/tl"
"github.com/interline-io/transitland-lib/tl/tt"
"github.com/interline-io/transitland-lib/tlcsv"
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/reflect/protoreflect"
)

func (t *Url) FromCsv(v string) error {
t.Url = v
t.Val = v
return nil
}

func (t *EntityID) FromCsv(v string) error {
t.Id = v
t.Val = v
return nil
}

func (t *Reference) FromCsv(v string) error {
t.EntityId = v
t.Val = v
return nil
}

Expand All @@ -29,7 +31,7 @@ func (t *Seconds) FromCsv(v string) error {
if err != nil {
return err
}
t.Seconds = int64(wt.Seconds)
t.Val = int64(wt.Seconds)
return nil
}

Expand All @@ -38,19 +40,40 @@ func pbJson(v protoreflect.ProtoMessage) string {
return string(jj)
}

func ReadStops(fn string) error {
func ReadStopsPB(fn string) error {
a := tlcsv.NewZipAdapter(fn)
if err := a.Open(); err != nil {
panic(err)
}
a.ReadRows("stop_times.txt", func(row tlcsv.Row) {
ent := StopTime{}
a.ReadRows("stops.txt", func(row tlcsv.Row) {
ent := Stop{}
if errs := tlcsv.LoadRow(&ent, row); errs != nil {
for _, err := range errs {
panic(err)
}
}
_ = ent
fmt.Println(pbJson(&ent))
})
return nil
}

func ReadStopsTT(fn string) error {
a := tlcsv.NewZipAdapter(fn)
if err := a.Open(); err != nil {
panic(err)
}
a.ReadRows("stops.txt", func(row tlcsv.Row) {
ent := tl.Stop{}
if errs := tlcsv.LoadRow(&ent, row); errs != nil {
for _, err := range errs {
panic(err)
}
}
_ = ent
jj, _ := json.Marshal(&ent)
fmt.Println(string(jj))
// fmt.Println(pbJson(&ent))
})
return nil
}
16 changes: 14 additions & 2 deletions tlpb/csv_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ import (
"github.com/interline-io/transitland-lib/internal/testutil"
)

func TestReadStops(t *testing.T) {
ReadStops(testutil.RelPath("test/data/external/bart.zip"))
func TestReadStopsPB(t *testing.T) {
ReadStopsPB(testutil.RelPath("test/data/external/bart.zip"))
}

func BenchmarkReadStopsPB(b *testing.B) {
for n := 0; n < b.N; n++ {
ReadStopsPB(testutil.RelPath("test/data/external/bart.zip"))
}
}

func BenchmarkReadStopsTT(b *testing.B) {
for n := 0; n < b.N; n++ {
ReadStopsTT(testutil.RelPath("test/data/external/bart.zip"))
}
}
Loading

0 comments on commit 5bb500f

Please sign in to comment.