X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/509b8ec62adac85558c32ed51cbc11ec4b93d8c7..458402813cfc14d9e1cbca890b238ce78ee72357:/lib/potlatch.rb diff --git a/lib/potlatch.rb b/lib/potlatch.rb index cf8f5903d..29ab4535a 100644 --- a/lib/potlatch.rb +++ b/lib/potlatch.rb @@ -92,6 +92,10 @@ module Potlatch 0.chr+encodedouble(n) when 'NilClass' 5.chr + when 'TrueClass' + 0.chr+encodedouble(1) + when 'FalseClass' + 0.chr+encodedouble(0) else RAILS_DEFAULT_LOGGER.error("Unexpected Ruby type for AMF conversion: "+n.class.to_s) end @@ -143,7 +147,7 @@ module Potlatch presetcategory=$2 presetmenus[presettype].push(presetcategory) presetnames[presettype][presetcategory]=["(no preset)"] - elsif (t=~/^(.+):\s?(.+)$/) then + elsif (t=~/^([\w\s]+):\s?(.+)$/) then pre=$1; kv=$2 presetnames[presettype][presetcategory].push(pre) presets[pre]={} @@ -182,12 +186,23 @@ module Potlatch } end + # Read POI presets + icon_list=[]; icon_tags={}; + File.open("#{RAILS_ROOT}/config/potlatch/icon_presets.txt") do |file| + file.each_line {|line| + (icon,tags)=line.chomp.split("\t") + icon_list.push(icon) + icon_tags[icon]=Hash[*tags.scan(/([^;=]+)=([^;=]+)/).flatten] + } + end + icon_list.reverse! + # Read auto-complete autotags={}; autotags['point']={}; autotags['way']={}; autotags['POI']={}; File.open("#{RAILS_ROOT}/config/potlatch/autocomplete.txt") do |file| file.each_line {|line| t=line.chomp - if (t=~/^(\w+)\/(\w+)\s+(.+)$/) then + if (t=~/^([\w:]+)\/(\w+)\s+(.+)$/) then tag=$1; type=$2; values=$3 if values=='-' then autotags[type][tag]=[] else autotags[type][tag]=values.split(',').sort.reverse end @@ -195,10 +210,7 @@ module Potlatch } end - # Read internationalisation - localised = YAML::load(File.open("#{RAILS_ROOT}/config/potlatch/localised.yaml")) - - [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,localised] + [presets,presetmenus,presetnames,colours,casing,areas,autotags,relcolours,relalphas,relwidths,icon_list,{},icon_tags] end end