From 1022b78e3245455440abc2e9c9864c8139551651 Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Tue, 1 Apr 2025 10:27:03 +0200 Subject: [PATCH 01/18] Update Name_Multilingual.py --- plugins/Name_Multilingual.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index e8054168d..88342b1f3 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -56,6 +56,7 @@ def aggregator(tags): {"name": tags["name:"+lang[1]].strip()}, {"name": tags["name:"+lang[0]].strip() + separator + tags["name:"+lang[1].strip()]}, {"name": tags["name:"+lang[1]].strip() + separator + tags["name:"+lang[0].strip()]}, + {"name": merge_sp_eu(tags["name:"+lang[0]], tags["name:"+lang[1]]).strip()} ] if tags.get("name:"+lang[0]) and tags.get("name:"+lang[1]) and tags["name:"+lang[0]].strip() != tags["name:"+lang[1]].strip() else [{"name": tags.get("name:"+lang[0], tags.get("name:"+lang[1])).strip()}] self.aggregator = aggregator self.split = self.split_sp_eu @@ -177,6 +178,11 @@ def split_sp_eu(self, name): if "-" not in name and "(" not in name: return self.split_delimitor(name, '/', False) + def merge_sp_eu(str1, str2): + first_list = x[0].split() + second_list = x[1].split() + return " ".join(first_list + list(set(second_list) - set(first_list))) + def split_sp_ast(self, name): if "-" not in name and "(" not in name: return self.split_delimitor(name, '/', True) From 82c01156e501e33d4a67cc0f770e9d88f899b415 Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Tue, 1 Apr 2025 10:45:50 +0200 Subject: [PATCH 02/18] fix typo --- plugins/Name_Multilingual.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 88342b1f3..ae1a43750 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -179,8 +179,8 @@ def split_sp_eu(self, name): return self.split_delimitor(name, '/', False) def merge_sp_eu(str1, str2): - first_list = x[0].split() - second_list = x[1].split() + first_list = str1.split() + second_list = str2.split() return " ".join(first_list + list(set(second_list) - set(first_list))) def split_sp_ast(self, name): From edd75072d5ebec96f7b4574f46544ef20a72825a Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Tue, 1 Apr 2025 11:42:24 +0200 Subject: [PATCH 03/18] use self for the helper --- plugins/Name_Multilingual.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index ae1a43750..6789edfaf 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -56,7 +56,7 @@ def aggregator(tags): {"name": tags["name:"+lang[1]].strip()}, {"name": tags["name:"+lang[0]].strip() + separator + tags["name:"+lang[1].strip()]}, {"name": tags["name:"+lang[1]].strip() + separator + tags["name:"+lang[0].strip()]}, - {"name": merge_sp_eu(tags["name:"+lang[0]], tags["name:"+lang[1]]).strip()} + {"name": self.merge_sp_eu(tags["name:"+lang[0]], tags["name:"+lang[1]]).strip()} ] if tags.get("name:"+lang[0]) and tags.get("name:"+lang[1]) and tags["name:"+lang[0]].strip() != tags["name:"+lang[1]].strip() else [{"name": tags.get("name:"+lang[0], tags.get("name:"+lang[1])).strip()}] self.aggregator = aggregator self.split = self.split_sp_eu @@ -178,7 +178,7 @@ def split_sp_eu(self, name): if "-" not in name and "(" not in name: return self.split_delimitor(name, '/', False) - def merge_sp_eu(str1, str2): + def merge_sp_eu(self, str1, str2): first_list = str1.split() second_list = str2.split() return " ".join(first_list + list(set(second_list) - set(first_list))) From 43620f7c084b06b2f8568c0aad2abb67bf032869 Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Tue, 1 Apr 2025 16:42:08 +0200 Subject: [PATCH 04/18] Add tests --- plugins/Name_Multilingual.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 6789edfaf..01ec871ef 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -354,3 +354,25 @@ class father: assert not self.p.way(None, {"name": u"Avenue جادة", "name:fr": u"Avenue", "name:ar": u"جادة"}, None) assert not self.p.way(None, {"name": u"Avenue 17 / جادة 17", "name:fr": u"Avenue 17", "name:ar": u"جادة 17"}, None) + + def test_eu(self): + TestPluginCommon.setUp(self) + self.p = Name_Multilingual(None) + class _config: + options = {"language": ["es", "eu"], "multilingual_style": "sp_eu"} + class father: + config = _config() + self.p.father = father() + self.p.init(None) + + assert self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}) + assert self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Nagusia", "name:eu": u"Kale Nagusia"}) + assert self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}) + assert self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}) + assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}) + + assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}) + assert not self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}) + assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"", "name:eu": u""}) + assert not self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Nagusia", "name:eu": u""}) + assert not self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}) From 6e17766f93a937f855807b9c7d987a5015ddab92 Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Tue, 1 Apr 2025 16:54:24 +0200 Subject: [PATCH 05/18] fix typo --- plugins/Name_Multilingual.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 01ec871ef..732cdcb74 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -365,14 +365,14 @@ class father: self.p.father = father() self.p.init(None) - assert self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}) - assert self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Nagusia", "name:eu": u"Kale Nagusia"}) - assert self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}) - assert self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}) - assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}) + assert self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) + assert self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Nagusia", "name:eu": u"Kale Nagusia"}, None) + assert self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}, None) + assert self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}, None) + assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}, None) - assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}) - assert not self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}) - assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"", "name:eu": u""}) - assert not self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Nagusia", "name:eu": u""}) - assert not self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}) + assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}, None) + assert not self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}, None) + assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"", "name:eu": u""}, None) + assert not self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Nagusia", "name:eu": u""}, None) + assert not self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) From 99a05f4cdc628fceb5d29ef508df0592d6e2339f Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Thu, 10 Apr 2025 09:46:02 +0200 Subject: [PATCH 06/18] Fix typo --- plugins/Name_Multilingual.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 732cdcb74..6b8f66f59 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -54,8 +54,8 @@ def aggregator(tags): return [ {"name": tags["name:"+lang[0]].strip()}, {"name": tags["name:"+lang[1]].strip()}, - {"name": tags["name:"+lang[0]].strip() + separator + tags["name:"+lang[1].strip()]}, - {"name": tags["name:"+lang[1]].strip() + separator + tags["name:"+lang[0].strip()]}, + {"name": tags["name:"+lang[0]].strip() + separator + tags["name:"+lang[1]].strip()}, + {"name": tags["name:"+lang[1]].strip() + separator + tags["name:"+lang[0]].strip()}, {"name": self.merge_sp_eu(tags["name:"+lang[0]], tags["name:"+lang[1]]).strip()} ] if tags.get("name:"+lang[0]) and tags.get("name:"+lang[1]) and tags["name:"+lang[0]].strip() != tags["name:"+lang[1]].strip() else [{"name": tags.get("name:"+lang[0], tags.get("name:"+lang[1])).strip()}] self.aggregator = aggregator From 63969ccb8ef1cd69ea4c120274caf13d8a19246d Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Thu, 10 Apr 2025 19:13:37 +0200 Subject: [PATCH 07/18] Redo function --- plugins/Name_Multilingual.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 6b8f66f59..60e9d3b8c 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -179,9 +179,9 @@ def split_sp_eu(self, name): return self.split_delimitor(name, '/', False) def merge_sp_eu(self, str1, str2): - first_list = str1.split() - second_list = str2.split() - return " ".join(first_list + list(set(second_list) - set(first_list))) + if str1.split()[1:] != str2.split()[:-1]: + return "" + return str1.split()[0] + " " + str2 def split_sp_ast(self, name): if "-" not in name and "(" not in name: From ce1ed22ed11cebcdb848709ab326b45d4e22f30e Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Sat, 12 Apr 2025 15:52:03 +0200 Subject: [PATCH 08/18] fix logic for testing --- plugins/Name_Multilingual.py | 68 ++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 19 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 60e9d3b8c..0424c790d 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -50,14 +50,39 @@ def aggregator(tags): name = tags.get("name") if name is not None and ("-" in name or "(" in name): return [] - separator = " / " if name is None or " / " in name else "/" - return [ - {"name": tags["name:"+lang[0]].strip()}, - {"name": tags["name:"+lang[1]].strip()}, - {"name": tags["name:"+lang[0]].strip() + separator + tags["name:"+lang[1]].strip()}, - {"name": tags["name:"+lang[1]].strip() + separator + tags["name:"+lang[0]].strip()}, - {"name": self.merge_sp_eu(tags["name:"+lang[0]], tags["name:"+lang[1]]).strip()} - ] if tags.get("name:"+lang[0]) and tags.get("name:"+lang[1]) and tags["name:"+lang[0]].strip() != tags["name:"+lang[1]].strip() else [{"name": tags.get("name:"+lang[0], tags.get("name:"+lang[1])).strip()}] + separator = " / " + + str1 = tags.get("name:" + lang[0]) + str2 = tags.get("name:" + lang[1]) + + combined = self.merge_sp_eu(str1, str2) + + value = [] + + if str1 and not str2: + value.append({"name": str1.strip()}) + + if str2 and not str1: + value.append({"name": str2.strip()}) + + if str1 and str2 and not combined: + value.append({"name": str1.strip() + separator + str2.strip()}) + value.append({"name": str2.strip() + separator + str1.strip()}) + + if combined: + value.append({"name": combined}) + + if str1 and name != str1 and separator not in name: + namestr1 = self.merge_sp_eu(name, str1) + value.append({"name": namestr1 or name.strip() + separator + str1.strip(), f"name:{lang[1]}": name }) + value.append({"name": namestr1 or str1.strip() + separator + name.strip(), f"name:{lang[1]}": name }) + + if str2 and name != str2 and separator not in name: + namestr2 = self.merge_sp_eu(name, str2) if separator not in name else None + value.append({"name": namestr2 or name.strip() + separator + str2.strip(), f"name:{lang[0]}": name }) + value.append({"name": namestr2 or str2.strip() + separator + name.strip(), f"name:{lang[0]}": name }) + + return value self.aggregator = aggregator self.split = self.split_sp_eu elif style == "sp_ast": @@ -98,6 +123,9 @@ def aggregator(tags): self.lang_regex_script = list(map(lambda l: [l, regex.compile(r"^[\p{{Common}}{0}]+$".format(gen_regex(language2scripts[l])), flags=regex.V1)], lang)) def filter_fix_already_existing(self, names, s): + if self.father.config.options.get("multilingual_style") == "sp_eu": + return [] + return list(filter( lambda d: len(d) > 0, map( @@ -137,6 +165,7 @@ def node(self, data, tags): for z in s: s_tags = dict(z, **tags) a = self.aggregator(s_tags) + if {"name": name} not in a: fix = fix + a else: @@ -179,8 +208,10 @@ def split_sp_eu(self, name): return self.split_delimitor(name, '/', False) def merge_sp_eu(self, str1, str2): + if not str1 or not str2: + return None if str1.split()[1:] != str2.split()[:-1]: - return "" + return None return str1.split()[0] + " " + str2 def split_sp_ast(self, name): @@ -365,14 +396,13 @@ class father: self.p.father = father() self.p.init(None) - assert self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) - assert self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Nagusia", "name:eu": u"Kale Nagusia"}, None) - assert self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}, None) - assert self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}, None) - assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}, None) - - assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}, None) - assert not self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}, None) + assert not self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) + assert not self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Mayor", "name:eu": u"Kale Nagusia"}, None) + assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}, None) + assert not self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}, None) + assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"", "name:eu": u""}, None) - assert not self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Nagusia", "name:eu": u""}, None) - assert not self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) + assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}, None) + assert self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}, None) + assert self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Mayor", "name:eu": u""}, None) + assert self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) From ce89f73004cb6db4f3b8241ce63ee139b2c364ab Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Sat, 12 Apr 2025 16:20:44 +0200 Subject: [PATCH 09/18] fix lint --- plugins/Name_Multilingual.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 0424c790d..bd395cd51 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -51,7 +51,7 @@ def aggregator(tags): if name is not None and ("-" in name or "(" in name): return [] separator = " / " - + str1 = tags.get("name:" + lang[0]) str2 = tags.get("name:" + lang[1]) @@ -61,7 +61,7 @@ def aggregator(tags): if str1 and not str2: value.append({"name": str1.strip()}) - + if str2 and not str1: value.append({"name": str2.strip()}) @@ -82,7 +82,7 @@ def aggregator(tags): value.append({"name": namestr2 or name.strip() + separator + str2.strip(), f"name:{lang[0]}": name }) value.append({"name": namestr2 or str2.strip() + separator + name.strip(), f"name:{lang[0]}": name }) - return value + return value self.aggregator = aggregator self.split = self.split_sp_eu elif style == "sp_ast": From 367e967925a2f0f9c728488f04e7090ec64e5145 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 15 May 2025 22:24:09 +0200 Subject: [PATCH 10/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index bd395cd51..5029445fe 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -165,7 +165,6 @@ def node(self, data, tags): for z in s: s_tags = dict(z, **tags) a = self.aggregator(s_tags) - if {"name": name} not in a: fix = fix + a else: From b0b846322c7afbe6c7e4a6028b68fab864bdb5ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 15 May 2025 22:27:51 +0200 Subject: [PATCH 11/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 5029445fe..0543fc406 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -395,13 +395,13 @@ class father: self.p.father = father() self.p.init(None) - assert not self.p.way(None, {"name": u"Carretera Ollaretxe errepidea", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) - assert not self.p.way(None, {"name": u"Kale Nagusia / Calle Mayor", "name:es": u"Calle Mayor", "name:eu": u"Kale Nagusia"}, None) - assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"Calle Vicente Blasco Ibáñez", "name:eu": u"Vicente Blasco Ibañez kalea"}, None) - assert not self.p.way(None, {"name": u"Calle San Diego kalea", "name:es": u"Calle San Diego", "name:eu": u"San Diego kalea"}, None) - assert not self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Islas Canarias", "name:eu": u"Kanariar Uharteen kalea"}, None) - assert not self.p.way(None, {"name": u"Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": u"", "name:eu": u""}, None) - assert self.p.way(None, {"name": u"Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": u"Calle Canarias", "name:eu": u"Kanarias kalea"}, None) - assert self.p.way(None, {"name": u"Calle San Diego", "name:es": u"", "name:eu": u"San Diego kalea"}, None) - assert self.p.way(None, {"name": u"Kale Nagusia", "name:es": u"Calle Mayor", "name:eu": u""}, None) - assert self.p.way(None, {"name": u"Carretera Ollaretxe", "name:es": u"Carretera Ollaretxe", "name:eu": u"Ollaretxe errepidea"}, None) + assert not self.p.way(None, {"name": "Carretera Ollaretxe errepidea", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) + assert not self.p.way(None, {"name": "Kale Nagusia / Calle Mayor", "name:es": "Calle Mayor", "name:eu": "Kale Nagusia"}, None) + assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "Calle Vicente Blasco Ibáñez", "name:eu": "Vicente Blasco Ibañez kalea"}, None) + assert not self.p.way(None, {"name": "Calle San Diego kalea", "name:es": "Calle San Diego", "name:eu": "San Diego kalea"}, None) + assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) + assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) + assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) + assert self.p.way(None, {"name": "Calle San Diego", "name:es": "", "name:eu": "San Diego kalea"}, None) + assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor", "name:eu": ""}, None) + assert self.p.way(None, {"name": "Carretera Ollaretxe", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) From 3b4a206011d293fcae2667852c0059064128b634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 15 May 2025 22:29:40 +0200 Subject: [PATCH 12/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 0543fc406..80cb7305b 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -402,6 +402,11 @@ class father: assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) + assert self.p.way(None, {"name": "Calle San Diego"}, None) + assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) + assert self.p.way(None, {"name:es": "Calle Mayor"}, None) + assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:es": "", "name:eu": "San Diego kalea"}, None) + assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor", "name:eu": ""}, None) assert self.p.way(None, {"name": "Carretera Ollaretxe", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) From efadd4c6274cdd9c41c4980f14912f7f17790d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 15 May 2025 22:40:17 +0200 Subject: [PATCH 13/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 80cb7305b..2c42df277 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -402,7 +402,7 @@ class father: assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) - assert self.p.way(None, {"name": "Calle San Diego"}, None) + assert self.p.way(None, {"name": "Calle San Diego"}, []) assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) From 616a7085b78ac9ea90615ce3519de707dc3819ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Thu, 15 May 2025 22:46:56 +0200 Subject: [PATCH 14/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 2c42df277..80cb7305b 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -402,7 +402,7 @@ class father: assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) - assert self.p.way(None, {"name": "Calle San Diego"}, []) + assert self.p.way(None, {"name": "Calle San Diego"}, None) assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) From cc3aee38cdf4ffcbe7aebe6c9fa272989e6f447c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Rodrigo?= Date: Sat, 17 May 2025 16:55:53 +0200 Subject: [PATCH 15/18] Update plugins/Name_Multilingual.py --- plugins/Name_Multilingual.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 80cb7305b..6ec45c543 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -402,7 +402,6 @@ class father: assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) - assert self.p.way(None, {"name": "Calle San Diego"}, None) assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) From d43a8c25bba402bc373ff727a6c97f1cfcd229ca Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Sun, 18 May 2025 14:38:45 +0200 Subject: [PATCH 16/18] fix tests --- plugins/Name_Multilingual.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 6ec45c543..75c50a523 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -402,10 +402,6 @@ class father: assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) - assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) - assert self.p.way(None, {"name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) - assert self.p.way(None, {"name": "Calle San Diego", "name:es": "", "name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor"}, None) - assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor", "name:eu": ""}, None) assert self.p.way(None, {"name": "Carretera Ollaretxe", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) From 867a167270fe582a340385aa93db164e9d7698c4 Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Mon, 2 Jun 2025 22:24:46 +0200 Subject: [PATCH 17/18] avoid undefined names --- plugins/Name_Multilingual.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 75c50a523..3114c4772 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -72,12 +72,12 @@ def aggregator(tags): if combined: value.append({"name": combined}) - if str1 and name != str1 and separator not in name: + if name and str1 and name != str1 and separator not in name: namestr1 = self.merge_sp_eu(name, str1) value.append({"name": namestr1 or name.strip() + separator + str1.strip(), f"name:{lang[1]}": name }) value.append({"name": namestr1 or str1.strip() + separator + name.strip(), f"name:{lang[1]}": name }) - if str2 and name != str2 and separator not in name: + if name and str2 and name != str2 and separator not in name: namestr2 = self.merge_sp_eu(name, str2) if separator not in name else None value.append({"name": namestr2 or name.strip() + separator + str2.strip(), f"name:{lang[0]}": name }) value.append({"name": namestr2 or str2.strip() + separator + name.strip(), f"name:{lang[0]}": name }) @@ -401,7 +401,10 @@ class father: assert not self.p.way(None, {"name": "Calle San Diego kalea", "name:es": "Calle San Diego", "name:eu": "San Diego kalea"}, None) assert not self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Islas Canarias", "name:eu": "Kanariar Uharteen kalea"}, None) assert not self.p.way(None, {"name": "Vicente Blasco Ibañez kalea / Calle Vicente Blasco Ibáñez", "name:es": "", "name:eu": ""}, None) + assert not self.p.way(None, {"name": "Calle San Diego"}, None) assert self.p.way(None, {"name": "Calle Islas Canarias / Kanariar Uharteen kalea", "name:es": "Calle Canarias", "name:eu": "Kanarias kalea"}, None) assert self.p.way(None, {"name": "Calle San Diego", "name:eu": "San Diego kalea"}, None) assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Carretera Ollaretxe", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) + assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) + assert self.p.way(None, {"name:es": "Calle Mayor"}, None) \ No newline at end of file From ccd6930a5a911385f896f230c427fc642033014e Mon Sep 17 00:00:00 2001 From: Hugoren Martinako Date: Mon, 2 Jun 2025 22:53:03 +0200 Subject: [PATCH 18/18] fix linter --- plugins/Name_Multilingual.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Name_Multilingual.py b/plugins/Name_Multilingual.py index 3114c4772..cc5349e15 100644 --- a/plugins/Name_Multilingual.py +++ b/plugins/Name_Multilingual.py @@ -407,4 +407,4 @@ class father: assert self.p.way(None, {"name": "Kale Nagusia", "name:es": "Calle Mayor"}, None) assert self.p.way(None, {"name": "Carretera Ollaretxe", "name:es": "Carretera Ollaretxe", "name:eu": "Ollaretxe errepidea"}, None) assert self.p.way(None, {"name:eu": "San Diego kalea"}, None) - assert self.p.way(None, {"name:es": "Calle Mayor"}, None) \ No newline at end of file + assert self.p.way(None, {"name:es": "Calle Mayor"}, None)