diff --git a/generator/osm2meta.cpp b/generator/osm2meta.cpp index e225cbe90..ed2023e51 100644 --- a/generator/osm2meta.cpp +++ b/generator/osm2meta.cpp @@ -136,6 +136,11 @@ std::string MetadataTagProcessorImpl::ValidateAndFormat_url(std::string const & return v; } +std::string MetadataTagProcessorImpl::ValidateAndFormat_text(std::string const & v) +{ + return v; +} + std::string MetadataTagProcessorImpl::ValidateAndFormat_phone(std::string const & v) { return v; @@ -617,6 +622,7 @@ void MetadataTagProcessor::operator()(std::string const & k, std::string const & return; valid = ValidateAndFormat_brand(v); break; + case Metadata::FMD_BRANCH: valid = ValidateAndFormat_text(v); break; case Metadata::FMD_DURATION: valid = ValidateAndFormat_duration(v); break; case Metadata::FMD_CAPACITY: valid = ValidateAndFormat_capacity(v); break; case Metadata::FMD_LOCAL_REF: valid = ValidateAndFormat_local_ref(v); break; diff --git a/generator/osm2meta.hpp b/generator/osm2meta.hpp index 6c29019cb..f543c5cde 100644 --- a/generator/osm2meta.hpp +++ b/generator/osm2meta.hpp @@ -12,6 +12,7 @@ struct MetadataTagProcessorImpl std::string ValidateAndFormat_maxspeed(std::string const & v) const; static std::string ValidateAndFormat_stars(std::string const & v); std::string ValidateAndFormat_operator(std::string const & v) const; + static std::string ValidateAndFormat_text(std::string const & v); static std::string ValidateAndFormat_url(std::string const & v); static std::string ValidateAndFormat_phone(std::string const & v); static std::string ValidateAndFormat_opening_hours(std::string const & v); diff --git a/libs/indexer/feature_meta.cpp b/libs/indexer/feature_meta.cpp index ca3476a85..31a3b35ff 100644 --- a/libs/indexer/feature_meta.cpp +++ b/libs/indexer/feature_meta.cpp @@ -176,6 +176,8 @@ bool Metadata::TypeFromString(string_view k, Metadata::EType & outType) outType = Metadata::FMD_AIRPORT_IATA; else if (k.starts_with("brand")) outType = Metadata::FMD_BRAND; + else if (k == "branch") + outType = Metadata::FMD_BRANCH; else if (k == "duration") outType = Metadata::FMD_DURATION; else if (k == "capacity") @@ -290,6 +292,7 @@ string ToString(Metadata::EType type) case Metadata::FMD_LEVEL: return "level"; case Metadata::FMD_AIRPORT_IATA: return "iata"; case Metadata::FMD_BRAND: return "brand"; + case Metadata::FMD_BRANCH: return "branch"; case Metadata::FMD_DURATION: return "duration"; case Metadata::FMD_CONTACT_FACEBOOK: return "contact:facebook"; case Metadata::FMD_CONTACT_INSTAGRAM: return "contact:instagram"; diff --git a/libs/indexer/feature_meta.hpp b/libs/indexer/feature_meta.hpp index b286c4de9..652e7e947 100644 --- a/libs/indexer/feature_meta.hpp +++ b/libs/indexer/feature_meta.hpp @@ -123,6 +123,7 @@ public: FMD_PANORAMAX = 52, FMD_CHECK_DATE = 53, FMD_CHECK_DATE_OPEN_HOURS = 54, + FMD_BRANCH = 55, FMD_COUNT }; diff --git a/tools/feature_list/feature_list.cpp b/tools/feature_list/feature_list.cpp index 079888876..cfd1588f4 100644 --- a/tools/feature_list/feature_list.cpp +++ b/tools/feature_list/feature_list.cpp @@ -257,6 +257,7 @@ public: string const contact_fediverse(meta.Get(feature::Metadata::FMD_CONTACT_FEDIVERSE)); string const contact_bluesky(meta.Get(feature::Metadata::FMD_CONTACT_BLUESKY)); string const stars(meta.Get(feature::Metadata::FMD_STARS)); + string const branch(meta.Get(feature::Metadata::FMD_BRANCH)); string const internet(meta.Get(feature::Metadata::FMD_INTERNET)); string const denomination(meta.Get(feature::Metadata::FMD_DENOMINATION)); string const wheelchair(GetWheelchairType(f)); @@ -284,6 +285,7 @@ public: website, stars, std::string(metaOperator), + branch, internet, denomination, wheelchair, @@ -326,6 +328,7 @@ void PrintHeader() "cuisines", "stars", "operator", + "branch", "internet", "denomination", "wheelchair",