Documentation
¶
Index ¶
- type AfterValidator
- type AfterWrite
- 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) (error, error)
- func (copier *Copier) SetLogger(g zerolog.Logger)
- type ErrorHandler
- type ExpandFilter
- type Extension
- type Filter
- type Marker
- 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 ValidationError
- type ValidationErrorGroup
- 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 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
EntityMap *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. 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 copier result.
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 ExpandFilter ¶ added in v0.11.0
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
// Copy extra files (requires CSV input)
CopyExtraFiles 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
// Error limit
ErrorLimit int
// 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]*ValidationErrorGroup
Warnings map[string]*ValidationErrorGroup
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 .
type ValidationError ¶ added in v0.16.0
type ValidationError struct {
Filename string `db:"-"`
Field string `db:"-"`
ErrorCode string `db:"-"`
Line int
GroupKey string
Message string
EntityID string
Value string
Geometry tt.Geometry
EntityJson tt.Map
}
func (ValidationError) Error ¶ added in v0.16.0
func (e ValidationError) Error() string
type ValidationErrorGroup ¶ added in v0.16.0
type ValidationErrorGroup struct {
Filename string
Field string
ErrorType string
ErrorCode string
GroupKey string
Level int
Count int
Limit int `db:"-"`
Errors []ValidationError `db:"-"`
}
ValidationErrorGroup helps group errors together with a maximum limit on the number stored.
func NewValidationErrorGroup ¶ added in v0.16.0
func NewValidationErrorGroup(err error, limit int) *ValidationErrorGroup
func (*ValidationErrorGroup) Add ¶ added in v0.16.0
func (e *ValidationErrorGroup) Add(err error)
Add an error to the error group.
func (*ValidationErrorGroup) Key ¶ added in v0.16.0
func (eg *ValidationErrorGroup) Key() string