| world -- Print mappings between country names and DNS country codes. | |
| Contact: Barry Warsaw | |
| Email: bwarsaw@python.org | |
| This script will take a list of Internet addresses and print out where in the | |
| world those addresses originate from, based on the top-level domain country | |
| code found in the address. Addresses can be in any of the following forms: | |
| xx -- just the country code or top-level domain identifier | |
| host.domain.xx -- any Internet host or network name | |
| somebody@where.xx -- an Internet email address | |
| If no match is found, the address is interpreted as a regular expression [*] | |
| and a reverse lookup is attempted. This script will search the country names | |
| and print a list of matching entries. You can force reverse mappings with the | |
| `-r' flag (see below). | |
| For example: | |
| %% world tz us | |
| tz originated from Tanzania, United Republic of | |
| us originated from United States | |
| %% world united | |
| united matches 6 countries: | |
| ae: United Arab Emirates | |
| uk: United Kingdom (common practice) | |
| um: United States Minor Outlying Islands | |
| us: United States | |
| tz: Tanzania, United Republic of | |
| gb: United Kingdom | |
| [*] Note that regular expressions must conform to Python 1.5's re.py module | |
| syntax. The comparison is done with the search() method. | |
| Country codes are maintained by the RIPE Network Coordination Centre, | |
| in coordination with the ISO 3166 Maintenance Agency at DIN Berlin. The | |
| authoritative source of counry code mappings is: | |
| <url:ftp://info.ripe.net/iso3166-countrycodes> | |
| The latest known change to this information was: | |
| Thu Aug 7 17:59:51 MET DST 1997 | |
| This script also knows about non-geographic top-level domains. | |
| Usage: world [-d] [-p file] [-o] [-h] addr [addr ...] | |
| --dump | |
| -d | |
| Print mapping of all top-level domains. | |
| --parse file | |
| -p file | |
| Parse an iso3166-countrycodes file extracting the two letter country | |
| code followed by the country name. Note that the three letter country | |
| codes and numbers, which are also provided in the standard format | |
| file, are ignored. | |
| --outputdict | |
| -o | |
| When used in conjunction with the `-p' option, output is in the form | |
| of a Python dictionary, and country names are normalized | |
| w.r.t. capitalization. This makes it appropriate for cutting and | |
| pasting back into this file. | |
| --reverse | |
| -r | |
| Force reverse lookup. In this mode the address can be any Python | |
| regular expression; this is matched against all country names and a | |
| list of matching mappings is printed. In normal mode (e.g. without | |
| this flag), reverse lookup is performed on addresses if no matching | |
| country code is found. | |
| -h | |
| --help | |
| Print this message. | |
| Local Variables: | |
| indent-tabs-mode: nil | |
| End: |