Documentation
¶
Index ¶
- type AfterValidator
- type AfterWrite
- type ApplyParentTimezoneFilter
- type BasicRouteTypeFilter
- type Command
- type Copier
- func (copier *Copier) AddExtension(ext interface{}) error
- func (copier *Copier) AddValidator(ext Validator, level int) error
- func (copier *Copier) Copy() *Result
- func (copier *Copier) CopyEntities(ents []tl.Entity) error
- func (copier *Copier) CopyEntity(ent tl.Entity) (string, error, error)
- func (copier *Copier) SetLogger(g zerolog.Logger)
- type ErrorGroup
- type ErrorHandler
- type Extension
- type Filter
- type Marker
- type NormalizeTimezoneFilter
- type Options
- type Prepare
- type Result
- func (cr *Result) DisplayErrors()
- func (cr *Result) DisplaySummary()
- func (cr *Result) DisplayWarnings()
- func (cr *Result) HandleEntityErrors(ent tl.Entity, errs []error, warns []error)
- func (cr *Result) HandleError(fn string, errs []error)
- func (cr *Result) HandleSourceErrors(fn string, errs []error, warns []error)
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AfterValidator ¶ added in v0.8.1
AfterValidator is called for each fully validated entity before writing.
type AfterWrite ¶ added in v0.8.8
AfterWrite is called for after writing each entity.
type ApplyParentTimezoneFilter ¶ added in v0.10.0
type ApplyParentTimezoneFilter struct {
// contains filtered or unexported fields
}
ApplyParentTimezoneFilter sets timezone based on the default agency timezone or parent stop timezone Can be used with NormalizeTimezoneFilter
type BasicRouteTypeFilter ¶ added in v0.8.0
type BasicRouteTypeFilter struct{}
BasicRouteTypeFilter checks for extended route_type's and converts to basic route_types.
type Command ¶ added in v0.8.5
type Command struct {
Options
// contains filtered or unexported fields
}
Command
type Copier ¶
type Copier struct {
// Default options
Options
// Reader and writer
Reader tl.Reader
Writer tl.Writer
// Entity selection strategy
Marker Marker
// Error handler, called for each entity
ErrorHandler ErrorHandler
*tl.EntityMap
// contains filtered or unexported fields
}
Copier copies from Reader to Writer
func (*Copier) AddExtension ¶
AddExtension adds an Extension to the copy process.
func (*Copier) AddValidator ¶ added in v0.8.0
AddValidator adds an additional entity validator.
func (*Copier) Copy ¶
Copy copies Base GTFS entities from the Reader to the Writer, returning the summary as a Result.
func (*Copier) CopyEntities ¶ added in v0.10.0
CopyEntities validates a slice of entities and writes those that pass validation.
func (*Copier) CopyEntity ¶
CopyEntity performs validation and saves errors and warnings, returns new EntityID if written, otherwise an entity error or write error. An entity error means the entity was not not written because it had an error or was filtered out; not fatal. A write error should be considered fatal and should stop any further write attempts. Any errors and warnings are added to the Result.
type ErrorGroup ¶ added in v0.8.0
ErrorGroup helps group errors together with a maximum limit on the number stored.
func NewErrorGroup ¶ added in v0.8.0
func NewErrorGroup(filename string, etype string, limit int) *ErrorGroup
NewErrorGroup returns a new ErrorGroup.
func (*ErrorGroup) Add ¶ added in v0.8.0
func (e *ErrorGroup) Add(err error)
Add an error to the error group.
type ErrorHandler ¶
type ErrorHandler interface {
HandleEntityErrors(tl.Entity, []error, []error)
HandleSourceErrors(string, []error, []error)
}
ErrorHandler is called on each source file and entity; errors can be nil
type NormalizeTimezoneFilter ¶ added in v0.10.0
type NormalizeTimezoneFilter struct{}
NormalizeTimezoneFilter changes a timezone alias to a normalized timezone, e.g. "US/Pacific" -> "America/Los_Angeles"
type Options ¶ added in v0.8.0
type Options struct {
// Batch size
BatchSize int
// Attempt to save an entity that returns validation errors
AllowEntityErrors bool
AllowReferenceErrors bool
// Interpolate any missing StopTime values: ArrivalTime/DepartureTime/ShapeDistTraveled
InterpolateStopTimes bool
// Create a stop-to-stop Shape for Trips without a ShapeID.
CreateMissingShapes bool
// Create missing Calendar entries
NormalizeServiceIDs bool
// Normalize timezones, e.g. US/Pacific -> America/Los_Angeles
NormalizeTimezones bool
// Simplify Calendars that use mostly CalendarDates
SimplifyCalendars bool
// Convert extended route types to primitives
UseBasicRouteTypes bool
// Simplify shapes
SimplifyShapes float64
// DeduplicateStopTimes
DeduplicateJourneyPatterns bool
// Default error handler
ErrorHandler ErrorHandler
// Journey Pattern Key Function
JourneyPatternKey func(*tl.Trip) string
// Named extensions
Extensions []string
// contains filtered or unexported fields
}
Options defines the settable options for a Copier.
type Result ¶ added in v0.8.0
type Result struct {
WriteError error
InterpolatedStopTimeCount int
EntityCount map[string]int
GeneratedCount map[string]int
SkipEntityErrorCount map[string]int
SkipEntityReferenceCount map[string]int
SkipEntityFilterCount map[string]int
SkipEntityMarkedCount map[string]int
Errors map[string]*ErrorGroup
Warnings map[string]*ErrorGroup
ErrorLimit int
}
Result stores Copier results and statistics.
func (*Result) DisplayErrors ¶ added in v0.8.0
func (cr *Result) DisplayErrors()
DisplayErrors shows individual errors in log.Info
func (*Result) DisplaySummary ¶ added in v0.8.0
func (cr *Result) DisplaySummary()
DisplaySummary shows entity and error counts in log.Info
func (*Result) DisplayWarnings ¶ added in v0.8.0
func (cr *Result) DisplayWarnings()
DisplayWarnings shows individual warnings in log.Info
func (*Result) HandleEntityErrors ¶ added in v0.8.0
HandleEntityErrors .
func (*Result) HandleError ¶ added in v0.8.0
HandleError .