Skip to content

Commit ec5179c

Browse files
authored
Update CSV data extraction for country codes and names
Signed-off-by: enoch85 <mailto@danielhansson.nu>
1 parent 8cbdd94 commit ec5179c

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

network/geoblock.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,16 +177,17 @@ Please report this to $ISSUES"
177177
fi
178178

179179
# Extract country codes (column 10: ISO3166-1-Alpha-2) and
180-
# names (column 41: official_name_en) from the CSV.
180+
# names (column 41: official_name_en) from the CSV to CODE,"Name" format.
181181
# Custom field parser handles quoted fields that contain commas.
182-
CSV_DATA=$(awk 'NR>1{n=split($0,c,"");q=0;f=1;v="";for(i=1;i<=n;i++){if(c[i]=="\"")q=!q;else if(c[i]==","&&!q){if(f==10)code=v;if(f==41)name=v;f++;v=""}else v=v c[i]}if(f==10)code=v;if(f==41)name=v;if(code!=""&&name!="")print code",\""name"\""}' "$SCRIPTS/country-codes.csv" | sort)
182+
awk 'NR>1{n=split($0,c,"");q=0;f=1;v="";for(i=1;i<=n;i++){if(c[i]=="\"")q=!q;else if(c[i]==","&&!q){if(f==10)code=v;if(f==41)name=v;f++;v=""}else v=v c[i]}if(f==10)code=v;if(f==41)name=v;if(code!=""&&name!="")print code",\""name"\""}' "$SCRIPTS/country-codes.csv" | sort > "$SCRIPTS/country-codes.csv.tmp"
183+
mv "$SCRIPTS/country-codes.csv.tmp" "$SCRIPTS/country-codes.csv"
183184

184185
# Get country names
185-
COUNTRY_NAMES=$(sed 's|.*,"||;s|"$||' <<< "$CSV_DATA")
186+
COUNTRY_NAMES=$(sed 's|.*,"||;s|"$||' "$SCRIPTS/country-codes.csv")
186187
mapfile -t COUNTRY_NAMES <<< "$COUNTRY_NAMES"
187188

188189
# Get country codes
189-
COUNTRY_CODES=$(sed 's|,.*||' <<< "$CSV_DATA")
190+
COUNTRY_CODES=$(sed 's|,.*||' "$SCRIPTS/country-codes.csv")
190191
mapfile -t COUNTRY_CODES <<< "$COUNTRY_CODES"
191192

192193
# Remove the csv file since no longer needed

0 commit comments

Comments
 (0)