diff options
| author | Dirk Engling <erdgeist@erdgeist.org> | 2019-01-22 22:51:38 +0100 |
|---|---|---|
| committer | Dirk Engling <erdgeist@erdgeist.org> | 2019-01-22 22:51:38 +0100 |
| commit | dd4cefb2ae4c0254e358a42ad7b8c732b07d93e2 (patch) | |
| tree | 9886bf1fa82936708fe93cf5d50ccc2c266904b4 | |
| parent | 1265d90390a147ed6368451d9927e0d82792265f (diff) | |
Add support for yellow pages format after 2003
| -rwxr-xr-x | makecolumns.sh | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/makecolumns.sh b/makecolumns.sh index 288e702..c38a791 100755 --- a/makecolumns.sh +++ b/makecolumns.sh | |||
| @@ -285,7 +285,14 @@ handle_format_version_3() { | |||
| 285 | } | 285 | } |
| 286 | 286 | ||
| 287 | handle_format_version_4() { | 287 | handle_format_version_4() { |
| 288 | echo "Working on $1. Detected post-2003 Telefonbuch version." | 288 | if [ -f $1/branchcodes.tl ]; then |
| 289 | is_yp=true | ||
| 290 | echo "Working on $1. Detected post-2003 Yellow Pages version." | ||
| 291 | else | ||
| 292 | unset is_yp | ||
| 293 | echo "Working on $1. Detected post-2003 Telefonbuch version." | ||
| 294 | fi | ||
| 295 | |||
| 289 | printf "Extracting street names ... " | 296 | printf "Extracting street names ... " |
| 290 | extract_version_4 $1/streets.tl | 297 | extract_version_4 $1/streets.tl |
| 291 | 298 | ||
| @@ -314,8 +321,10 @@ handle_format_version_4() { | |||
| 314 | 321 | ||
| 315 | # the 'did not object to inverse search' flag is insane and needs to be reversed | 322 | # the 'did not object to inverse search' flag is insane and needs to be reversed |
| 316 | if grep -q ^40 column_0; then | 323 | if grep -q ^40 column_0; then |
| 324 | printf "Cleanung up inverted reverse search flags ... " | ||
| 317 | awk '{ a=substr($0,1,1); printf "%x%x\n",index("5670123cdef89ab4",a)%16 ,substr($0,2,1) }' < column_0 > 01_Flags | 325 | awk '{ a=substr($0,1,1); printf "%x%x\n",index("5670123cdef89ab4",a)%16 ,substr($0,2,1) }' < column_0 > 01_Flags |
| 318 | rm column_0 | 326 | rm column_0 |
| 327 | printf "done\n" | ||
| 319 | else | 328 | else |
| 320 | mv column_0 01_Flags | 329 | mv column_0 01_Flags |
| 321 | fi | 330 | fi |
| @@ -355,7 +364,7 @@ handle_format_version_4() { | |||
| 355 | elif [ -f $1/zip-streets-geo.tl ]; then | 364 | elif [ -f $1/zip-streets-geo.tl ]; then |
| 356 | printf "Extracting geo coordinates (precision: street) ... " | 365 | printf "Extracting geo coordinates (precision: street) ... " |
| 357 | extract_version_4 $1/zip-streets-geo.tl | 366 | extract_version_4 $1/zip-streets-geo.tl |
| 358 | cat file_* > 91_Geokoordinaten_str | 367 | cat file_* > 91_Geokoordinaten_str |
| 359 | printf "done.\n" | 368 | printf "done.\n" |
| 360 | printf "Looking up geo coordinates for each phonebook entry ... " | 369 | printf "Looking up geo coordinates for each phonebook entry ... " |
| 361 | paste 10_Postleitzahl 07_Strasse | map_coords 91_Geokoordinaten_str | convert_coords > 16_Koordinaten | 370 | paste 10_Postleitzahl 07_Strasse | map_coords 91_Geokoordinaten_str | convert_coords > 16_Koordinaten |
| @@ -363,6 +372,25 @@ handle_format_version_4() { | |||
| 363 | fi | 372 | fi |
| 364 | rm file_* | 373 | rm file_* |
| 365 | 374 | ||
| 375 | if [ "${is_yp}" ]; then | ||
| 376 | printf "Extracting branch names ... " | ||
| 377 | extract_version_4 $1/branchcodes.tl | ||
| 378 | cat file_* | tr '\n\0' '\t\n' > 97_Branchenname | ||
| 379 | rm file_* | ||
| 380 | printf "done.\n" | ||
| 381 | |||
| 382 | printf "Generating branch name index ... " | ||
| 383 | mkdir branchcodes/ | ||
| 384 | while read index name; do | ||
| 385 | printf $name > branchcodes/${index} | ||
| 386 | done < 97_Branchenname | ||
| 387 | printf "done.\n" | ||
| 388 | |||
| 389 | printf "Looking up branch names from codes ... " | ||
| 390 | map_branches 97_Branchenname < 09_Verweise > 09_Branchen | ||
| 391 | printf "done.\n" | ||
| 392 | rm -r branchcodes | ||
| 393 | fi | ||
| 366 | } | 394 | } |
| 367 | 395 | ||
| 368 | tidy_streetnames () { | 396 | tidy_streetnames () { |
