1world -- Print mappings between country names and DNS country codes. 2 3Contact: Barry Warsaw 4Email: bwarsaw@python.org 5 6This script will take a list of Internet addresses and print out where in the 7world those addresses originate from, based on the top-level domain country 8code found in the address. Addresses can be in any of the following forms: 9 10 xx -- just the country code or top-level domain identifier 11 host.domain.xx -- any Internet host or network name 12 somebody@where.xx -- an Internet email address 13 14If no match is found, the address is interpreted as a regular expression [*] 15and a reverse lookup is attempted. This script will search the country names 16and print a list of matching entries. You can force reverse mappings with the 17`-r' flag (see below). 18 19For example: 20 21 %% world tz us 22 tz originated from Tanzania, United Republic of 23 us originated from United States 24 25 %% world united 26 united matches 6 countries: 27 ae: United Arab Emirates 28 uk: United Kingdom (common practice) 29 um: United States Minor Outlying Islands 30 us: United States 31 tz: Tanzania, United Republic of 32 gb: United Kingdom 33 34 35 [*] Note that regular expressions must conform to Python 1.5's re.py module 36 syntax. The comparison is done with the search() method. 37 38Country codes are maintained by the RIPE Network Coordination Centre, 39in coordination with the ISO 3166 Maintenance Agency at DIN Berlin. The 40authoritative source of counry code mappings is: 41 42 <url:ftp://info.ripe.net/iso3166-countrycodes> 43 44The latest known change to this information was: 45 46 Thu Aug 7 17:59:51 MET DST 1997 47 48This script also knows about non-geographic top-level domains. 49 50Usage: world [-d] [-p file] [-o] [-h] addr [addr ...] 51 52 --dump 53 -d 54 Print mapping of all top-level domains. 55 56 --parse file 57 -p file 58 Parse an iso3166-countrycodes file extracting the two letter country 59 code followed by the country name. Note that the three letter country 60 codes and numbers, which are also provided in the standard format 61 file, are ignored. 62 63 --outputdict 64 -o 65 When used in conjunction with the `-p' option, output is in the form 66 of a Python dictionary, and country names are normalized 67 w.r.t. capitalization. This makes it appropriate for cutting and 68 pasting back into this file. 69 70 --reverse 71 -r 72 Force reverse lookup. In this mode the address can be any Python 73 regular expression; this is matched against all country names and a 74 list of matching mappings is printed. In normal mode (e.g. without 75 this flag), reverse lookup is performed on addresses if no matching 76 country code is found. 77 78 -h 79 --help 80 Print this message. 81 82 83Local Variables: 84indent-tabs-mode: nil 85End: 86