Added direction notes

This commit is contained in:
斟酌 鵬兄 2022-09-17 06:42:49 +08:00
parent 7fd8d4fb6a
commit b251e35be4
5 changed files with 44 additions and 4 deletions

View File

@ -1,6 +1,7 @@
package kmb
import (
"fmt"
"strings"
query "github.com/tgckpg/golifehk/query"
@ -36,11 +37,21 @@ func ( this *QueryResult ) Message() ( string, error ) {
sb.WriteString( "\n " )
for _, route := range *b.Routes {
utils.WriteMDv2Text( &sb, route.RouteId )
if route.Direction == "O" {
sb.WriteString( "↑" )
} else if route.Direction == "I" {
sb.WriteString( "↓" )
}
if route.ServiceType != "1" {
utils.WriteMDv2Text( &sb, utils.ToPower( route.ServiceType ) )
}
sb.WriteString( " " )
}
sb.WriteString( "\n" )
}
}
fmt.Print( this.Query.Key )
} else {
}
return sb.String(), nil

View File

@ -6,5 +6,16 @@ import (
)
func TestQuerySchedule( t *testing.T ) {
fmt.Print( Query( "zh", "大欖" ).Message() )
qo := Query( "zh-Hant", "68X" )
mesg, err := qo.Message()
if err != nil {
t.Errorf( "Unexpected Error: %s", err )
}
fmt.Println( mesg )
qo = Query( "zh-Hant", "K66 朗屏" )
mesg, err = qo.Message()
if err == nil {
t.Errorf( "Expected Error: %s, got \"\" instead", mesg )
}
}

View File

@ -58,14 +58,21 @@ func Parse( line string, entries *[] ISearchable ) ( *QueryObject, error ) {
return &QueryObject{ Key: Key, Results: &matches, SearchTerms: &terms }, nil
} else if 0 < len( terms ) {
for _, entry := range *entries {
anyFailed := false
for _, term := range terms {
if term.IsKey {
continue
}
if ( Key == "" || Key == *entry.GetKey() ) && entry.Test( term.Value ) {
matches = append( matches, entry )
if !( ( Key == "" || Key == *entry.GetKey() ) && entry.Test( term.Value ) ) {
anyFailed = true
break
}
}
if !anyFailed {
matches = append( matches, entry )
}
}
return &QueryObject{ Key: Key, Results: &matches, SearchTerms: &terms }, nil
}

View File

@ -9,4 +9,8 @@ var WORKDIR string = TryGetEnv( "GOLIFEHK_WORKDIR", filepath.Join( os.TempDir(),
var BOM string = bytes.NewBuffer([]byte{ 0xEF, 0xBB, 0xBF }).String()
const KEY_CHARS string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-"
var POWER_NUMBERS map[string] string = map[string] string {
"0": "⁰", "1": "¹", "2": "²", "3": "³",
"4": "⁴", "5": "⁵", "6": "⁶", "7": "⁷",
"8": "⁸", "9": "⁹",
}

View File

@ -16,6 +16,13 @@ func WriteMDv2Text( sb *strings.Builder, t string ) {
sb.WriteString( t )
}
func ToPower( t string ) string {
for s, r := range POWER_NUMBERS {
t = strings.ReplaceAll( t, s, r )
}
return t
}
func TryGetEnv[T any]( name string, fallback T ) T {
v := os.Getenv( name )