From a0e7bab59854315d2ec130496ec40c69b0da0f02 Mon Sep 17 00:00:00 2001 From: Lev Dragunov Date: Fri, 17 Feb 2017 14:41:00 +0300 Subject: [PATCH] Add oneway:conditional profile code comment. --- profiles/lib/handlers.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/profiles/lib/handlers.lua b/profiles/lib/handlers.lua index 86881274b..abf547f83 100644 --- a/profiles/lib/handlers.lua +++ b/profiles/lib/handlers.lua @@ -398,9 +398,15 @@ function Handlers.handle_oneway(way,result,data,profile) elseif profile.oneway_handling == 'specific' then oneway = Tags.get_value_by_prefixed_sequence(way,profile.restrictions,'oneway') elseif profile.oneway_handling == 'conditional' then - oneway = Tags.get_value_by_prefixed_sequence(way,profile.restrictions,'oneway') or way:get_value_by_key("oneway") + -- Following code assumes that `oneway` and `oneway:conditional` tags have opposite values and takes weakest (always `no`). + -- So if we will have: + -- oneway=yes, oneway:conditional=no @ (condition1) + -- oneway=no, oneway:conditional=yes @ (condition2) + -- condition1 will be always true and condition2 will be always false. if way:get_value_by_key("oneway:conditional") then oneway = "no" + else + oneway = Tags.get_value_by_prefixed_sequence(way,profile.restrictions,'oneway') or way:get_value_by_key("oneway") end end