refactor: Add support for parsing JD Airlines flight schedule data
This commit is contained in:
@@ -15,6 +15,7 @@ type LineParser struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
CANCELLED = "CNL"
|
||||||
AirportCode = "airport"
|
AirportCode = "airport"
|
||||||
Date = "date"
|
Date = "date"
|
||||||
Task = "task"
|
Task = "task"
|
||||||
@@ -173,6 +174,10 @@ func ParseWithDef(line string, parserDef *LineParser) *domain.ScheduleLine {
|
|||||||
var flightSchedule = &domain.ScheduleLine{
|
var flightSchedule = &domain.ScheduleLine{
|
||||||
Reference: line,
|
Reference: line,
|
||||||
}
|
}
|
||||||
|
if strings.Contains(line, CANCELLED) {
|
||||||
|
flightSchedule.Comments = "Cancelled"
|
||||||
|
return flightSchedule
|
||||||
|
}
|
||||||
// var result map[string]string
|
// var result map[string]string
|
||||||
if parserDef == nil {
|
if parserDef == nil {
|
||||||
log.Warnf("No definition found: %s", line)
|
log.Warnf("No definition found: %s", line)
|
||||||
|
|||||||
@@ -132,25 +132,33 @@ var _ = Describe("Schedule Parser", func() {
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
var _ = Describe("FindDef", func() {
|
var _ = Describe("Parser Definition", func() {
|
||||||
|
|
||||||
Context("find def for MF", func() {
|
Context("MF", func() {
|
||||||
It("should return a valid def", func() {
|
It("valid def", func() {
|
||||||
def := FindDef("MF")
|
def := FindDef("MF")
|
||||||
Expect(def).NotTo(BeNil())
|
Expect(def).NotTo(BeNil())
|
||||||
Expect(def.Airlines).To(ContainElement("MF"))
|
Expect(def.Airlines).To(ContainElement("MF"))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
Context("find def for FM", func() {
|
Context("FM", func() {
|
||||||
It("should return a valid def", func() {
|
It("valid def", func() {
|
||||||
def := FindDef("FM")
|
def := FindDef("FM")
|
||||||
Expect(def).NotTo(BeNil())
|
Expect(def).NotTo(BeNil())
|
||||||
Expect(def.Airlines).To(ContainElement("FM"))
|
Expect(def.Airlines).To(ContainElement("FM"))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
Context("find def for CK", func() {
|
Context("8X", func() {
|
||||||
It("should return a valid def", func() {
|
It("valid def", func() {
|
||||||
|
def := FindDef("8X")
|
||||||
|
Expect(def).NotTo(BeNil())
|
||||||
|
Expect(def.Airlines).To(ContainElement("8X"))
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
Context("CK", func() {
|
||||||
|
It("nil", func() {
|
||||||
def := FindDef("CK")
|
def := FindDef("CK")
|
||||||
Expect(def).To(BeNil())
|
Expect(def).To(BeNil())
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user