Skip to content

Commit

Permalink
Integrate training data from TheRealManiac
Browse files Browse the repository at this point in the history
  • Loading branch information
Viir committed Mar 12, 2020
1 parent f56ef03 commit 4b237b5
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -888,12 +888,12 @@ parseOverviewWindowEntry entriesHeaders overviewEntryNode =

parseOverviewEntryDistanceInMetersFromText : String -> Result String Int
parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case "^[\\d\\,]+(?=\\s*m)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*m)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Just regexForUnitMeter ->
case "^[\\d\\,]+(?=\\s*km)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*km)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Expand All @@ -905,19 +905,15 @@ parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case distanceDisplayText |> Regex.find regexForUnitMeter |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> parseNumberTruncatingAfterOptionalDecimalSeparator

Nothing ->
case distanceDisplayText |> Regex.find regexForUnitKilometer |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> parseNumberTruncatingAfterOptionalDecimalSeparator
-- unit 'km'
|> Maybe.map ((*) 1000)
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> Result.map ((*) 1000)

Nothing ->
Err ("Text did not match expected number format: '" ++ distanceDisplayText ++ "'")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -888,12 +888,12 @@ parseOverviewWindowEntry entriesHeaders overviewEntryNode =

parseOverviewEntryDistanceInMetersFromText : String -> Result String Int
parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case "^[\\d\\,]+(?=\\s*m)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*m)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Just regexForUnitMeter ->
case "^[\\d\\,]+(?=\\s*km)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*km)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Expand All @@ -905,19 +905,15 @@ parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case distanceDisplayText |> Regex.find regexForUnitMeter |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> parseNumberTruncatingAfterOptionalDecimalSeparator

Nothing ->
case distanceDisplayText |> Regex.find regexForUnitKilometer |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> parseNumberTruncatingAfterOptionalDecimalSeparator
-- unit 'km'
|> Maybe.map ((*) 1000)
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> Result.map ((*) 1000)

Nothing ->
Err ("Text did not match expected number format: '" ++ distanceDisplayText ++ "'")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -888,12 +888,12 @@ parseOverviewWindowEntry entriesHeaders overviewEntryNode =

parseOverviewEntryDistanceInMetersFromText : String -> Result String Int
parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case "^[\\d\\,]+(?=\\s*m)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*m)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Just regexForUnitMeter ->
case "^[\\d\\,]+(?=\\s*km)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*km)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Expand All @@ -905,19 +905,15 @@ parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case distanceDisplayText |> Regex.find regexForUnitMeter |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> parseNumberTruncatingAfterOptionalDecimalSeparator

Nothing ->
case distanceDisplayText |> Regex.find regexForUnitKilometer |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> parseNumberTruncatingAfterOptionalDecimalSeparator
-- unit 'km'
|> Maybe.map ((*) 1000)
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> Result.map ((*) 1000)

Nothing ->
Err ("Text did not match expected number format: '" ++ distanceDisplayText ++ "'")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ overview_entry_distance_text_to_meter =
, ( "123 m", Ok 123 )
, ( "16 km", Ok 16000 )
, ( " 345 m ", Ok 345 )

-- 2020-03-12 from TheRealManiac (https://forum.botengine.org/t/last-version-of-mining-bot/3149)
, ( "6.621 m ", Ok 6621 )
]
|> List.map
(\( displayText, expectedResult ) ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -888,12 +888,12 @@ parseOverviewWindowEntry entriesHeaders overviewEntryNode =

parseOverviewEntryDistanceInMetersFromText : String -> Result String Int
parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case "^[\\d\\,]+(?=\\s*m)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*m)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Just regexForUnitMeter ->
case "^[\\d\\,]+(?=\\s*km)" |> Regex.fromString of
case "^[\\d\\,\\.]+(?=\\s*km)" |> Regex.fromString of
Nothing ->
Err "Regex code error"

Expand All @@ -905,19 +905,15 @@ parseOverviewEntryDistanceInMetersFromText distanceDisplayTextBeforeTrim =
case distanceDisplayText |> Regex.find regexForUnitMeter |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> parseNumberTruncatingAfterOptionalDecimalSeparator

Nothing ->
case distanceDisplayText |> Regex.find regexForUnitKilometer |> List.head of
Just match ->
match.match
|> String.replace "," ""
|> String.toInt
|> parseNumberTruncatingAfterOptionalDecimalSeparator
-- unit 'km'
|> Maybe.map ((*) 1000)
|> Result.fromMaybe ("Failed to parse to integer: " ++ match.match)
|> Result.map ((*) 1000)

Nothing ->
Err ("Text did not match expected number format: '" ++ distanceDisplayText ++ "'")
Expand Down

0 comments on commit 4b237b5

Please sign in to comment.