lists.arthurdejong.org
RSS feed

python-stdnum branch master updated. 1.7-25-g8107f08

[Date Prev][Date Next] [Thread Prev][Thread Next]

python-stdnum branch master updated. 1.7-25-g8107f08



This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-stdnum".

The branch, master has been updated
       via  8107f08f9cc0b0aba2329e9bd874d37abc760499 (commit)
       via  e781eeea908018fce0c00c03378d3f40031dc2a7 (commit)
      from  442aa8235b6621fbc79c7402e4da6231e3c7b4c6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://arthurdejong.org/git/python-stdnum/commit/?id=8107f08f9cc0b0aba2329e9bd874d37abc760499

commit 8107f08f9cc0b0aba2329e9bd874d37abc760499
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Mon Jan 1 13:59:57 2018 +0100

    Update database files
    
    Note that the Swift IBAN Registry in txt format is currently unavailable
    so hasn't been updated.

diff --git a/stdnum/cn/loc.dat b/stdnum/cn/loc.dat
index a13ed6f..d098e0d 100644
--- a/stdnum/cn/loc.dat
+++ b/stdnum/cn/loc.dat
@@ -1,6 +1,6 @@
 # generated from National Bureau of Statistics of the People's
 # Republic of China, downloaded from https://github.com/cn/GB2260
-# 2017-09-11 20:25:34.790310
+# 2018-01-01 12:14:49.217641
 110101 county="东城区" prefecture="市辖区" province="北京市"
 110102 county="西城区" prefecture="市辖区" province="北京市"
 110103 county="崇文区" prefecture="市辖区" province="北京市"
diff --git a/stdnum/eu/nace.dat b/stdnum/eu/nace.dat
index 20e85c9..9217f47 100644
--- a/stdnum/eu/nace.dat
+++ b/stdnum/eu/nace.dat
@@ -1,4 +1,4 @@
-# generated from NACE_REV2_20170911_222638.xml, downloaded from
+# generated from NACE_REV2_20180101_131838.xml, downloaded from
 # 
http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=ACT_OTH_CLS_DLD&StrNom=NACE_REV2&StrFormat=XML&StrLanguageCode=EN
 # NACE_REV2: Statistical Classification of Economic Activities in the European 
Community, Rev. 2 (2008)
 A label="AGRICULTURE, FORESTRY AND FISHING" isic="A"
diff --git a/stdnum/imsi.dat b/stdnum/imsi.dat
index fb26cf2..b327b1c 100644
--- a/stdnum/imsi.dat
+++ b/stdnum/imsi.dat
@@ -1,7 +1,7 @@
 # generated from various sources
 # https://en.wikipedia.org/w/index.php?title=Mobile_country_code&action=raw
 001
- 01 bands="GSM 900 / GSM 1800" brand="TEST" country="Test networks" 
operator="Test Network" status="Operational"
+ 01 bands="GSM 900" brand="TEST" country="Test networks" operator="Test 
Network" status="Operational"
  00-99
 202
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Cosmote" cc="gr" country="Greece" operator="COSMOTE - Mobile 
Telecommunications S.A." status="Operational"
@@ -89,13 +89,13 @@
  11 bands="UMTS 2100" brand="SFR" cc="fr" country="France" operator="Altice" 
status="Operational"
  12 bands="" cc="fr" country="France" operator="Hewlett-Packard France" 
status=""
  13 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="SFR" cc="fr" 
country="France" operator="Altice" status="Operational"
- 14 bands="GSM-R" brand="RFF" cc="fr" country="France" operator="RFF" 
status="Operational"
+ 14 bands="GSM-R" brand="SNCF Réseau" cc="fr" country="France" operator="SNCF 
Réseau" status="Operational"
  15 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free 
Mobile" cc="fr" country="France" operator="Iliad" status="Operational"
  16 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" brand="Free 
Mobile" cc="fr" country="France" operator="Iliad" status="Operational"
  17 bands="" brand="LEGOS" cc="fr" country="France" operator="Local Exchange 
Global Operation Services" status=""
  18 bands="MVNO" brand="Voxbone" cc="fr" country="France" operator="Voxbone 
mobile" status="Not operational"
  19 bands="" cc="fr" country="France" operator="Altitude Infrastructure" 
status=""
- 20 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Bouygues" cc="fr" country="France" operator="Bouygues Telecom" 
status="Operational"
+ 20 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 
1800 / LTE 2600" brand="Bouygues" cc="fr" country="France" operator="Bouygues 
Telecom" status="Operational"
  21 bands="GSM 900 / GSM 1800 / UMTS 2100 / UMTS 900" brand="Bouygues" cc="fr" 
country="France" operator="Bouygues Telecom" status=""
  22 bands="" brand="Transatel Mobile" cc="fr" country="France" 
operator="Transatel" status=""
  23 bands="MVNO" cc="fr" country="France" operator="Omea Telecom" 
status="Operational"
@@ -127,6 +127,7 @@
  00-99
 214
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600 / TD-LTE 2600" brand="Vodafone" cc="es" country="Spain" 
operator="Vodafone Spain" status="Operational"
+ 02 bands="TD-LTE 2600" brand="Altecom/Fibracat" cc="es" country="Spain" 
operator="Alta Tecnologia en Comunicacions SL" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Orange" cc="es" country="Spain" operator="France Telecom 
España SA" status="Operational"
  04 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="Yoigo" cc="es" 
country="Spain" operator="Xfera Moviles SA" status="Operational"
  05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Movistar" cc="es" 
country="Spain" operator="Telefónica Móviles España" status="Operational"
@@ -134,8 +135,8 @@
  07 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Movistar" cc="es" country="Spain" operator="Telefónica Móviles 
España" status="Operational"
  08 bands="MVNO" brand="Euskaltel" cc="es" country="Spain" status="Operational"
  09 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Orange" cc="es" 
country="Spain" operator="France Telecom España SA" status="Operational"
- 10 bands="" cc="es" country="Spain" operator="Operadora de Telecomunicaciones 
Opera SL" status="Not operational"
- 11 bands="" brand="Orange" cc="es" country="Spain" operator="France Telecom 
España SA" status="Not operational"
+ 10 bands="" cc="es" country="Spain" operator="ZINNIA TELECOMUNICACIONES, 
S.L.U." status=""
+ 11 bands="" cc="es" country="Spain" operator="TELECOM CASTILLA-LA MANCHA, 
S.A." status=""
  12 bands="" cc="es" country="Spain" operator="Contacta Servicios Avanzados de 
Telecomunicaciones SL" status="Not operational"
  13 bands="" cc="es" country="Spain" operator="Incotel Ingeniera y Consultaria 
SL" status="Not operational"
  14 bands="" cc="es" country="Spain" operator="Incotel Servicioz Avanzados SL" 
status="Not operational"
@@ -156,7 +157,7 @@
  29 bands="TD-LTE 3500" cc="es" country="Spain" operator="NEO-SKY 2002, S.A." 
status="Operational"
  30 bands="" cc="es" country="Spain" operator="Compatel Limited" status=""
  31 bands="" cc="es" country="Spain" operator="Red Digital De 
Telecomunicaciones de las Islas Baleares, S.L." status=""
- 32 bands="MVNO" brand="Tuenti" cc="es" country="Spain" operator="Tuenti 
Technologies S.L." status="Operational"
+ 32 bands="MVNO" brand="Tuenti" cc="es" country="Spain" operator="Telefónica 
Móviles España" status="Operational"
  33 bands="WiMAX" cc="es" country="Spain" operator="EURONA WIRELESS TELECOM, 
S.A." status="Operational"
  34 bands="LTE 2600" cc="es" country="Spain" operator="Aire Networks del 
Mediterráneo, S.L.U." status="Operational"
  35 bands="MVNO" cc="es" country="Spain" operator="INGENIUM OUTSOURCING 
SERVICES, S.L." status=""
@@ -207,7 +208,7 @@
  06 bands="" brand="Vodafone" cc="it" country="Italy" operator="Vodafone 
Italia S.p.A." status=""
  07 bands="MVNO" brand="Nòverca" cc="it" country="Italy" operator="Nòverca 
Italia" status="Not operational"
  08 bands="MVNO" brand="Fastweb" cc="it" country="Italy" operator="Fastweb 
S.p.A." status="Operational"
- 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Vodafone" cc="it" country="Italy" operator="Vodafone Italia 
S.p.A." status="Operational"
+ 10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800  / LTE 1500 / 
LTE 1800 / LTE 2600" brand="Vodafone" cc="it" country="Italy" 
operator="Vodafone Italia S.p.A." status="Operational"
  30 bands="GSM-R 900" brand="RFI" cc="it" country="Italy" operator="Rete 
Ferroviaria Italiana" status="Operational"
  33 bands="MVNO" brand="Poste Mobile" cc="it" country="Italy" operator="Poste 
Mobile S.p.A." status="Operational"
  34 bands="MVNO" brand="BT Italia" cc="it" country="Italy" operator="British 
Telecom Italia" status="Reserved"
@@ -218,7 +219,7 @@
  39 bands="" brand="SMS Italia" cc="it" country="Italy" operator="SMS Italia 
S.r.l." status=""
  43 bands="" brand="TIM" cc="it" country="Italy" operator="Telecom Italia 
S.p.A." status=""
  48 bands="" brand="TIM" cc="it" country="Italy" operator="Telecom Italia 
S.p.A." status=""
- 50 bands="900 / 1800 / 2100 / 2600" brand="" cc="it" country="Italy" 
operator="Iliad Italia" status="Not operational"
+ 50 bands="900 / 1800 / 2100 / 2600" brand="Ho" cc="it" country="Italy" 
operator="Iliad Italia" status="Not operational"
  77 bands="UMTS 2100" brand="IPSE 2000" cc="it" country="Italy" status="Not 
operational"
  88 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800" brand="Wind" 
cc="it" country="Italy" operator="Wind Telecomunicazioni S.p.A." 
status="Operational"
  98 bands="GSM 900" brand="BLU" cc="it" country="Italy" operator="BLU S.p.A." 
status="Not operational"
@@ -264,8 +265,8 @@
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / 
LTE 2600" brand="T-Mobile" cc="cz" country="Czech Republic" operator="T-Mobile 
Czech Republic" status="Operational"
  02 bands="CDMA 450 / GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" 
brand="O<sub>2</sub>" cc="cz" country="Czech Republic" operator="O2 Czech 
Republic" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 
2100" brand="Vodafone" cc="cz" country="Czech Republic" operator="Vodafone 
Czech Republic" status="Operational"
- 04 bands="CDMA2000 410 - 430" cc="cz" country="Czech Republic" 
operator="Nordic Telecom s.r.o." status="Operational"
- 05 bands="" cc="cz" country="Czech Republic" operator="TRAVEL 
TELEKOMMUNIKATION, s.r.o." status="Not operational"
+ 04 bands="MVNO" cc="cz" country="Czech Republic" operator="Nordic Telecom 
s.r.o." status="Operational"
+ 05 bands="TD-LTE 3700" cc="cz" country="Czech Republic" operator="PODA a.s." 
status=""
  06 bands="" cc="cz" country="Czech Republic" operator="OSNO TELECOMUNICATION, 
s.r.o." status="Not operational"
  07 bands="MVNO" cc="cz" country="Czech Republic" operator="ASTELNET, s.r.o." 
status="Not operational"
  08 bands="" cc="cz" country="Czech Republic" operator="Compatel s.r.o." 
status=""
@@ -405,6 +406,7 @@
  42 bands="" cc="dk" country="Denmark" operator="Tel42 ApS" status=""
  43 bands="" cc="dk" country="Denmark" operator="MobiWeb Limited" status="Not 
operational"
  66 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" cc="dk" country="Denmark" operator="TT-Netværket P/S" 
status="Operational"
+ 73 bands="" cc="dk" country="Denmark" operator="Onomondo ApS" status=""
  77 bands="GSM 900 / GSM 1800" brand="Telenor" cc="dk" country="Denmark" 
operator="Telenor Denmark" status="Operational"
  00-99
 240
@@ -433,9 +435,9 @@
  23 bands="" cc="se" country="Sweden" operator="Infobip Limited (UK)" 
status="Not operational"
  24 bands="GSM 900 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" brand="Sweden 
2G" cc="se" country="Sweden" operator="Net4Mobility HB" status="Operational"
  25 bands="" cc="se" country="Sweden" operator="Monty UK Global Ltd" status=""
- 26 bands="GSM" cc="se" country="Sweden" operator="Beepsend AB" 
status="Operational"
+ 26 bands="" cc="se" country="Sweden" operator="Twilio Sweden AB" status=""
  27 bands="MVNO" cc="se" country="Sweden" operator="GlobeTouch AB" 
status="Operational"
- 28 bands="" cc="se" country="Sweden" operator="CoolTEL Aps" status=""
+ 28 bands="" cc="se" country="Sweden" operator="LINK Mobile A/S" status=""
  29 bands="" cc="se" country="Sweden" operator="Mercury International Carrier 
Services" status=""
  30 bands="" cc="se" country="Sweden" operator="NextGen Mobile Ltd." status=""
  31 bands="" cc="se" country="Sweden" operator="RebTel Network AB" status=""
@@ -447,14 +449,16 @@
  37 bands="" cc="se" country="Sweden" operator="CLX Networks AB" 
status="Operational"
  38 bands="MVNO" brand="Voxbone" cc="se" country="Sweden" operator="Voxbone 
mobile" status="Operational"
  39 bands="" cc="se" country="Sweden" operator="Borderlight AB" status=""
- 40 bands="" cc="se" country="Sweden" operator="ReWiCom Scandinavia AB" 
status=""
+ 40 bands="" cc="se" country="Sweden" operator="North net connect AB" status=""
  41 bands="" cc="se" country="Sweden" operator="Shyam Telecom UK Ltd." 
status=""
  42 bands="" cc="se" country="Sweden" operator="Telenor Connexion AB" status=""
  43 bands="" cc="se" country="Sweden" operator="MobiWeb Ltd." status=""
- 44 bands="" cc="se" country="Sweden" operator="Limitless Mobile AB" status=""
+ 44 bands="" cc="se" country="Sweden" operator="Telenabler AB" status=""
  45 bands="" cc="se" country="Sweden" operator="Spirius AB" status=""
  46 bands="MVNO" brand="Viahub" cc="se" country="Sweden" operator="SMS 
Provider Corp." status=""
+ 47 bands="" cc="se" country="Sweden" operator="Viatel Sweden AB" status=""
  60 bands="" cc="se" country="Sweden" operator="Telefonaktiebolaget LM 
Ericsson" status=""
+ 61 bands="" cc="se" country="Sweden" operator="MessageBird B.V." status=""
  00-99
 242
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Telenor" cc="no" country="Norway" operator="Telenor Norge AS" 
status="Operational"
@@ -516,7 +520,7 @@
  40 bands="" cc="fi" country="Finland" operator="Nokia Solutions and Networks 
Oy" status="Test Network"
  41 bands="" cc="fi" country="Finland" operator="Nokia Solutions and Networks 
Oy" status="Test Network"
  42 bands="" cc="fi" country="Finland" operator="SMS Provider Corp." status=""
- 91 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800 / 
LTE 2600" brand="Sonera" cc="fi" country="Finland" operator="TeliaSonera 
Finland Oyj" status="Operational"
+ 91 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 800 / LTE 
1800 / LTE 2600" brand="Sonera" cc="fi" country="Finland" operator="TeliaSonera 
Finland Oyj" status="Operational"
  92 bands="" brand="Sonera" cc="fi" country="Finland" operator="TeliaSonera 
Finland Oyj" status=""
  00-99
 246
@@ -549,7 +553,7 @@
  05 bands="" cc="ee" country="Estonia" operator="AS Bravocom Mobiil" 
status="Not operational"
  06 bands="UMTS 2100" cc="ee" country="Estonia" operator="Progroup Holding" 
status="Not operational"
  07 bands="CDMA2000 450" brand="Kou" cc="ee" country="Estonia" 
operator="Televõrgu AS" status="Not operational"
- 08 bands="MVNO" brand="VIVEX" cc="ee" country="Estonia" operator="VIVEX OU" 
status="Operational"
+ 08 bands="MVNO" brand="VIVEX" cc="ee" country="Estonia" operator="VIVEX OU" 
status="Not operational"
  09 bands="" cc="ee" country="Estonia" operator="Bravo Telecom" status="Not 
operational"
  10 bands="" cc="ee" country="Estonia" operator="Telcotrade OÜ" status="Not 
operational"
  71 bands="" cc="ee" country="Estonia" operator="Siseministeerium (Ministry of 
Interior)" status=""
@@ -576,8 +580,9 @@
  19 bands="GSM 1800" brand="INDIGO" cc="ru" country="Russian Federation" 
operator="INDIGO" status="Not operational"
  20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 450 / LTE 1800 / LTE 2600" 
brand="Tele2" cc="ru" country="Russian Federation" operator="Tele2" 
status="Operational"
  22 bands="TD-LTE 2300" cc="ru" country="Russian Federation" operator="Vainakh 
Telecom" status="Operational"
- 23 bands="GSM 900 / GSM 1800" brand="Mobicom - Novosibirsk" cc="ru" 
country="Russian Federation" operator="Mobicom - Novosibirsk" status="Not 
operational"
+ 23 bands="Satellite MVNO" brand="Thuraya" cc="ru" country="Russian 
Federation" operator="GTNT" status="Operational"
  28 bands="GSM 900" brand="Beeline" cc="ru" country="Russian Federation" 
operator="Beeline" status="Not operational"
+ 29 bands="Satellite MVNO" brand="Iridium" cc="ru" country="Russian 
Federation" operator="Iridium Communications" status="Operational"
  32 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Win Mobile" 
cc="ru" country="Russian Federation" operator="K-Telecom" status="Operational"
  33 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Sevmobile" cc="ru" 
country="Russian Federation" operator="Sevtelekom" status="Operational"
  34 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Krymtelekom" cc="ru" 
country="Russian Federation" operator="Krymtelekom" status="Operational"
@@ -607,11 +612,11 @@
  25 bands="CDMA 800" brand="NEWTONE" cc="ua" country="Ukraine" operator="CST 
Invest" status="Operational"
  00-99
 257
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="velcom" cc="by" 
country="Belarus" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="MTS" cc="by" 
country="Belarus" operator="Mobile TeleSystems" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="velcom" cc="by" 
country="Belarus" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="MTS" cc="by" 
country="Belarus" operator="Mobile TeleSystems" status="Operational"
  03 bands="CDMA 450" brand="DIALLOG" cc="by" country="Belarus" 
operator="BelCel" status="Not operational"
  04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="life:)" cc="by" 
country="Belarus" operator="Belarusian Telecommunications Network" 
status="Operational"
- 05 bands="" cc="by" country="Belarus" operator="Beltelecom" status=""
+ 05 bands="WiMAX 3500" brand="byfly" cc="by" country="Belarus" 
operator="Beltelecom" status="Not operational"
  06 bands="LTE 1800" brand="beCloud" cc="by" country="Belarus" 
operator="Belorussian Cloud Technologies" status="Operational"
  00-99
 259
@@ -695,10 +700,10 @@
  17 bands="" brand="O<sub>2</sub>" cc="de" country="Germany" 
operator="Telefónica Germany GmbH & Co. oHG" status=""
  18 bands="MVNO" cc="de" country="Germany" operator="NetCologne" 
status="Operational"
  19 bands="CDMA 450" cc="de" country="Germany" operator="Inquam Deutschland" 
status=""
- 20 bands="MVNO" brand="OnePhone" cc="de" country="Germany" 
operator="Telefónica Germany GmbH & Co. oHG" status="Operational"
+ 20 bands="MVNE" brand="Voiceworks" cc="de" country="Germany" 
operator="Voiceworks GmbH" status="Operational"
  21 bands="" cc="de" country="Germany" operator="Multiconnect GmbH" status=""
  22 bands="MVNO" cc="de" country="Germany" operator="sipgate Wireless GmbH" 
status=""
- 23 bands="MVNO" cc="de" country="Germany" operator="Drillisch Netz AG" 
status="Operational"
+ 23 bands="MVNO" cc="de" country="Germany" operator="Drillisch Online AG" 
status="Operational"
  33 bands="MVNO" brand="simquadrat" cc="de" country="Germany" 
operator="sipgate GmbH" status="Operational"
  41 bands="" cc="de" country="Germany" operator="First Telecom GmbH" 
status="Not operational"
  42 bands="GSM 1800" brand="CCC Event" cc="de" country="Germany" 
operator="Chaos Computer Club" status="Temporary operational"
@@ -736,23 +741,29 @@
 270
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="POST" cc="lu" 
country="Luxembourg" operator="POST Luxembourg" status="Operational"
  02 bands="" cc="lu" country="Luxembourg" operator="MTX Connect S.a.r.l." 
status=""
+ 07 bands="" cc="lu" country="Luxembourg" operator="Bouygues Telecom S.A." 
status=""
  10 bands="" cc="lu" country="Luxembourg" operator="Blue Communications" 
status=""
  77 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Tango" 
cc="lu" country="Luxembourg" operator="Tango SA" status="Operational"
  78 bands="" cc="lu" country="Luxembourg" operator="Interactive digital media 
GmbH" status=""
+ 79 bands="" cc="lu" country="Luxembourg" operator="Mitto A.G." status=""
+ 80 bands="" cc="lu" country="Luxembourg" operator="Syniverse Technologies S.à 
r.l." status=""
+ 81 bands="" cc="lu" country="Luxembourg" operator="E-Lux Mobile 
Telecommunication S.A." status=""
  99 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" cc="lu" 
country="Luxembourg" operator="Orange S.A." status="Operational"
  00-99
 272
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" 
brand="Vodafone" cc="ie" country="Ireland" operator="Vodafone Ireland" 
status="Operational"
  02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="3" cc="ie" country="Ireland" 
operator="Hutchison 3G Ireland limited" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Meteor" 
cc="ie" country="Ireland" operator="Meteor Mobile Communications" 
status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Eir" 
cc="ie" country="Ireland" operator="Eir Group plc" status="Operational"
  04 bands="" cc="ie" country="Ireland" operator="Access Telecom" status=""
  05 bands="UMTS 2100 / LTE 800 / LTE 1800" brand="3" cc="ie" country="Ireland" 
operator="Hutchison 3G Ireland limited" status="Operational"
- 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="eMobile" cc="ie" 
country="Ireland" operator="Eircom Mobile" status="Operational"
- 09 bands="" cc="ie" country="Ireland" operator="Clever Communications" 
status=""
+ 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Eir" cc="ie" 
country="Ireland" operator="Eir Group plc" status="Operational"
+ 08 bands="" brand="Eir" cc="ie" country="Ireland" operator="Eir Group plc" 
status=""
+ 09 bands="" cc="ie" country="Ireland" operator="Clever Communications Ltd." 
status="Not operational"
  11 bands="MVNO" brand="Tesco Mobile" cc="ie" country="Ireland" 
operator="Liffey Telecom" status="Operational"
  13 bands="MVNO" brand="Lycamobile" cc="ie" country="Ireland" 
operator="Lycamobile" status="Operational"
  15 bands="MVNO" brand="Virgin Mobile" cc="ie" country="Ireland" 
operator="UPC" status="Operational"
  16 bands="MVNO" brand="Carphone Warehouse" cc="ie" country="Ireland" 
operator="Carphone Warehouse" status="Operational"
+ 17 bands="" brand="3" cc="ie" country="Ireland" operator="Hutchison 3G 
Ireland limited" status=""
  00-99
 274
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" 
brand="Síminn" cc="is" country="Iceland" operator="Iceland Telecom" 
status="Operational"
@@ -807,7 +818,7 @@
  10 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800 / LTE 1800" 
brand="Ucom" cc="am" country="Armenia" operator="Ucom LLC" status="Operational"
  00-99
 284
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="M-Tel" cc="bg" 
country="Bulgaria" operator="Mobiltel" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / LTE 2100" brand="M-Tel" 
cc="bg" country="Bulgaria" operator="Mobiltel" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" 
brand="Vivacom" cc="bg" country="Bulgaria" operator="BTC" status="Operational"
  05 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" 
brand="Telenor" cc="bg" country="Bulgaria" operator="Telenor (Bulgaria)" 
status="Operational"
  07 bands="GSM-R" brand="НКЖИ" cc="bg" country="Bulgaria" operator="НАЦИОНАЛНА 
КОМПАНИЯ ЖЕЛЕЗОПЪТНА ИНФРАСТРУКТУРА" status="Operational"
@@ -816,7 +827,7 @@
  13 bands="LTE 1800" brand="MAX" cc="bg" country="Bulgaria" operator="Max 
Telecom LTD" status="Operational"
  00-99
 286
- 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2100 / LTE 2600" 
brand="Turkcell" cc="tr" country="Turkey" operator="Turkcell Iletisim 
Hizmetleri A.S." status="Operational"
+ 01 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2100 / LTE 
2600" brand="Turkcell" cc="tr" country="Turkey" operator="Turkcell Iletisim 
Hizmetleri A.S." status="Operational"
  02 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 900 / LTE 1800 / LTE 2600" 
brand="Vodafone" cc="tr" country="Turkey" operator="Vodafone Turkey" 
status="Operational"
  03 bands="GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800 / LTE 2600" brand="Türk 
Telekom" cc="tr" country="Turkey" operator="Türk Telekom" status="Operational"
  04 bands="GSM 1800" brand="Aycell" cc="tr" country="Turkey" operator="Aycell" 
status="Not operational"
@@ -1119,7 +1130,7 @@
  440 bands="CDMA" cc="us" country="United States of America" 
operator="Bluegrass Cellular LLC" status="Operational"
  450 bands="GSM 1900 / LTE 700" brand="PTCI" cc="us" country="United States of 
America" operator="Panhandle Telecommunication Systems Inc." 
status="Operational"
  460 bands="DMR" cc="us" country="United States of America" operator="Fisher 
Wireless Services Inc." status="Not operational"
- 470 bands="GSM 850 / GSM 1900" brand="Viya" cc="us" country="United States of 
America" operator="Vitelcom Cellular Inc." status="Operational"
+ 470 bands="GSM 850 / GSM 1900 / TD-LTE 2500" brand="Viya" cc="us" 
country="United States of America" operator="Vitelcom Cellular Inc." 
status="Operational"
  480 bands="LTE 700" brand="Verizon" cc="us" country="United States of 
America" operator="Verizon Wireless" status="Operational"
  481 bands="LTE 700" brand="Verizon" cc="us" country="United States of 
America" operator="Verizon Wireless" status="Not operational"
  482 bands="LTE 700" brand="Verizon" cc="us" country="United States of 
America" operator="Verizon Wireless" status="Not operational"
@@ -1142,7 +1153,7 @@
  580 bands="LTE 700 / LTE 850" brand="U.S. Cellular" cc="us" country="United 
States of America" operator="U.S. Cellular" status="Operational"
  590 bands="" brand="Verizon" cc="us" country="United States of America" 
operator="Verizon Wireless" status=""
  600 bands="CDMA" brand="Cox Wireless" cc="us" country="United States of 
America" operator="Cox TMI Wireless LLC" status="Not operational"
- 610 bands="CDMA" brand="SRT Communications" cc="us" country="United States of 
America" operator="North Dakota Network Co." status="Operational"
+ 610 bands="CDMA" brand="SRT Communications" cc="us" country="United States of 
America" operator="North Dakota Network Co." status="Not operational"
  620 bands="Satellite" cc="us" country="United States of America" 
operator="TerreStar Networks, Inc." status="Not operational"
  630 bands="" brand="C Spire Wireless" cc="us" country="United States of 
America" operator="Cellular South Inc." status=""
  640 bands="LTE 700" brand="Rock Wireless" cc="us" country="United States of 
America" operator="Standing Rock Telecommunications" status="Operational"
@@ -1205,7 +1216,7 @@
  200 bands="MVNO" cc="us" country="United States of America" operator="Voyager 
Mobility LLC" status="Not operational"
  210 bands="MVNO" cc="us" country="United States of America" operator="Aspenta 
International, Inc." status="Operational"
  220 bands="LTE 700" brand="Chariton Valley" cc="us" country="United States of 
America" operator="Chariton Valley Communication Corporation, Inc." 
status="Operational"
- 230 bands="" brand="SRT Communications" cc="us" country="United States of 
America" operator="North Dakota Network Co." status=""
+ 230 bands="" brand="SRT Communications" cc="us" country="United States of 
America" operator="North Dakota Network Co." status="Not operational"
  240 bands="" brand="Sprint" cc="us" country="United States of America" 
operator="Sprint Corporation" status=""
  250 bands="" brand="Sprint" cc="us" country="United States of America" 
operator="Sprint Corporation" status=""
  260 bands="LTE 1900" brand="NewCore" cc="us" country="United States of 
America" operator="Central LTE Holdings" status="Operational"
@@ -1364,6 +1375,8 @@
  00 bands="GSM 1900 / UMTS 850 / LTE 850" brand="CellOne" cc="bm" 
country="Bermuda" operator="Bermuda Digital Communications Ltd." 
status="Operational"
  01 bands="GSM 1900" brand="Digicel Bermuda" cc="bm" country="Bermuda" 
operator="Telecommunications (Bermuda & West Indies) Ltd" status="Reserved"
  02 bands="GSM 1900 / UMTS" brand="Mobility" cc="bm" country="Bermuda" 
operator="M3 Wireless" status="Operational"
+ 05 bands="" cc="bm" country="Bermuda" operator="Telecom Networks" status=""
+ 11 bands="" cc="bm" country="Bermuda" operator="Deltronics" status=""
  00-99
 352
  030 bands="GSM 900 / GSM 1800" brand="Digicel" cc="gd" country="Grenada" 
operator="Digicel Grenada Ltd." status="Operational"
@@ -1375,7 +1388,7 @@
 356
  050 bands="GSM 900 / GSM 1800" brand="Digicel" cc="kn" country="Saint Kitts 
and Nevis" operator="Wireless Ventures (St Kitts-Nevis) Limited" 
status="Operational"
  070 brand="Chippie" cc="kn" country="Saint Kitts and Nevis" operator="UTS" 
status="Operational"
- 110 bands="GSM 850 / GSM 1900" brand="FLOW" cc="kn" country="Saint Kitts and 
Nevis" operator="Cable & Wireless St. Kitts & Nevis Ltd" status="Operational"
+ 110 bands="GSM 850 / GSM 1900 / LTE 700" brand="FLOW" cc="kn" country="Saint 
Kitts and Nevis" operator="Cable & Wireless St. Kitts & Nevis Ltd" 
status="Operational"
  000-999
 358
  110 bands="GSM 850 / LTE 700" brand="FLOW" cc="lc" country="Saint Lucia" 
operator="Cable &  Wireless" status="Operational"
@@ -1393,7 +1406,7 @@
  59 bands="GSM 900 / GSM 1800" brand="Chippie" country="Former Netherlands 
Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="United 
Telecommunication Service N.V. (UTS)" status="Operational"
  60 bands="UMTS 2100 / LTE 1800" brand="Chippie" country="Former Netherlands 
Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="United 
Telecommunication Service N.V. (UTS)" status="Operational"
  63 bands="" country="Former Netherlands Antilles (Kingdom of the Netherlands) 
- BQ/CW/SX" operator="CSC N.V." status=""
- 68 bands="UMTS 2100" brand="Digicel" country="Former Netherlands Antilles 
(Kingdom of the Netherlands) - BQ/CW/SX" operator="Curaçao Telecom N.V." 
status="Operational"
+ 68 bands="UMTS 2100 / LTE 1800" brand="Digicel" country="Former Netherlands 
Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Curaçao Telecom 
N.V." status="Operational"
  69 bands="GSM 900 / GSM 1800" brand="Digicel" country="Former Netherlands 
Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Curaçao Telecom 
N.V." status="Operational"
  74 bands="" country="Former Netherlands Antilles (Kingdom of the Netherlands) 
- BQ/CW/SX" operator="PCS N.V." status=""
  76 bands="GSM 900 / UMTS" brand="Digicel" country="Former Netherlands 
Antilles (Kingdom of the Netherlands) - BQ/CW/SX" operator="Antiliano Por N.V." 
status="Operational"
@@ -1408,7 +1421,7 @@
  00-99
 364
  39 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 700" brand="BTC" cc="bs" 
country="Bahamas" operator="The Bahamas Telecommunications Company Ltd 
(BaTelCo)" status="Operational"
- 49 bands="700 / 850 / AWS / 1900" brand="NewCo 2015" cc="bs" 
country="Bahamas" operator="Cable Bahamas Ltd" status="Not operational"
+ 49 bands="LTE 700 / LTE AWS" brand="Aliv" cc="bs" country="Bahamas" 
operator="Cable Bahamas Ltd" status="Operational"
  00-99
 365
  010 bands="" cc="ai" country="Anguilla" operator="Weblinks Limited" 
status="Operational"
@@ -1422,9 +1435,9 @@
  01 bands="GSM 900 / GSM 850 / UMTS 900" brand="CUBACEL" cc="cu" 
country="Cuba" operator="Empresa de Telecomunicaciones de Cuba, SA" 
status="Operational"
  00-99
 370
- 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 1800" brand="Orange" 
cc="do" country="Dominican Republic" operator="Orange Dominicana" 
status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / GSM 1900 / UMTS 900 / LTE 1800" brand="Altice" 
cc="do" country="Dominican Republic" operator="Altice Group" 
status="Operational"
  02 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1700" brand="Claro" cc="do" 
country="Dominican Republic" operator="Compañía Dominicana de Teléfonos" 
status="Operational"
- 03 bands="AMPS / IS-95A 800 / CDMA 1900 / LTE 1900" brand="Tricom" cc="do" 
country="Dominican Republic" operator="Tricom, S.A" status="Operational"
+ 03 bands="AMPS / CDMA 850" brand="Altice" cc="do" country="Dominican 
Republic" operator="Altice Group" status="Operational"
  04 bands="CDMA 1900 / GSM 1900" brand="Viva" cc="do" country="Dominican 
Republic" operator="Trilogy Dominicana, S.A." status="Operational"
  05 bands="TD-LTE 2600" brand="Wind" cc="do" country="Dominican Republic" 
operator="WIND Telecom, S.A" status="Operational"
  00-99
@@ -1698,14 +1711,15 @@
  88 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Salaam" cc="af" 
country="Afghanistan" operator="Afghan Telecom" status="Operational"
  00-99
 413
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Mobitel" cc="lk" 
country="Sri Lanka" operator="Mobitel (Pvt) Ltd" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" 
brand="Mobitel" cc="lk" country="Sri Lanka" operator="Mobitel (Pvt) Ltd" 
status="Operational"
  02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Dialog" cc="lk" 
country="Sri Lanka" operator="Dialog Axiata PLC" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="lk" 
country="Sri Lanka" operator="Etisalat Lanka (Pvt) Ltd" status="Operational"
  04 bands="CDMA / WiMAX / TD-LTE 2300" brand="Lanka Bell" cc="lk" country="Sri 
Lanka" operator="Lanka Bell Ltd" status="Operational"
  05 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="lk" country="Sri 
Lanka" operator="Bharti Airtel Lanka (Pvt) Ltd" status="Operational"
  08 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Hutch" cc="lk" country="Sri 
Lanka" operator="Hutchison Telecommunications Lanka (Pvt) Ltd" 
status="Operational"
- 11 bands="CDMA / WiMAX / TD-LTE 2300" brand="Dialog Broadband" cc="lk" 
country="Sri Lanka" operator="Dialog Broadband Networks (Pvt) Ltd" 
status="Operational"
+ 11 bands="CDMA / WiMAX / TD-LTE 2300" brand="Dialog" cc="lk" country="Sri 
Lanka" operator="Dialog Broadband Networks (Pvt) Ltd" status="Operational"
  12 bands="CDMA / TD-LTE 2600" brand="SLT" cc="lk" country="Sri Lanka" 
operator="Sri Lanka Telecom" status="Operational"
+ 13 bands="TD-LTE 2300" brand="Lanka Bell" cc="lk" country="Sri Lanka" 
operator="Lanka Bell Ltd" status="Operational"
  00-99
 414
  00 bands="" brand="MPT" cc="mm" country="Myanmar" operator="Myanmar Posts and 
Telecommunications" status=""
@@ -1774,7 +1788,7 @@
 425
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 1800" 
brand="Partner" cc="il" country="Israel" operator="Partner Communications 
Company Ltd." status="Operational"
  02 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1800" brand="Cellcom" cc="il" 
country="Israel" operator="Cellcom Israel Ltd." status="Operational"
- 03 bands="CDMA 800 / UMTS 850 / UMTS 2100 / LTE 1800" brand="Pelephone" 
cc="il" country="Israel" operator="Pelephone Communications Ltd." 
status="Operational"
+ 03 bands="UMTS 850 / UMTS 2100 / LTE 1800" brand="Pelephone" cc="il" 
country="Israel" operator="Pelephone Communications Ltd." status="Operational"
  04 bands="" cc="il" country="Israel" operator="Globalsim Ltd" status=""
  05 bands="GSM 900" brand="Jawwal" cc="ps" country="Palestine" 
operator="Palestine Cellular Communications, Ltd." status="Operational"
  06 bands="GSM 900 / GSM 1800" brand="Wataniya" cc="ps" country="Palestine" 
operator="Wataniya Palestine Mobile Telecommunications Company" 
status="Operational"
@@ -1795,6 +1809,7 @@
  23 bands="" cc="il" country="Israel" operator="Beezz Communication Solutions 
Ltd." status=""
  24 bands="MVNO" brand="012 Telecom" cc="il" country="Israel" 
operator="Partner Communications Company Ltd." status="Operational"
  25 bands="LTE" brand="IMOD" cc="il" country="Israel" operator="Israel 
Ministry of Defense" status="Not operational"
+ 26 bands="MVNO" cc="il" country="Israel" operator="LB Annatel Ltd." 
status="Operational"
  28 bands="LTE 1800" cc="il" country="Israel" operator="PHI Networks" status=""
  00-99
 426
@@ -1811,16 +1826,16 @@
  06 bands="LTE" brand="Ministry of Interior" cc="qa" country="Qatar" 
operator="Ministry of Interior" status="Operational"
  00-99
 428
- 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="Unitel" 
cc="mn" country="Mongolia" operator="Unitel LLC" status="Operational"
- 91 bands="CDMA2000 800 / UMTS 2100 / LTE 1800" brand="Skytel" cc="mn" 
country="Mongolia" operator="Skytel LLC" status="Operational"
+ 88 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Unitel" cc="mn" 
country="Mongolia" operator="Unitel LLC" status="Operational"
+ 91 bands="CDMA2000 800 / UMTS 2100" brand="Skytel" cc="mn" country="Mongolia" 
operator="Skytel LLC" status="Operational"
  98 bands="CDMA2000 450 / UMTS 2100" brand="G-Mobile" cc="mn" 
country="Mongolia" operator="G-Mobile LLC" status="Operational"
- 99 bands="GSM 900 / UMTS 2100 / LTE 800 / LTE 1800" brand="Mobicom" cc="mn" 
country="Mongolia" operator="Mobicom Corporation" status="Operational"
+ 99 bands="GSM 900 / UMTS 2100 / LTE 1800 / LTE 2100" brand="Mobicom" cc="mn" 
country="Mongolia" operator="Mobicom Corporation" status="Operational"
  00-99
 429
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800 / CDMA / WiMAX" 
brand="Namaste / NT Mobile / Sky Phone" cc="np" country="Nepal" operator="Nepal 
Telecom (NDCL)" status="Operational"
  02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Ncell" cc="np" 
country="Nepal" operator="Ncell Pvt. Ltd." status="Operational"
  03 bands="CDMA2000 800" brand="UTL" cc="np" country="Nepal" operator="United 
Telecom Limited" status="Operational"
- 04 bands="GSM 900" brand="SmartCell" cc="np" country="Nepal" operator="Smart 
Telecom Pvt. Ltd. (STPL)" status="Operational"
+ 04 bands="GSM 900 / LTE 1800" brand="SmartCell" cc="np" country="Nepal" 
operator="Smart Telecom Pvt. Ltd. (STPL)" status="Operational"
  00-99
 432
  11 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 1800 / LTE 2600" brand="IR-MCI 
(Hamrah-e-Avval)" cc="ir" country="Iran" operator="Mobile Communications 
Company of Iran" status="Operational"
@@ -1841,7 +1856,7 @@
  05 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600" brand="Ucell" cc="uz" 
country="Uzbekistan" operator="Coscom" status="Operational"
  06 bands="CDMA2000 800" brand="Perfectum Mobile" cc="uz" country="Uzbekistan" 
operator="RUBICON WIRELESS COMMUNICATION" status="Operational"
  07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="UMS" cc="uz" 
country="Uzbekistan" operator="Universal Mobile Systems" status="Operational"
- 08 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="UzMobile" cc="uz" 
country="Uzbekistan" operator="Uzbektelekom" status="Operational"
+ 08 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="UzMobile" cc="uz" 
country="Uzbekistan" operator="Uzbektelekom" status="Operational"
  00-99
 436
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Tcell" cc="tj" 
country="Tajikistan" operator="JV Somoncom" status="Operational"
@@ -1868,7 +1883,9 @@
  01 bands="WiMAX 2500 / TD-LTE 2500" brand="UQ WiMAX" cc="jp" country="Japan" 
operator="UQ Communications Inc." status="Operational"
  02 bands="WiMAX 2500" cc="jp" country="Japan" operator="Hanshin Cable 
Engineering Co., Ltd." status=""
  03 bands="MVNO" brand="IIJmio" cc="jp" country="Japan" operator="Internet 
Initiative Japan Inc." status="Operational"
+ 04 bands="" cc="jp" country="Japan" operator="Japan Radio Company, Ltd." 
status=""
  05 bands="TD-LTE 2500" cc="jp" country="Japan" operator="Wireless City 
Planning Inc." status="Operational"
+ 06 bands="" cc="jp" country="Japan" operator="SAKURA Internet Inc." status=""
  10 bands="UMTS 850 / UMTS 1800 / UMTS 2100 / LTE 700 / LTE 850 / LTE 1500 / 
LTE 1800 / LTE 2100 / TD-LTE 3500" brand="NTT docomo" cc="jp" country="Japan" 
operator="NTT DoCoMo, Inc." status="Operational"
  20 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / 
LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" 
operator="SoftBank Corp." status="Operational"
  21 bands="UMTS 900 / UMTS 2100 / LTE 700 / LTE 900 / LTE 1500 / LTE 1800 / 
LTE 2100 / TD-LTE 3500" brand="SoftBank" cc="jp" country="Japan" 
operator="SoftBank Corp." status="Operational"
@@ -1933,18 +1950,18 @@
  16 bands="GSM 1800" brand="PCCW Mobile (2G)" cc="hk" country="Hong Kong" 
operator="PCCW-HKT" status="Operational"
  17 bands="GSM 1800" cc="hk" country="Hong Kong" operator="SmarTone Mobile 
Communications Limited" status="Operational"
  18 bands="GSM 900 / GSM 1800" cc="hk" country="Hong Kong" operator="CSL 
Limited" status="Not operational"
- 19 bands="UMTS 2100 / LTE 1800 / LTE 2600" brand="PCCW Mobile (3G/4G)" 
cc="hk" country="Hong Kong" operator="PCCW-HKT" status="Operational"
- 20 bands="" cc="hk" country="Hong Kong" operator="PCCW-HKT" status=""
- 21 bands="" cc="hk" country="Hong Kong" operator="21Vianet Mobile Ltd." 
status=""
- 22 bands="" cc="hk" country="Hong Kong" operator="263 Mobile Communications 
(HongKong) Limited" status=""
+ 19 bands="UMTS 2100" brand="PCCW Mobile (3G)" cc="hk" country="Hong Kong" 
operator="PCCW-HKT" status="Operational"
+ 20 bands="LTE 1800 / LTE 2600" brand="PCCW Mobile (4G)" cc="hk" country="Hong 
Kong" operator="PCCW-HKT" status="Operational"
+ 21 bands="MVNO" cc="hk" country="Hong Kong" operator="21Vianet Mobile Ltd." 
status=""
+ 22 bands="MVNO" cc="hk" country="Hong Kong" operator="263 Mobile 
Communications (HongKong) Limited" status="Operational"
  23 bands="MVNO" brand="Lycamobile" cc="hk" country="Hong Kong" 
operator="Lycamobile Hong Kong Ltd" status="Operational"
- 24 bands="" cc="hk" country="Hong Kong" operator="Multibyte Info Technology 
Ltd" status=""
+ 24 bands="MVNO" cc="hk" country="Hong Kong" operator="Multibyte Info 
Technology Ltd" status="Operational"
  25 bands="" cc="hk" country="Hong Kong" operator="Hong Kong Government" 
status=""
  26 bands="" cc="hk" country="Hong Kong" operator="Hong Kong Government" 
status=""
  29 bands="CDMA 800" brand="PCCW Mobile (CDMA)" cc="hk" country="Hong Kong" 
operator="PCCW-HKT" status="Operational"
  30 bands="" cc="hk" country="Hong Kong" operator="China Data Enterprises Ltd" 
status=""
- 31 bands="" cc="hk" country="Hong Kong" operator="China Telecom Global 
Limited" status=""
- 32 bands="" cc="hk" country="Hong Kong" operator="Hong Kong Broadband Network 
Ltd" status=""
+ 31 bands="MVNO" brand="CTExcel" cc="hk" country="Hong Kong" operator="China 
Telecom Global Limited" status="Operational"
+ 32 bands="MVNO" cc="hk" country="Hong Kong" operator="Hong Kong Broadband 
Network Ltd" status="Operational"
  35 bands="MVNO" cc="hk" country="Hong Kong" operator="Webbing Hong Kong Ltd" 
status="Operational"
  00-99
 455
@@ -2089,14 +2106,15 @@
  38 bands="MVNO" brand="Truphone" cc="au" country="Australia" 
operator="Truphone Pty Ltd" status="Operational"
  39 bands="" brand="Telstra" cc="au" country="Australia" operator="Telstra 
Corporation Ltd." status=""
  40 bands="" cc="au" country="Australia" operator="CITIC Pacific Mining" 
status=""
- 41 bands="" cc="au" country="Australia" operator="OTOC Australia Pty Ltd" 
status=""
+ 41 bands="" cc="au" country="Australia" operator="Aqura Technologies Pty" 
status=""
  42 bands="" brand="GEMCO" cc="au" country="Australia" operator="Groote 
Eylandt Mining Company Pty Ltd" status=""
- 61 bands="" cc="au" country="Australia" operator="Commtel Network Solutions 
Pty Ltd" status=""
+ 50 bands="Satellite" cc="au" country="Australia" operator="Pivotel Group Pty 
Limited" status="Operational"
+ 61 bands="LTE 1800 / LTE 2100" brand="CommTel NS" cc="au" country="Australia" 
operator="Commtel Network Solutions Pty Ltd" status="Implement / Design"
  62 bands="TD-LTE 2300" brand="NBN" cc="au" country="Australia" 
operator="National Broadband Network Co." status="Operational"
  68 bands="TD-LTE 2300" brand="NBN" cc="au" country="Australia" 
operator="National Broadband Network Co." status="Operational"
  71 bands="" brand="Telstra" cc="au" country="Australia" operator="Telstra 
Corporation Limited" status="Operational"
  72 bands="" brand="Telstra" cc="au" country="Australia" operator="Telstra 
Corporation Limited" status="Operational"
- 88 brand="Localstar Holding Pty. Ltd." cc="au" country="Australia" 
status="Not operational"
+ 88 bands="Satellite" cc="au" country="Australia" operator="Pivotel Group Pty 
Limited" status="Operational"
  90 bands="" brand="Optus" cc="au" country="Australia" operator="Singtel Optus 
Proprietary Limited" status="Operational"
  99 bands="GSM 1800" brand="One.Tel" cc="au" country="Australia" 
operator="One.Tel" status="Not operational"
  00-99
@@ -2106,19 +2124,19 @@
  03 bands="CDMA 800" brand="StarOne" cc="id" country="Indonesia" operator="PT 
Indosat Tbk" status="Not operational"
  07 bands="CDMA 800" brand="TelkomFlexi" cc="id" country="Indonesia" 
operator="PT Telkom" status="Not operational"
  08 bands="GSM 1800 / UMTS 2100" brand="AXIS" cc="id" country="Indonesia" 
operator="PT Natrindo Telepon Seluler" status="Not operational"
- 09 bands="CDMA 800 / LTE 850 / TD-LTE 2300" brand="Smartfren" cc="id" 
country="Indonesia" operator="PT Smartfren Telecom" status="Operational"
+ 09 bands="LTE 850 / TD-LTE 2300" brand="Smartfren" cc="id" 
country="Indonesia" operator="PT Smartfren Telecom" status="Operational"
  10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" 
brand="Telkomsel" cc="id" country="Indonesia" operator="PT Telekomunikasi 
Selular" status="Operational"
  11 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800" brand="XL" 
cc="id" country="Indonesia" operator="PT XL Axiata Tbk" status="Operational"
  20 bands="GSM 1800" brand="TELKOMMobile" cc="id" country="Indonesia" 
operator="PT Telkom Indonesia Tbk" status="Not operational"
  21 bands="GSM 1800" brand="IM3" cc="id" country="Indonesia" operator="PT 
Indonesian Satellite Corporation Tbk (INDOSAT)" status="Not operational"
  27 bands="CDMA 450 / LTE 450" brand="Net1" cc="id" country="Indonesia" 
operator="PT Sampoerna Telekomunikasi Indonesia" status="Operational"
- 28 bands="CDMA 800 / LTE 850 / TD-LTE 2300" brand="Fren/Hepi" cc="id" 
country="Indonesia" operator="PT Mobile-8 Telecom" status="Operational"
+ 28 bands="LTE 850 / TD-LTE 2300" brand="Fren/Hepi" cc="id" 
country="Indonesia" operator="PT Mobile-8 Telecom" status="Operational"
  88 bands="TD-LTE 2300" brand="BOLT! Super 4G" cc="id" country="Indonesia" 
operator="PT Internux" status="Operational"
  89 bands="GSM 1800 / UMTS 2100 / LTE 1800" brand="3" cc="id" 
country="Indonesia" operator="PT Hutchison CP Telecommunications" 
status="Operational"
  99 bands="CDMA 800" brand="Esia" cc="id" country="Indonesia" operator="PT 
Bakrie Telecom" status="Not Operational"
  00-99
 514
- 01 bands="GSM 900 / GSM 1800 / UMTS 850" brand="Telkomcel" cc="tl" 
country="East Timor" operator="PT Telekomunikasi Indonesia International" 
status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 850 / LTE" brand="Telkomcel" cc="tl" 
country="East Timor" operator="PT Telekomunikasi Indonesia International" 
status="Operational"
  02 bands="GSM 900 / UMTS / LTE" brand="TT" cc="tl" country="East Timor" 
operator="Timor Telecom" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS / LTE" brand="Telemor" cc="tl" 
country="East Timor" operator="Viettel Timor-Leste" status="Operational"
  00-99
@@ -2143,7 +2161,7 @@
  18 bands="GSM 1800" brand="dtac" cc="th" country="Thailand" operator="Total 
Access Communications Public Company Ltd." status="Operational"
  20 bands="Satellite" brand="ACeS" cc="th" country="Thailand" operator="ACeS" 
status=""
  23 bands="GSM 1800" brand="AIS GSM 1800" cc="th" country="Thailand" 
operator="Digital Phone Company Ltd." status="Not operational"
- 25 bands="PHS 1900" brand="WE PCT" cc="th" country="Thailand" operator="True 
Corporation" status="Operational"
+ 25 bands="PHS 1900" brand="WE PCT" cc="th" country="Thailand" operator="True 
Corporation" status="Not operational"
  47 bands="" cc="th" country="Thailand" operator="Telephone Organization of 
Thailand (TOT)" status=""
  99 bands="GSM 1800" brand="TrueMove" cc="th" country="Thailand" 
operator="True Corporation" status="Not operational"
  00-99
@@ -2166,14 +2184,14 @@
  00-99
 530
  00 bands="AMPS 800 / TDMA 800" brand="Telecom" cc="nz" country="New Zealand" 
operator="Telecom New Zealand" status="Not operational"
- 01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / 
LTE 2600" brand="Vodafone" cc="nz" country="New Zealand" operator="Vodafone New 
Zealand" status="Operational"
+ 01 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800 / LTE 2600" 
brand="Vodafone" cc="nz" country="New Zealand" operator="Vodafone New Zealand" 
status="Operational"
  02 bands="CDMA2000 800" brand="Telecom" cc="nz" country="New Zealand" 
operator="Telecom New Zealand" status="Not operational"
  03 bands="UMTS-TDD 2000" brand="Woosh" cc="nz" country="New Zealand" 
operator="Woosh Wireless" status="Operational"
  04 bands="UMTS 2100" brand="Vodafone" cc="nz" country="New Zealand" 
operator="TelstraClear New Zealand" status="Not operational"
  05 bands="UMTS 850 / UMTS 2100 / LTE 700 / LTE 1800 / TD-LTE 2300 / LTE 2600" 
brand="Spark" cc="nz" country="New Zealand" operator="Spark New Zealand" 
status="Operational"
  06 bands="MVNO" brand="Skinny" cc="nz" country="New Zealand" operator="Spark 
New Zealand" status="Operational"
  07 bands="" cc="nz" country="New Zealand" operator="Bluereach Limited" 
status=""
- 24 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800" 
brand="2degrees" cc="nz" country="New Zealand" operator="2degrees" 
status="Operational"
+ 24 bands="GSM 900 / UMTS 900 / UMTS 2100 / LTE 700 / LTE 1800" 
brand="2degrees" cc="nz" country="New Zealand" operator="2degrees" 
status="Operational"
  00-99
 536
  02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Digicel" cc="nr" 
country="Nauru" operator="Digicel (Nauru) Corporation" status="Operational"
@@ -2237,7 +2255,8 @@
  01 cc="mh" country="Marshall Islands" operator="Marshall Islands National 
Telecommunications Authority (MINTA)" status="Operational"
  00-99
 552
- 01 bands="GSM 900" brand="PNCC" cc="pw" country="Palau" operator="Palau 
National Communications Corp." status="Operational"
+ 01 bands="GSM 900 / UMTS 900 / LTE 700" brand="PNCC" cc="pw" country="Palau" 
operator="Palau National Communications Corp." status="Operational"
+ 02 bands="" brand="PalauTel" cc="pw" country="Palau" operator="Palau 
Equipment Company Inc." status=""
  80 bands="GSM 1800" brand="Palau Mobile" cc="pw" country="Palau" 
operator="Palau Mobile Corporation" status="Not operational"
  00-99
 553
@@ -2250,9 +2269,10 @@
  01 bands="GSM 900" brand="Telecom Niue" cc="nu" country="Niue" 
operator="Telecom Niue" status="Operational"
  00-99
 602
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Orange" cc="eg" 
country="Egypt" operator="Orange Egypt" status="Operational"
- 02 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Vodafone" cc="eg" 
country="Egypt" operator="Vodafone Egypt" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" cc="eg" 
country="Egypt" operator="Orange Egypt" status="Operational"
+ 02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Vodafone" cc="eg" 
country="Egypt" operator="Vodafone Egypt" status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Etisalat" cc="eg" 
country="Egypt" operator="Etisalat Egypt" status="Operational"
+ 04 bands="LTE" brand="WE" cc="eg" country="Egypt" operator="Telecom Egypt" 
status="Operational"
  00-99
 603
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Mobilis" cc="dz" 
country="Algeria" operator="Algérie Télécom" status="Operational"
@@ -2263,8 +2283,8 @@
  21 bands="GSM-R" brand="ANESRIF" cc="dz" country="Algeria" operator="Anesrif" 
status="Ongoing"
  00-99
 604
- 00 bands="GSM 900 / GSM 1800 / LTE" brand="Orange Morocco" cc="ma" 
country="Morocco" operator="Médi Télécom" status="Operational"
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" brand="IAM" 
cc="ma" country="Morocco" operator="Ittissalat Al-Maghrib (Maroc Telecom)" 
status="Operational"
+ 00 bands="GSM 900 / GSM 1800 / LTE 800" brand="Orange Morocco" cc="ma" 
country="Morocco" operator="Médi Télécom" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 2600" brand="IAM" 
cc="ma" country="Morocco" operator="Ittissalat Al-Maghrib (Maroc Telecom)" 
status="Operational"
  02 bands="GSM 900 / GSM 1800" brand="INWI" cc="ma" country="Morocco" 
operator="Wana Corporate" status="Operational"
  04 bands="" cc="ma" country="Morocco" operator="Al Houria Telecom" status=""
  05 bands="GSM 900 / GSM 1800 / LTE 1800" brand="INWI" cc="ma" 
country="Morocco" operator="Wana Corporate" status="Operational"
@@ -2346,7 +2366,7 @@
  05 bands="GSM 900 / GSM 1800" brand="Glo" cc="bj" country="Benin" 
operator="Glo Communication Benin" status="Operational"
  00-99
 617
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Orange" cc="mu" 
country="Mauritius" operator="Cellplus Mobile Communications Ltd." 
status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="my.t" cc="mu" 
country="Mauritius" operator="Cellplus Mobile Communications Ltd." 
status="Operational"
  02 bands="CDMA2000" brand="MOKOZE / AZU" cc="mu" country="Mauritius" 
operator="Mahanagar Telephone Mauritius Limited (MTML)" status="Operational"
  03 bands="GSM 900 / LTE 1800" brand="CHILI" cc="mu" country="Mauritius" 
operator="Mahanagar Telephone Mauritius Limited (MTML)" status="Operational"
  10 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="Emtel" cc="mu" 
country="Mauritius" operator="Emtel Ltd." status="Operational"
@@ -2373,9 +2393,9 @@
 620
  01 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100 / LTE 800" brand="MTN" 
cc="gh" country="Ghana" operator="MTN Group" status="Operational"
  02 bands="GSM 900 / GSM 1800 / UMTS / LTE 1800" brand="Vodafone" cc="gh" 
country="Ghana" operator="Vodafone Group" status="Operational"
- 03 bands="GSM 900 / GSM 1800 / UMTS" brand="tiGO" cc="gh" country="Ghana" 
operator="Millicom Ghana" status="Operational"
+ 03 bands="GSM 900 / GSM 1800 / UMTS" brand="AirtelTigo" cc="gh" 
country="Ghana" operator="Millicom Ghana" status="Operational"
  04 bands="CDMA2000 850" brand="Expresso" cc="gh" country="Ghana" 
operator="Kasapa / Hutchison Telecom" status="Operational"
- 06 bands="GSM 900 / GSM 1800 / UMTS" brand="Airtel" cc="gh" country="Ghana" 
operator="Airtel" status="Operational"
+ 06 bands="GSM 900 / GSM 1800 / UMTS" brand="AirtelTigo" cc="gh" 
country="Ghana" operator="Airtel" status="Operational"
  07 bands="GSM 900 / GSM 1800 / UMTS" brand="Globacom" cc="gh" country="Ghana" 
operator="Globacom Group" status="Operational"
  08 bands="LTE 2600" brand="Surfline" cc="gh" country="Ghana" 
operator="Surfline Communications Ltd" status="Operational"
  10 bands="TD-LTE 2600" brand="Blu" cc="gh" country="Ghana" operator="Blu 
Telecommunications" status="Operational"
@@ -2392,7 +2412,7 @@
  30 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 2600 / LTE 3500" brand="MTN" 
cc="ng" country="Nigeria" operator="MTN Nigeria Communications Limited" 
status="Operational"
  40 bands="LTE 900 / LTE 1800" brand="Ntel" cc="ng" country="Nigeria" 
operator="Nigerian Mobile Telecommunications Limited" status="Operational"
  50 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 700" brand="Glo" cc="ng" 
country="Nigeria" operator="Globacom Ltd" status="Operational"
- 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="9mobile" cc="ng" 
country="Nigeria" operator="Etisalat)" status="Operational"
+ 60 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 1800" brand="9mobile" cc="ng" 
country="Nigeria" operator="Etisalat). In transition since 2017" 
status="Operational"
  00-99
 622
  01 bands="GSM 900 / UMTS" brand="Airtel" cc="td" country="Chad" 
operator="Bharti Airtel SA" status="Operational"
@@ -2484,6 +2504,7 @@
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Telesom" cc="so" 
country="Somalia" operator="Telesom" status="Operational"
  04 bands="GSM 900 / GSM 1800" brand="Somafone" cc="so" country="Somalia" 
operator="Somafone FZLLC" status="Operational"
  10 bands="GSM 900" brand="Nationlink" cc="so" country="Somalia" 
operator="NationLink Telecom" status="Operational"
+ 20 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="SOMNET" cc="so" 
country="Somalia" operator="SOMNET" status="Operational"
  30 bands="GSM 900" brand="Golis" cc="so" country="Somalia" operator="Golis 
Telecom Somalia" status="Operational"
  50 bands="GSM 900 / UMTS" brand="Hormuud" cc="so" country="Somalia" 
operator="Hormuud Telecom Somalia Inc" status="Operational"
  57 bands="GSM 900 / GSM 1800" brand="UNITEL" cc="so" country="Somalia" 
operator="UNITEL S.a.r.l." status="Operational"
@@ -2500,7 +2521,7 @@
  02 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800 / LTE 1800" 
brand="Safaricom" cc="ke" country="Kenya" operator="Safaricom Limited" 
status="Operational"
  03 bands="GSM 900 / GSM 1800 / UMTS 900 / UMTS 2100" brand="Airtel" cc="ke" 
country="Kenya" operator="Bharti Airtel" status="Operational"
  05 bands="GSM 900" brand="yu" cc="ke" country="Kenya" operator="Essar Telecom 
Kenya" status="Not operational"
- 07 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Orange Kenya" cc="ke" 
country="Kenya" operator="Telkom Kenya" status="Operational"
+ 07 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 800" brand="Telkom" cc="ke" 
country="Kenya" operator="Telkom Kenya" status="Operational"
  00-99
 640
  01 bands="UMTS 900" cc="tz" country="Tanzania" operator="Rural NetCo Limited" 
status="Not operational"
@@ -2547,12 +2568,12 @@
  04 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Vodacom" cc="mz" 
country="Mozambique" operator="Vodacom Mozambique, S.A." status="Operational"
  00-99
 645
- 01 bands="GSM 900" brand="Airtel" cc="zm" country="Zambia" operator="Bharti 
Airtel" status="Operational"
+ 01 bands="GSM 900 / LTE" brand="Airtel" cc="zm" country="Zambia" 
operator="Bharti Airtel" status="Operational"
  02 bands="GSM 900 / LTE 1800" brand="MTN" cc="zm" country="Zambia" 
operator="MTN Group" status="Operational"
- 03 bands="GSM 900 / LTE 2300" brand="ZAMTEL" cc="zm" country="Zambia" 
operator="Zambia Telecommunications Company Ltd" status="Operational"
+ 03 bands="GSM 900 / TD-LTE 2300" brand="ZAMTEL" cc="zm" country="Zambia" 
operator="Zambia Telecommunications Company Ltd" status="Operational"
  00-99
 646
- 01 bands="GSM 900 / GSM 1800 / UMTS 2100" brand="Airtel" cc="mg" 
country="Madagascar" operator="Bharti Airtel" status="Operational"
+ 01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE" brand="Airtel" cc="mg" 
country="Madagascar" operator="Bharti Airtel" status="Operational"
  02 bands="GSM 900 / LTE" brand="Orange" cc="mg" country="Madagascar" 
operator="Orange Madagascar S.A." status="Operational"
  03 bands="GSM 900" brand="Sacel" cc="mg" country="Madagascar" operator="Sacel 
Madagascar S.A." status="Not operational"
  04 bands="GSM 900 / LTE" brand="Telma" cc="mg" country="Madagascar" 
operator="Telma Mobile S.A." status="Operational"
@@ -2602,7 +2623,7 @@
  00-99
 655
  01 bands="GSM 900 / GSM 1800 / UMTS 2100 / LTE 900 / LTE 1800 / LTE 2100" 
brand="Vodacom" cc="za" country="South Africa" operator="Vodacom" 
status="Operational"
- 02 bands="GSM 1800 / UMTS 2100 / TD-LTE 2300" brand="Telkom" cc="za" 
country="South Africa" operator="Telkom SA Ltd" status="Operational"
+ 02 bands="GSM 1800 / UMTS 2100 / LTE 1800 / TD-LTE 2300" brand="Telkom" 
cc="za" country="South Africa" operator="Telkom SA SOC Ltd" status="Operational"
  04 bands="" cc="za" country="South Africa" operator="Sasol (Pty) Ltd." 
status=""
  06 bands="" cc="za" country="South Africa" operator="Sentech (Pty) Ltd" 
status="Operational"
  07 bands="GSM 900 / GSM 1800 / UMTS 900 / LTE 1800 / LTE 2100" brand="Cell C" 
cc="za" country="South Africa" operator="Cell C (Pty) Ltd" status="Operational"
@@ -2613,7 +2634,7 @@
  14 bands="LTE 1800" brand="Neotel" cc="za" country="South Africa" 
operator="Neotel Pty Ltd" status="Operational"
  16 bands="" cc="za" country="South Africa" operator="Phoenix System 
Integration (Pty) Ltd" status="Not operational"
  17 bands="" cc="za" country="South Africa" operator="Sishen Iron Ore Company 
(Ltd) Pty" status=""
- 19 bands="TD-LTE" brand="iBurst" cc="za" country="South Africa" 
operator="Wireless Business Solutions (Pty) Ltd" status="Operational"
+ 19 bands="TD-LTE" cc="za" country="South Africa" operator="Wireless Business 
Solutions (Pty) Ltd" status="Operational"
  21 bands="TETRA 410" cc="za" country="South Africa" operator="Cape Town 
Metropolitan Council" status="Operational"
  24 bands="" cc="za" country="South Africa" operator="SMSPortal (Pty) Ltd." 
status=""
  25 bands="" cc="za" country="South Africa" operator="Wirels Connect" status=""
@@ -2706,7 +2727,7 @@
  310 bands="GSM 1900" brand="Claro" cc="ar" country="Argentina" operator="AMX 
Argentina S.A." status="Operational"
  320 bands="GSM 850 / GSM 1900 / UMTS / LTE 1700" brand="Claro" cc="ar" 
country="Argentina" operator="AMX Argentina S.A." status="Operational"
  330 bands="GSM 850 / GSM 1900 / UMTS / LTE 1700" brand="Claro" cc="ar" 
country="Argentina" operator="AMX Argentina S.A." status="Operational"
- 341 bands="GSM 850 / GSM 1900 / UMTS / LTE 700 / LTE 1700" brand="Personal" 
cc="ar" country="Argentina" operator="Telecom Personal S.A." 
status="Operational"
+ 341 bands="GSM 850 / GSM 1900 / UMTS / LTE 700 / LTE 1700 / LTE 2600" 
brand="Personal" cc="ar" country="Argentina" operator="Telecom Personal S.A." 
status="Operational"
  350 bands="GSM 900" brand="PORT-HABLE" cc="ar" country="Argentina" 
operator="Hutchison Telecommunications Argentina S.A." status="Not operational"
  000-999
 724
@@ -2821,7 +2842,7 @@
  00-99
 748
  00 bands="TDMA" brand="Antel" cc="uy" country="Uruguay" 
operator="Administración Nacional de Telecomunicaciones" status=""
- 01 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 1700" brand="Antel" cc="uy" 
country="Uruguay" operator="Administración Nacional de Telecomunicaciones" 
status="Operational"
+ 01 bands="GSM 1800 / UMTS 850 / UMTS 2100 / LTE 700 / LTE 1700" brand="Antel" 
cc="uy" country="Uruguay" operator="Administración Nacional de 
Telecomunicaciones" status="Operational"
  03 bands="" brand="Antel" cc="uy" country="Uruguay" operator="Administración 
Nacional de Telecomunicaciones" status=""
  07 bands="GSM 850 / GSM 1900 / UMTS 850 / LTE 1900" brand="Movistar" cc="uy" 
country="Uruguay" operator="Telefónica Móviles Uruguay" status="Operational"
  10 bands="GSM 1900 / UMTS 1900 / LTE 1700" brand="Claro" cc="uy" 
country="Uruguay" operator="AM Wireless Uruguay S.A." status="Operational"
diff --git a/stdnum/isbn.dat b/stdnum/isbn.dat
index e0a9d46..86dfe05 100644
--- a/stdnum/isbn.dat
+++ b/stdnum/isbn.dat
@@ -1,7 +1,7 @@
 # generated from RangeMessage.xml, downloaded from
 # https://www.isbn-international.org/export_rangemessage.xml
-# file serial 059cb555-0049-41dd-bd35-71f7dc786b61
-# file date Mon, 4 Sep 2017 17:16:55 CEST
+# file serial 352b2404-54ce-4d18-828a-ed60209b93e1
+# file date Thu, 21 Dec 2017 17:54:41 CET
 978
  0-5,600-649,7-7,80-94,950-989,9900-9989,99900-99999
  0 agency="English language"
@@ -14,7 +14,8 @@
   9990000-9999999
  2 agency="French language"
   00-19,200-349,35000-39999,400-489,490000-494999,495-699,7000-8399
-  84000-89999,900000-919942,9199430-9199689,919969-949999,9500000-9999999
+  84000-89999,900000-919799,91980-91980,919810-919942,9199430-9199689
+  919969-949999,9500000-9999999
  3 agency="German language"
   00-02,030-033,0340-0369,03700-03999,04-19,200-699,7000-8499,85000-89999
   900000-949999,9500000-9539999,95400-96999,9700000-9899999,99000-99499
@@ -27,7 +28,7 @@
   900000-909999,91000-91999,9200-9299,93000-94999,9500000-9500999
   9501-9799,98000-98999,9900000-9909999,9910-9999
  600 agency="Iran"
-  00-09,100-499,5000-8999,90000-99999
+  00-09,100-499,5000-8999,90000-98679,9868-9929,993-995,99600-99999
  601 agency="Kazakhstan"
   00-19,200-699,7000-7999,80000-84999,85-99
  602 agency="Indonesia"
@@ -71,6 +72,8 @@
   0-9
  621 agency="Philippines"
   00-29,400-599,8000-8999,95000-99999
+ 622 agency="Iran"
+  00-03
  7 agency="China, People's Republic"
   00-09,100-499,5000-7999,80000-89999,900000-999999
  80 agency="former Czechoslovakia"
@@ -82,10 +85,11 @@
  83 agency="Poland"
   00-19,200-599,60000-69999,7000-8499,85000-89999,900000-999999
  84 agency="Spain"
-  00-13,140-149,15000-19999,200-699,7000-8499,85000-89999,9000-9199
-  920000-923999,92400-92999,930000-949999,95000-96999,9700-9999
+  00-12,1300-1399,140-149,15000-19999,200-699,7000-8499,85000-89999
+  9000-9199,920000-923999,92400-92999,930000-949999,95000-96999,9700-9999
  85 agency="Brazil"
-  00-19,200-543,5440-5479,54800-54999,5500-5999,60000-69999,7000-8499
+  00-19,200-454,455000-455299,45530-45599,456-528,52900-53199,5320-5339
+  534-543,5440-5479,54800-54999,5500-5999,60000-69999,7000-8499
   85000-89999,900000-924999,92500-94499,9450-9599,96-97,98000-99999
  86 agency="former Yugoslavia"
   00-29,300-599,6000-7999,80000-89999,900000-999999
@@ -198,6 +202,10 @@
   97000-99999
  989 agency="Portugal"
   0-1,20-53,54000-54999,550-799,8000-9499,95000-99999
+ 9921 agency="Kuwait"
+  0-0,30-39,700-899,9700-9999
+ 9922 agency="Iraq"
+  20-29,600-799,9000-9999
  9923 agency="Jordan"
   0-0,10-49,700-899,9700-9999
  9924 agency="Cambodia"
@@ -235,7 +243,7 @@
  9940 agency="Montenegro"
   0-1,20-49,500-899,9000-9999
  9941 agency="Georgia"
-  0-0,10-39,400-899,9000-9999
+  0-0,10-39,400-799,8-8,9000-9999
  9942 agency="Ecuador"
   00-74,750-849,8500-8999,900-984,9850-9999
  9943 agency="Uzbekistan"
@@ -304,7 +312,7 @@
  9975 agency="Moldova"
   0-0,100-299,3000-3999,4000-4499,45-89,900-949,9500-9999
  9976 agency="Tanzania"
-  0-4,5000-5999,60-89,900-989,9900-9999
+  0-4,5000-5899,59-89,900-989,9900-9999
  9977 agency="Costa Rica"
   00-89,900-989,9900-9999
  9978 agency="Ecuador"
@@ -440,7 +448,7 @@
  99956 agency="Albania"
   00-59,600-859,86-99
  99957 agency="Malta"
-  0-1,20-79,800-999
+  0-1,20-79,800-939,94-99
  99958 agency="Bahrain"
   0-4,50-93,940-949,950-999
  99959 agency="Luxembourg"
@@ -456,9 +464,9 @@
  99964 agency="Nicaragua"
   0-1,20-79,800-999
  99965 agency="Macau"
-  0-2,300-379,38-62,630-999
+  0-2,300-359,36-62,630-999
  99966 agency="Kuwait"
-  0-2,30-69,700-799,80-94
+  0-2,30-69,700-799,80-96,970-999
  99967 agency="Paraguay"
   0-1,20-59,600-899
  99968 agency="Botswana"
@@ -485,6 +493,8 @@
   0-4,50-79,800-999
  99979 agency="Honduras"
   0-4,50-79,800-999
+ 99980 agency="Bhutan"
+  0-0,30-59,800-999
 979
  10-12
  10 agency="France"
diff --git a/stdnum/us/ein.dat b/stdnum/us/ein.dat
index 0b6dd7a..a97da38 100644
--- a/stdnum/us/ein.dat
+++ b/stdnum/us/ein.dat
@@ -7,7 +7,7 @@
 20,26,27,45,46,47,81 campus="Internet"
 30,32,35,36,37,38,61 campus="Cincinnati"
 31 campus="Small Business Administration (SBA)"
-33,39,41,42,43,48,62,63,64,66,68,71,72,73,74,75,76,77,82,83,84,85,86,87,88,91,92,93,98,99
 campus="Philadelphia"
+33,39,41,42,43,46,48,62,63,64,66,68,71,72,73,74,75,76,77,82,83,84,85,86,87,88,91,92,93,98,99
 campus="Philadelphia"
 40,44 campus="Kansas City"
 50,53 campus="Austin"
 60,67 campus="Atlanta"

https://arthurdejong.org/git/python-stdnum/commit/?id=e781eeea908018fce0c00c03378d3f40031dc2a7

commit e781eeea908018fce0c00c03378d3f40031dc2a7
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Mon Jan 1 13:15:50 2018 +0100

    Move update scripts to own directory
    
    This moves all the update scripts to their own directory so they don't
    clutter the toplevel directory.
    
    This also ensures that the scripts are passed through flake8 and makes
    some adjustments for that alongside a few other cleanups.

diff --git a/MANIFEST.in b/MANIFEST.in
index faa84ef..b297d5d 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,3 +2,4 @@ include README NEWS ChangeLog COPYING *.py tox.ini
 recursive-include tests *.doctest *.dat
 recursive-include docs *.rst *.py
 recursive-include online_check *
+recursive-include update README *.py
diff --git a/tox.ini b/tox.ini
index df41938..4529ddf 100644
--- a/tox.ini
+++ b/tox.ini
@@ -26,7 +26,7 @@ deps = flake8
        flake8-tidy-imports
        flake8-tuple
        pep8-naming
-commands = flake8 stdnum tests *.py
+commands = flake8 stdnum tests update *.py
 
 [testenv:docs]
 basepython = python
diff --git a/update/README b/update/README
new file mode 100644
index 0000000..cf0424d
--- /dev/null
+++ b/update/README
@@ -0,0 +1,3 @@
+This directory contains update scripts that typically update .dat files that
+are shipped along with python-stdnum. The dependencies of these scripts are
+recorded in requirements.txt in this directory.
diff --git a/getcnloc.py b/update/cn_loc.py
similarity index 88%
rename from getcnloc.py
rename to update/cn_loc.py
index c0aac87..96a13f4 100755
--- a/getcnloc.py
+++ b/update/cn_loc.py
@@ -1,9 +1,9 @@
 #!/usr/bin/env python
 
-# getcnloc.py - script to fetch data from the CN Open Data community
+# update/cn_loc.py - script to fetch data from the CN Open Data community
 #
 # Copyright (C) 2014-2015 Jiangge Zhang
-# Copyright (C) 2015-2016 Arthur de Jong
+# Copyright (C) 2015-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -20,10 +20,13 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301 USA
 
+"""This script downloads birth place codes from the CN Open Data community on
+Github."""
+
 from __future__ import print_function, unicode_literals
 
-import sys
 import codecs
+import sys
 from collections import OrderedDict
 from datetime import datetime
 
@@ -51,7 +54,9 @@ data_revisions = [
     'GB2260-2014',
 ]
 
+
 def fetch_data():
+    """Return the data from tab-separated revisions as one code/name dict."""
     data_collection = OrderedDict()
     for revision in data_revisions:
         response = requests.get('%s/raw/release/%s.txt' % (data_url, revision))
@@ -67,6 +72,7 @@ def fetch_data():
 
 
 def group_data(data_collection):
+    """Filter the data and return codes with names."""
     for code, name in sorted(data_collection.items()):
         if code.endswith('00'):
             continue  # county only
@@ -78,6 +84,7 @@ def group_data(data_collection):
 
 
 def print_data_file(file):
+    """Output a data file in the right format."""
     print("# generated from National Bureau of Statistics of the People's",
           file=file)
     print('# Republic of China, downloaded from %s' % data_url, file=file)
diff --git a/getdowhitelists.py b/update/do_whitelists.py
similarity index 90%
rename from getdowhitelists.py
rename to update/do_whitelists.py
index 1359a64..c70471d 100755
--- a/getdowhitelists.py
+++ b/update/do_whitelists.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # coding: utf-8
 
-# getdowhitelists.py - script to update the do.rnc and do.cedula whitelists
+# update/do_whitelists.py - script to update do.rnc and do.cedula whitelists
 #
 # Copyright (C) 2017 Arthur de Jong
 #
@@ -25,13 +25,18 @@ Internos (DGII) web site with lists of all RNC and Cedula 
values and outputs
 new whitelists for these modules."""
 
 import os.path
+import shutil
+import sys
+import tempfile
 import textwrap
 import urllib
 import zipfile
-import tempfile
-import shutil
 
-from stdnum.do import cedula, rnc
+# Ensure that we use our local stdnum implementation is used
+sys.path.insert(0, os.path.normpath(
+    os.path.join(os.path.dirname(os.path.abspath(__file__)), '..')))
+
+from stdnum.do import cedula, rnc  # noqa
 
 
 # The URL of the zip file with all valid numbers
diff --git a/getnace.py b/update/eu_nace.py
similarity index 68%
rename from getnace.py
rename to update/eu_nace.py
index 0830563..af831f1 100755
--- a/getnace.py
+++ b/update/eu_nace.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python3
 
-# getnace.py - script to get the NACE v2 catalogue
+# update/eu_nace.py - script to get the NACE v2 catalogue
 #
-# Copyright (C) 2017 Arthur de Jong
+# Copyright (C) 2017-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,32 +23,29 @@
 Metadata Server and extracts the information that is used for validating NACE
 codes."""
 
-from xml.etree import ElementTree
 import cgi
 import urllib.request
+from xml.etree import ElementTree
 
 
 # the location of the ISBN Ranges XML file
 download_url = 
'http://ec.europa.eu/eurostat/ramon/nomenclatures/index.cfm?TargetUrl=ACT_OTH_CLS_DLD&StrNom=NACE_REV2&StrFormat=XML&StrLanguageCode=EN'
 
 
-def get(f=None):
-    if f is None:
-        f = urllib.request.urlopen(download_url)
-        _, params = cgi.parse_header(f.info().get('Content-Disposition', ''))
-        filename = params.get('filename', '?')
-        yield '# generated from %s, downloaded from' % filename
-        yield '# %s' % download_url
-    else:
-        yield '# generated from %s' % f
+if __name__ == '__main__':
+    f = urllib.request.urlopen(download_url)
+    _, params = cgi.parse_header(f.info().get('Content-Disposition', ''))
+    filename = params.get('filename', '?')
+    print('# generated from %s, downloaded from' % filename)
+    print('# %s' % download_url)
 
     # parse XML document
     doc = ElementTree.parse(f).getroot()
 
     # output header
-    yield '# %s: %s' % (
+    print('# %s: %s' % (
         doc.find('Classification').get('id'),
-        doc.find('Classification/Label/LabelText[@language="EN"]').text)
+        doc.find('Classification/Label/LabelText[@language="EN"]').text))
 
     for item in doc.findall('Classification/Item'):
         number = item.get('id')
@@ -59,16 +56,10 @@ def get(f=None):
             'PropertyText').text
         if level == 1:
             section = number
-            yield '%s label="%s" isic="%s"' % (number, label, isic)
+            print('%s label="%s" isic="%s"' % (number, label, isic))
         elif level == 2:
-            yield '%s section="%s" label="%s" isic="%s"' % (
-                number, section, label, isic)
+            print('%s section="%s" label="%s" isic="%s"' % (
+                number, section, label, isic))
         else:
-            yield '%s%s label="%s" isic="%s"' % (
-                ' ' * (level - 2), number[level], label, isic)
-
-
-if __name__ == '__main__':
-    #get('NACE_REV2_20170326_162216.xml')
-    for row in get():
-        print(row)
+            print('%s%s label="%s" isic="%s"' % (
+                ' ' * (level - 2), number[level], label, isic))
diff --git a/getiban.py b/update/iban.py
similarity index 89%
rename from getiban.py
rename to update/iban.py
index e6894c6..5cc0fa1 100755
--- a/getiban.py
+++ b/update/iban.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
-# getiban.py - script to donwload and parse data from the IBAN registry
+# update/iban.py - script to donwload and parse data from the IBAN registry
 #
-# Copyright (C) 2011-2016 Arthur de Jong
+# Copyright (C) 2011-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,9 +23,9 @@
 Financial Telecommunication which is the official IBAN registrar) to get
 the data needed to correctly parse and validate IBANs."""
 
-from collections import defaultdict
 import csv
 import urllib
+from collections import defaultdict
 
 
 # The place where the current version of
@@ -44,8 +44,8 @@ def get_country_codes(line):
 
 def parse(f):
     """Parse the specified file."""
-    print '# generated from swift_standards_infopaper_ibanregistry_1.txt,'
-    print '# downloaded from %s' % download_url
+    print('# generated from swift_standards_infopaper_ibanregistry_1.txt,')
+    print('# downloaded from %s' % download_url)
     values = defaultdict(dict)
     # the file is CSV but the data is in columns instead of rows
     for row in csv.reader(f, delimiter='\t', quotechar='"'):
@@ -65,7 +65,7 @@ def parse(f):
         if bban.startswith(cc + '2!n'):
             bban = bban[5:]
         # print country line
-        print '%s country="%s" bban="%s"' % (cc, cname, bban)
+        print('%s country="%s" bban="%s"' % (cc, cname, bban))
         # TODO: some countries have a fixed check digit value
         # TODO: some countries have extra check digits
         # TODO: use "Bank identifier position within the BBAN" field
diff --git a/getimsi.py b/update/imsi.py
similarity index 87%
rename from getimsi.py
rename to update/imsi.py
index 9c52931..66a1d88 100755
--- a/getimsi.py
+++ b/update/imsi.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
-# getismsi.py - script to donwload data from Wikipedia to build the database
+# update/imsi.py - script to donwload from Wikipedia to build the database
 #
-# Copyright (C) 2011, 2013 Arthur de Jong
+# Copyright (C) 2011-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -19,9 +19,11 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301 USA
 
-from collections import defaultdict
+"""This extracts a IMSI country and operator code from Wikipedia."""
+
 import re
 import urllib
+from collections import defaultdict
 
 
 # URLs that are downloaded
@@ -82,11 +84,12 @@ cleanup_replacements = {
 
 remove_ref_re = re.compile(r'<ref>.*?</ref>')
 remove_comment_re = re.compile(r'{{.*?}}')
-remove_href_re = re.compile(ur'(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+' 
+
-                            ur'[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|' +
-                            ur'(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|' +
-                            ur'(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>' +
-                            ur'?\xab\xbb\u201c\u201d\u2018\u2019]))')
+quotes = u'\xab\xbb\u201c\u201d\u2018\u2019'
+remove_href_re = re.compile(r'(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+' +
+                            r'[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|' +
+                            r'(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|' +
+                            r'(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>' +
+                            r'?' + quotes + ']))')
 
 
 def cleanup_value(val):
@@ -137,8 +140,7 @@ def get_mncs_from_wikipedia(data):
         line = line.replace('||', '\\\\')
         match = mnc_line_re.match(line)
         if match:
-            mnc_list = str2range(match.group('mnc'))
-            for mnc in mnc_list:
+            for mnc in str2range(match.group('mnc')):
                 update_mncs(data, match.group('mcc'), mnc,
                             country=country, cc=cc, brand=match.group('brand'),
                             operator=match.group('operator'),
@@ -147,6 +149,7 @@ def get_mncs_from_wikipedia(data):
 
 
 def str2range(x):
+    """Convert the comma-separated list of ranges to a list of numbers."""
     result = []
     for part in x.split(','):
         if '-' in part:
@@ -156,7 +159,6 @@ def str2range(x):
             for i in range(a, b + 1):
                 result.append(f % (i))
         else:
-            a = part
             result.append(part)
     return result
 
@@ -166,14 +168,14 @@ if __name__ == '__main__':
     data = defaultdict(lambda: defaultdict(dict))
     get_mncs_from_wikipedia(data)
     # print header
-    print '# generated from various sources'
-    print '# %s' % mcc_list_url
+    print('# generated from various sources')
+    print('# %s' % mcc_list_url)
     # build an ordered list of mccs
     mcc_list = list(data.keys())
     mcc_list.sort()
     # go over mccs
     for mcc in mcc_list:
-        print '%s' % mcc
+        print('%s' % mcc)
         # build an ordered list of mncs
         mnc_list = data[mcc].keys()
         mnc_list.sort()
@@ -181,10 +183,10 @@ if __name__ == '__main__':
             info = data[mcc][mnc]
             infokeys = info.keys()
             infokeys.sort()
-            print ' %s%s' % (mnc, ''.join([' %s="%s"' % (k, info[k]) for k in 
infokeys]))
+            print(' %s%s' % (mnc, ''.join([' %s="%s"' % (k, info[k]) for k in 
infokeys])))
         # try to get the length of mnc's
         try:
-            l = len(mnc_list[0])
-            print ' %s-%s' % (l * '0', l * '9')
+            length = len(mnc_list[0])
+            print(' %s-%s' % (length * '0', length * '9'))
         except IndexError:
             pass  # ignore
diff --git a/getisbn.py b/update/isbn.py
similarity index 76%
rename from getisbn.py
rename to update/isbn.py
index 6fe4cb4..690457b 100755
--- a/getisbn.py
+++ b/update/isbn.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python3
 
-# getisbn.py - script to get ISBN prefix data
+# update/isbn.py - script to get ISBN prefix data
 #
-# Copyright (C) 2010-2016 Arthur de Jong
+# Copyright (C) 2010-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -25,9 +25,9 @@ ranges for those prefixes suitable for the numdb module. This 
data is needed
 to correctly split ISBNs into an EAN.UCC prefix, a group prefix, a registrant,
 an item number and a check-digit."""
 
-from xml.etree import ElementTree
 import ssl
 import urllib.request
+from xml.etree import ElementTree
 
 
 # the location of the ISBN Ranges XML file
@@ -35,6 +35,7 @@ download_url = 
'https://www.isbn-international.org/export_rangemessage.xml'
 
 
 def ranges(group):
+    """Provide the ranges for the group."""
     for rule in group.find('Rules').findall('Rule'):
         length = int(rule.find('Length').text.strip())
         if length:
@@ -44,6 +45,7 @@ def ranges(group):
 
 
 def wrap(text):
+    """Rewrap the provided text into lines."""
     while text:
         i = len(text)
         if i > 73:
@@ -52,21 +54,18 @@ def wrap(text):
         text = text[i + 1:]
 
 
-def get(f=None):
-    if f is None:
-        yield '# generated from RangeMessage.xml, downloaded from'
-        yield '# %s' % download_url
-        ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
-        f = urllib.request.urlopen(download_url, context=ctx)
-    else:
-        yield '# generated from %r' % f
+if __name__ == '__main__':
+    print('# generated from RangeMessage.xml, downloaded from')
+    print('# %s' % download_url)
+    ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
+    f = urllib.request.urlopen(download_url, context=ctx)
 
     # parse XML document
     msg = ElementTree.parse(f).getroot()
 
     # dump data from document
-    yield '# file serial %s' % msg.find('MessageSerialNumber').text.strip()
-    yield '# file date %s' % msg.find('MessageDate').text.strip()
+    print('# file serial %s' % msg.find('MessageSerialNumber').text.strip())
+    print('# file date %s' % msg.find('MessageDate').text.strip())
 
     top_groups = dict(
         (x.find('Prefix').text.strip(), x)
@@ -77,16 +76,10 @@ def get(f=None):
         top, prefix = group.find('Prefix').text.strip().split('-')
         agency = group.find('Agency').text.strip()
         if top != prevtop:
-            yield top
+            print(top)
             for line in wrap(','.join(ranges(top_groups[top]))):
-                yield ' %s' % line
+                print(' %s' % line)
             prevtop = top
-        yield ' %s agency="%s"' % (prefix, agency)
+        print(' %s agency="%s"' % (prefix, agency))
         for line in wrap(','.join(ranges(group))):
-            yield '  %s' % line
-
-
-if __name__ == '__main__':
-    # get('RangeMessage.xml')
-    for row in get():
-        print(row)
+            print('  %s' % line)
diff --git a/getisil.py b/update/isil.py
similarity index 80%
rename from getisil.py
rename to update/isil.py
index 8348fef..d86bdef 100755
--- a/getisil.py
+++ b/update/isil.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
-# getisil.py - script to donwload ISIL agencies
+# update/isil.py - script to donwload ISIL agencies
 #
-# Copyright (C) 2011 Arthur de Jong
+# Copyright (C) 2011-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,25 +23,27 @@
 and screen-scrapes the national and non-national ISIL agencies and
 code prefixes."""
 
+import re
 import urllib
+
 import BeautifulSoup
-import re
 
-spaces_re = re.compile('\s+', re.UNICODE)
+
+spaces_re = re.compile(r'\s+', re.UNICODE)
 
 # the web page that holds information on the ISIL authorities
 download_url = 'http://biblstandard.dk/isil/'
 
 
 def clean(s):
-    """Cleans up the string removing unneeded stuff from it."""
+    """Clean up the string removing unneeded stuff from it."""
     return spaces_re.sub(' ', s.replace(u'\u0096', '')).strip().encode('utf-8')
 
 
 def parse(f):
     """Parse the specified file."""
-    print '# generated from ISIL Registration Authority, downloaded from'
-    print '# %s' % download_url
+    print('# generated from ISIL Registration Authority, downloaded from')
+    print('# %s' % download_url)
     soup = BeautifulSoup.BeautifulSoup(f, convertEntities='html')
     # find all table rows
     for tr in soup.findAll('tr'):
@@ -59,13 +61,13 @@ def parse(f):
             elif tds[2].string:
                 props['ra'] = clean(tds[2].string)
             # we could also get the search urls from tds[3].findAll('a')
-            print '%s$ %s' % (
-                      cc,
-                      ' '.join(['%s="%s"' % (x, y)
-                                for x, y in props.iteritems()]))
+            print(
+                '%s$ %s' % (
+                    cc, ' '.join(
+                        ['%s="%s"' % (x, y) for x, y in props.iteritems()])))
 
 
 if __name__ == '__main__':
-    #f = open('isil.html', 'r')
+    # f = open('isil.html', 'r')
     f = urllib.urlopen(download_url)
     parse(f)
diff --git a/getmybp.py b/update/my_bp.py
similarity index 78%
rename from getmybp.py
rename to update/my_bp.py
index f9dfa9c..3cf1227 100755
--- a/getmybp.py
+++ b/update/my_bp.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
-# getmybp.py - script to donwnload data from Malaysian government site
+# update/my_bp.py - script to download data from Malaysian government site
 #
-# Copyright (C) 2013-2016 Arthur de Jong
+# Copyright (C) 2013-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -19,9 +19,12 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 # 02110-1301 USA
 
-from collections import defaultdict
+"""This script downloads the list of states and countries and their
+birthplace code from the National Registration Department of Malaysia."""
+
 import re
 import urllib
+from collections import defaultdict
 
 import BeautifulSoup
 
@@ -31,11 +34,11 @@ state_list_url = 
'http://www.jpn.gov.my/informasi/kod-negeri/'
 country_list_url = 'http://www.jpn.gov.my/en/informasi/kod-negara/'
 
 
-spaces_re = re.compile('\s+', re.UNICODE)
+spaces_re = re.compile(r'\s+', re.UNICODE)
 
 
 def clean(s):
-    """Cleans up the string removing unneeded stuff from it."""
+    """Clean up the string removing unneeded stuff from it."""
     return spaces_re.sub(' ', s.replace(u'\u0096', '')).strip().encode('utf-8')
 
 
@@ -56,24 +59,24 @@ def parse(f):
 
 
 if __name__ == '__main__':
-    results = defaultdict(lambda : defaultdict(set))
+    results = defaultdict(lambda: defaultdict(set))
     # read the states
-    #f = open('/tmp/states.html', 'r')
+    # f = open('/tmp/states.html', 'r')
     f = urllib.urlopen(state_list_url)
     for state, bps in parse(f):
         for bp in bps.split(','):
             results[bp.strip()]['state'] = state
             results[bp.strip()]['countries'].add('Malaysia')
     # read the countries
-    #f = open('/tmp/countries.html', 'r')
+    # f = open('/tmp/countries.html', 'r')
     f = urllib.urlopen(country_list_url)
     for country, bp in parse(f):
         results[bp]['countries'].add(country)
     # print the results
-    print '# generated from National Registration Department of Malaysia, 
downloaded from'
-    print '# %s' % state_list_url
-    print '# %s' % country_list_url
-    print
+    print('# generated from National Registration Department of Malaysia, 
downloaded from')
+    print('# %s' % state_list_url)
+    print('# %s' % country_list_url)
+    print('')
     for bp in sorted(results.iterkeys()):
         res = bp
         row = results[bp]
@@ -85,4 +88,4 @@ if __name__ == '__main__':
             res += ' country="%s"' % countries[0]
         if len(countries) > 0:
             res += ' countries="%s"' % (', '.join(countries))
-        print res
+        print(res)
diff --git a/getnumlist.py b/update/numlist.py
similarity index 73%
rename from getnumlist.py
rename to update/numlist.py
index 47cd4a0..7d4442f 100755
--- a/getnumlist.py
+++ b/update/numlist.py
@@ -1,8 +1,8 @@
 #!/usr/bin/env python
 
-# getnumlist.py - script to get a list of number formats in stdnum
+# update/numlist.py - script to get a list of number formats in stdnum
 #
-# Copyright (C) 2012-2017 Arthur de Jong
+# Copyright (C) 2012-2018 Arthur de Jong
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -33,24 +33,25 @@ algortihms = (
 
 
 def get_number_modules():
-    """Provides the number modules that are not algorithms."""
+    """Provide the number modules that are not algorithms."""
     for module in util.get_number_modules():
         if module.__name__ not in algortihms and \
            not module.__name__.startswith('stdnum.iso7064'):
             yield module
 
+
 if __name__ == '__main__':
-    print 'For README:'
-    print ''
+    print('For README:')
+    print('')
     for module in get_number_modules():
-        print ' * %s' % util.get_module_name(module)
-    print ''
-    print 'For docs/index.rst:'
-    print ''
+        print(' * %s' % util.get_module_name(module))
+    print('')
+    print('For docs/index.rst:')
+    print('')
     for module in get_number_modules():
-        print '   %s' % module.__name__.replace('stdnum.', '')
-    print ''
-    print 'For formats.xml:'
-    print ''
+        print('   %s' % module.__name__.replace('stdnum.', ''))
+    print('')
+    print('For formats.xml:')
+    print('')
     for module in get_number_modules():
-        print '  <li>%s</li>' % util.get_module_name(module)
+        print('  <li>%s</li>' % util.get_module_name(module))
diff --git a/update/requirements.txt b/update/requirements.txt
new file mode 100644
index 0000000..750c2fc
--- /dev/null
+++ b/update/requirements.txt
@@ -0,0 +1,2 @@
+BeautifulSoup
+requests

-----------------------------------------------------------------------

Summary of changes:
 MANIFEST.in                                   |   1 +
 stdnum/cn/loc.dat                             |   2 +-
 stdnum/eu/nace.dat                            |   2 +-
 stdnum/imsi.dat                               | 173 +++++++++++++++-----------
 stdnum/isbn.dat                               |  34 +++--
 stdnum/us/ein.dat                             |   2 +-
 tox.ini                                       |   2 +-
 update/README                                 |   3 +
 getcnloc.py => update/cn_loc.py               |  13 +-
 getdowhitelists.py => update/do_whitelists.py |  13 +-
 getnace.py => update/eu_nace.py               |  41 +++---
 getiban.py => update/iban.py                  |  12 +-
 getimsi.py => update/imsi.py                  |  36 +++---
 getisbn.py => update/isbn.py                  |  39 +++---
 getisil.py => update/isil.py                  |  26 ++--
 getmybp.py => update/my_bp.py                 |  29 +++--
 getnumlist.py => update/numlist.py            |  29 ++---
 update/requirements.txt                       |   2 +
 18 files changed, 250 insertions(+), 209 deletions(-)
 create mode 100644 update/README
 rename getcnloc.py => update/cn_loc.py (88%)
 rename getdowhitelists.py => update/do_whitelists.py (90%)
 rename getnace.py => update/eu_nace.py (68%)
 rename getiban.py => update/iban.py (89%)
 rename getimsi.py => update/imsi.py (87%)
 rename getisbn.py => update/isbn.py (76%)
 rename getisil.py => update/isil.py (80%)
 rename getmybp.py => update/my_bp.py (78%)
 rename getnumlist.py => update/numlist.py (73%)
 create mode 100644 update/requirements.txt


hooks/post-receive
-- 
python-stdnum
-- 
To unsubscribe send an email to
python-stdnum-commits-unsubscribe@lists.arthurdejong.org or see
https://lists.arthurdejong.org/python-stdnum-commits/