fix event handlers and split panel resize event

This commit is contained in:
rolux 2011-09-17 19:39:38 +02:00
parent 3f90e96c3a
commit da9e5dbb29
27 changed files with 722 additions and 118 deletions

View file

@ -183,15 +183,15 @@ Ox.Resizebar = function(options, self) {
}
function triggerEvents(event) {
self.options.elements[0].triggerEvent(event,
self.isLeftOrTop ?
self.options.size :
self.options.elements[0][self.dimensions[1]]()
);
self.options.elements[1].triggerEvent(event,
self.isLeftOrTop ?
self.options.elements[1][self.dimensions[1]]() :
self.options.size
self.options.elements[0].triggerEvent(event, {
size: self.isLeftOrTop
? self.options.size
: self.options.elements[0][self.dimensions[1]]()
});
self.options.elements[1].triggerEvent(event, {
size: self.isLeftOrTop
? self.options.elements[1][self.dimensions[1]]()
: self.options.size
);
}

View file

@ -420,7 +420,7 @@ Ox.Calendar = function(options, self) {
}
function changeZoom(event, data) {
function changeZoom(data) {
self.options.zoom = data.value;
renderCalendar();
}

View file

@ -101,11 +101,10 @@ Ox.Element = function(options, self) {
function bind(action, event, fn) {
self.$eventHandler[action]('ox_' + event, function(event, data) {
// fixme: remove second parameter (legacy)
fn(Ox.extend({
_element: that.$element,
_event: event
}, data), data);
}, data));
});
}

View file

@ -41,7 +41,7 @@ Ox.ColorInput = function(options, self) {
self.$inputs[4] = Ox.ColorPicker({
id: 'picker'
})
.bindEvent('change', function(event, data) {
.bindEvent('change', function(data) {
//Ox.print('change function called');
self.options.value = data.value;
self.values = data.value.split(', ');

View file

@ -42,7 +42,7 @@ Ox.ColorPicker = function(options, self) {
position: 'absolute',
top: (i * 15) + 'px'
})
.bindEvent('change', function(event, data) {
.bindEvent('change', function(data) {
change(i, data.value);
})
.appendTo(that);

View file

@ -90,7 +90,7 @@ Ox.DateInput = function(options, self) {
})
.bindEvent('autocomplete', changeMonthOrYear),
year: Ox.Input({
autocomplete: $.map($.merge(Ox.range(1900, 3000), Ox.range(1000, 1900)), function(v, i) {
autocomplete: Ox.merge(Ox.range(1900, 3000), Ox.range(1000, 1900)).map(function(v) {
return v.toString();
}),
autocompleteReplace: true,

View file

@ -289,7 +289,7 @@ Ox.Filter = function(options, self) {
}
}
function changeOperator(event, data) {
function changeOperator(data) {
self.options.query.operator = data.selected[0].id;
that.$element.find('.OxGroupLabel').html(self.options.query.operator == '&' ? 'and' : 'or');
}

View file

@ -41,7 +41,7 @@ Ox.Form = function(options, self) {
that.append(self.$items[i] = Ox.FormItem({element: item}));
item.bindEvent({
/*
blur: function(event, data) {
blur: function(data) {
validate(i, data.valid);
if (data.valid) {
self.$messages[i].html('').hide();
@ -50,15 +50,15 @@ Ox.Form = function(options, self) {
}
},
*/
autovalidate: function(event, data) {
autovalidate: function(data) {
data.valid = !!data.value.length;
validate(i, data.valid);
data.valid && self.$items[i].setMessage('');
},
submit: function(event, data) {
submit: function(data) {
self.formIsValid && that.submit();
},
validate: function(event, data) {
validate: function(data) {
validate(i, data.valid);
self.$items[i].setMessage(data.valid ? '' : data.message);
}

View file

@ -36,7 +36,7 @@ Ox.FormElementGroup = function(options, self) {
float: self.options.float // fixme: make this a class
})
.bindEvent({
validate: function(event, data) {
validate: function(data) {
that.triggerEvent({
validate: data
});

View file

@ -616,7 +616,7 @@ Ox.Input = function(options, self) {
self.$input.val(self.options.value);//.focus();
}
function clickMenu(event, data) {
function clickMenu(data) {
//Ox.print('clickMenu', data);
self.options.value = data.title;
self.$input.val(self.options.value).focus();
@ -724,7 +724,7 @@ Ox.Input = function(options, self) {
data.text && self.$input.val(data.text);
}
function selectMenu(event, data) {
function selectMenu(data) {
var pos = cursor();
//if (self.options.value) {
//Ox.print('selectMenu', pos, data.title)
@ -1242,7 +1242,7 @@ Ox.Input_ = function(options, self) {
//width(self.options.width);
function changeKey(event, data) {
function changeKey(data) {
//Ox.print('changeKey', data);
if (data) { // fixme: necessary?
self.key = {
@ -1591,7 +1591,7 @@ Ox.InputElement_ = function(options, self) {
that.$element.val('').focus();
}
function clickMenu(event, data) {
function clickMenu(data) {
//Ox.print('clickMenu', data);
that.$element.val(data.title);
//self.$autosuggestMenu.hideMenu();

View file

@ -73,7 +73,7 @@ Ox.InputGroup = function(options, self) {
.appendTo(that);
});
function change(event, data) {
function change(data) {
//Ox.print('InputGroup change')
that.triggerEvent('change', {
value: self.options.inputs.map(function($input) {
@ -110,7 +110,7 @@ Ox.InputGroup = function(options, self) {
});
}
function validate(event, data) {
function validate(data) {
//Ox.print('INPUTGROUP TRIGGER VALIDATE')
that.triggerEvent('validate', data);
}

View file

@ -97,7 +97,7 @@ Ox.PlacePicker = function(options, self) {
self.map = false;
function changeZoom(event, data) {
function changeZoom(data) {
//Ox.print('changeZoom')
self.$map.zoom(data.value);
}
@ -114,18 +114,18 @@ Ox.PlacePicker = function(options, self) {
}
}
function findPlace(event, data) {
function findPlace(data) {
//Ox.print('findPlace', data);
self.$map.find(data.value, function(place) {
place && that.$label.html(place.geoname);
});
}
function onSelect(event, data) {
function onSelect(data) {
that.$label.html(data.geoname);
}
function onZoom(event, data) {
function onZoom(data) {
self.$range.options({
value: data.value
});

View file

@ -135,11 +135,11 @@ Ox.Select = function(options, self) {
self.options.type == 'image' && self.$menu.addClass('OxRight');
function clickMenu(event, data) {
function clickMenu(data) {
that.triggerEvent('click', data);
}
function changeMenu(event, data) {
function changeMenu(data) {
//Ox.print('clickMenu: ', self.options.id, data)
self.checked = self.optionGroup.checked();
self.$title && self.$title.html(

View file

@ -1486,7 +1486,7 @@ Ox.List = function(options, self) {
function remove() {
that.triggerEvent('remove', item.id);
}
function submit(event, data) {
function submit(data) {
item.value = data.value;
//$input.loseFocus().remove();
// fixme: leaky, inputs remain in focus stack

View file

@ -259,7 +259,7 @@ Ox.TextList = function(options, self) {
that.$body.reloadPages();
}
function changeColumns(event, data) {
function changeColumns(data) {
var add,
ids = [];
Ox.forEach(data.selected, function(column) {
@ -522,6 +522,7 @@ Ox.TextList = function(options, self) {
function dragendResize(id, e) {
var pos = getColumnPositionById(id);
// fixme: shouldn't this be resizecolumn?
that.triggerEvent('columnresize', {
id: id,
width: self.columnWidths[pos]

View file

@ -196,7 +196,7 @@ Ox.TreeList = function(options, self) {
that.$element.removeItems(pos + 1, parseItems(item.items, item.level + 1).length);
}
function toggleItems(event, data) {
function toggleItems(data) {
data.ids.forEach(function(id, i) {
var item = getItemById(id);
if (item.items && data.expanded != !!item.expanded) {

View file

@ -299,7 +299,7 @@ Ox.ListMap = function(options, self) {
})
.bindEvent({
/*
addplace: function(event, data) {
addplace: function(data) {
that.triggerEvent('addplace', data);
},
*/
@ -317,9 +317,11 @@ Ox.ListMap = function(options, self) {
geocode: function(data) {
that.triggerEvent('geocode', data);
},
/*
resize: function() {
self.$map.resizeMap(); // fixme: don't need event
},
*/
selectplace: selectPlace
});
@ -616,11 +618,11 @@ Ox.ListMap = function(options, self) {
orientation: 'vertical'
})
.bindEvent({
resize: function(foo, size) {
self.$placeTitleName.options({width: size - 48});
resize: function(data) {
self.$placeTitleName.options({width: data.size - 48});
// fixme: pass width through form
self.$placeFormItems.forEach(function($item) {
$item.options({width: size - 16});
$item.options({width: data.size - 16});
});
}
}),
@ -705,18 +707,18 @@ Ox.ListMap = function(options, self) {
);
}
function openItem(event, data) {
selectItem(event, data);
function openItem(data) {
selectItem(data);
self.$map.zoomToPlace(data.ids[0]);
}
function removeItem(event, data) {
function removeItem(data) {
var id = data.ids[0];
that.triggerEvent('removeplace', {id: id});
self.$map.removePlace(id);
}
function selectItem(event, data) {
function selectItem(data) {
Ox.print('selectItem', data.ids[0])
var id = data.ids.length ? data.ids[0] : null;
self.$map.options({selected: id});

View file

@ -455,7 +455,7 @@ Ox.Map = function(options, self) {
self.centerChanged = true;
}
function changeZoom(event, data) {
function changeZoom(data) {
self.map.setZoom(data.value);
}
@ -1094,7 +1094,7 @@ Ox.Map = function(options, self) {
//Ox.print('STATUS DONE');
}
function submitFind(event, data) {
function submitFind(data) {
that.findPlace(data.value, function(place) {
setStatus(place);
});

View file

@ -39,7 +39,7 @@ Ox.AnnotationPanel = function(options, self) {
tooltip: 'Add',
type: 'image'
}).bindEvent({
click: function(event, data) {
click: function(data) {
that.triggerEvent('add', {value: ''});
}
})
@ -72,13 +72,13 @@ Ox.AnnotationPanel = function(options, self) {
//reset in/out points
selectAnnotation({}, {ids: [item.id]});
},
open: function(event, data) {
open: function(data) {
if (data.ids.length == 1) {
var pos = Ox.getPositionById(self.$annotations.options('items'), data.ids[0]);
self.$annotations.editItem(pos);
}
},
remove: function(event, data) {
remove: function(data) {
that.triggerEvent('remove', data);
},
select: selectAnnotation,
@ -100,7 +100,7 @@ Ox.AnnotationPanel = function(options, self) {
.appendTo(self.$annotations);
});
*/
function selectAnnotation(event, data) {
function selectAnnotation(data) {
var item = Ox.getObjectById(self.options.items, data.ids[0]);
item && that.triggerEvent('select', {
'in': item['in'],
@ -108,7 +108,7 @@ Ox.AnnotationPanel = function(options, self) {
'layer': self.options.id
});
}
function updateAnnotation(event, data) {
function updateAnnotation(data) {
var item = Ox.getObjectById(self.options.items, data.id);
item.value = data.value;
that.triggerEvent('submit', item);

View file

@ -267,26 +267,26 @@ Ox.VideoEditor = function(options, self) {
}, layer)
)
.bindEvent({
add: function(event, data) {
add: function(data) {
data.layer = layer.id;
data['in'] = self.options['in'];
data.out = self.options.out;
that.triggerEvent('addannotation', data);
},
remove: function(event, data) {
remove: function(data) {
data = {
ids: [data],
layer: layer.id
};
that.triggerEvent('removeannotations', data);
},
select: function(event, data) {
select: function(data) {
self.options.layers.forEach(function(l, j) { // fixme: l? j?
if(l.id != layer.id) {
self.$annotationPanel[j].deselectItems();
}
});
selectAnnotation(event, data);
selectAnnotation(data);
},
submit: updateAnnotation
});
@ -852,13 +852,13 @@ Ox.VideoEditor = function(options, self) {
self.$player[0].playInToOut();
}
function resizeAnnotations(event, data) {
self.options.annotationsSize = data;
function resizeAnnotations(data) {
self.options.annotationsSize = data.size;
setSizes();
}
function resizeEditor(event, data) {
var width = data - 2 * margin + 100;
function resizeEditor(data) {
var width = data.size - 2 * margin + 100;
resizeVideoPlayers(width);
$timelineLarge.options({
width: width
@ -881,12 +881,12 @@ Ox.VideoEditor = function(options, self) {
});
}
function selectAnnotation(event, data) {
function selectAnnotation(data) {
setPosition(data['in']);
setPoint('in', data['in']);
setPoint('out', data.out);
}
function updateAnnotation(event, data) {
function updateAnnotation(data) {
data['in'] = self.options['in'];
data.out = self.options.out;
that.triggerEvent('updateannotation', data);
@ -983,7 +983,7 @@ Ox.VideoEditor = function(options, self) {
}
}
function toggleAnnotations(event, data) {
function toggleAnnotations(data) {
self.options.showAnnotations = !data.collapsed;
setSizes();
that.triggerEvent('toggleannotations', {

View file

@ -251,11 +251,11 @@ Ox.VideoEditorPlayer = function(options, self) {
});
}
function paused(event, data) {
function paused() {
self.$playButton.toggleTitle();
}
function playing(event, data) {
function playing(data) {
self.options.position = data.position;
setMarkers();
setSubtitle();
@ -365,7 +365,7 @@ Ox.VideoEditorPlayer = function(options, self) {
self.video.paused ? that.play() : that.pause();
}
function toggleSize(event, data) {
function toggleSize(data) {
self.options.size = data.id
that.triggerEvent('togglesize', {
size: self.options.size

View file

@ -182,9 +182,9 @@ Ox.VideoPanelPlayer = function(options, self) {
self.options.annotationsSize - 16 - 1;
}
function resizeAnnotations(event, data) {
function resizeAnnotations(data) {
// called on annotations resize
self.options.annotationsSize = data;
self.options.annotationsSize = data.size;
self.$video.options({
width: getPlayerWidth()
});
@ -193,22 +193,22 @@ Ox.VideoPanelPlayer = function(options, self) {
});
}
function resizeendAnnotations(event, data) {
self.options.annotationsSize = data;
function resizeendAnnotations(data) {
self.options.annotationsSize = data.size;
that.triggerEvent('resizeannotations', {
annotationsSize: self.options.annotationsSize
});
}
function resizeElement(event, data) {
function resizeElement(data) {
// called on browser toggle
self.options.height = data;
self.options.height = data.size;
self.$video.options({
height: getPlayerHeight()
});
}
function resizePanel(event, data) {
function resizePanel(data) {
// called on annotations toggle
self.$video.options({
width: getPlayerWidth()
@ -218,7 +218,7 @@ Ox.VideoPanelPlayer = function(options, self) {
});
}
function setPosition(event, data) {
function setPosition(data) {
self.options.position = data.position;
//self.$video.position(self.options.position);
self.$timeline.options({
@ -226,7 +226,7 @@ Ox.VideoPanelPlayer = function(options, self) {
});
}
function toggleAnnotations(event, data) {
function toggleAnnotations(data) {
self.options.showAnnotations = !data.collapsed;
self.$video.options({
height: getPlayerHeight()
@ -236,7 +236,7 @@ Ox.VideoPanelPlayer = function(options, self) {
});
}
function toggleControls(event, data) {
function toggleControls(data) {
self.options.showControls = !data.collapsed;
self.$video.options({
height: getPlayerHeight()

File diff suppressed because it is too large Load diff

View file

@ -39,8 +39,8 @@
{"Area": 22966.0, "Capital": "Belmopan", "Continent": "NA", "Country": "Belize", "CurrencyCode": "BZD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "BZ", "ISO-Numeric": "084", "ISO3": "BLZ", "Languages": ["en-BZ", "es"], "Phone": "501", "Population": 314522, "Postal Code Format": "", "Postal Code Regex": "", "fips": "BH", "geonameid": 3582678, "neighbours": ["GT", "MX"], "tld": ".bz"},
{"Area": 9984670.0, "Capital": "Ottawa", "Continent": "NA", "Country": "Canada", "CurrencyCode": "CAD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "CA", "ISO-Numeric": "124", "ISO3": "CAN", "Languages": ["en-CA", "fr-CA", "iu"], "Phone": "1", "Population": 33679000, "Postal Code Format": "@#@ #@#", "Postal Code Regex": "^([a-zA-Z]\\d[a-zA-Z]\\d[a-zA-Z]\\d)$", "fips": "CA", "geonameid": 6251999, "neighbours": ["US"], "tld": ".ca"},
{"Area": 14.0, "Capital": "West Island", "Continent": "AS", "Country": "Cocos Islands", "CurrencyCode": "AUD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "CC", "ISO-Numeric": "166", "ISO3": "CCK", "Languages": ["ms-CC", "en"], "Phone": "61", "Population": 628, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CK", "geonameid": 1547376, "neighbours": [], "tld": ".cc"},
{"Area": 2345410.0, "Capital": "Kinshasa", "Continent": "AF", "Country": "Democratic Republic of the Congo", "CurrencyCode": "CDF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CD", "ISO-Numeric": "180", "ISO3": "COD", "Languages": ["fr-CD", "ln", "kg"], "Phone": "243", "Population": 70916439, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CG", "geonameid": 203312, "neighbours": ["TZ", "CF", "SD", "RW", "ZM", "BI", "UG", "CG", "AO"], "tld": ".cd"},
{"Area": 622984.0, "Capital": "Bangui", "Continent": "AF", "Country": "Central African Republic", "CurrencyCode": "XAF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CF", "ISO-Numeric": "140", "ISO3": "CAF", "Languages": ["fr-CF", "sg", "ln", "kg"], "Phone": "236", "Population": 4844927, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CT", "geonameid": 239880, "neighbours": ["TD", "SD", "CD", "CM", "CG"], "tld": ".cf"},
{"Area": 2345410.0, "Capital": "Kinshasa", "Continent": "AF", "Country": "Democratic Republic of the Congo", "CurrencyCode": "CDF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CD", "ISO-Numeric": "180", "ISO3": "COD", "Languages": ["fr-CD", "ln", "kg"], "Phone": "243", "Population": 70916439, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CG", "geonameid": 203312, "neighbours": ["TZ", "CF", "SS", "RW", "ZM", "BI", "UG", "CG", "AO"], "tld": ".cd"},
{"Area": 622984.0, "Capital": "Bangui", "Continent": "AF", "Country": "Central African Republic", "CurrencyCode": "XAF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CF", "ISO-Numeric": "140", "ISO3": "CAF", "Languages": ["fr-CF", "sg", "ln", "kg"], "Phone": "236", "Population": 4844927, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CT", "geonameid": 239880, "neighbours": ["TD", "SD", "CD", "SS", "CM", "CG"], "tld": ".cf"},
{"Area": 342000.0, "Capital": "Brazzaville", "Continent": "AF", "Country": "Republic of the Congo", "CurrencyCode": "XAF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CG", "ISO-Numeric": "178", "ISO3": "COG", "Languages": ["fr-CG", "kg", "ln-CG"], "Phone": "242", "Population": 3039126, "Postal Code Format": "", "Postal Code Regex": "", "fips": "CF", "geonameid": 2260494, "neighbours": ["CF", "GA", "CD", "CM", "AO"], "tld": ".cg"},
{"Area": 41290.0, "Capital": "Berne", "Continent": "EU", "Country": "Switzerland", "CurrencyCode": "CHF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CH", "ISO-Numeric": "756", "ISO3": "CHE", "Languages": ["de-CH", "fr-CH", "it-CH", "rm"], "Phone": "41", "Population": 7581000, "Postal Code Format": "####", "Postal Code Regex": "^(\\d{4})$", "fips": "SZ", "geonameid": 2658434, "neighbours": ["DE", "IT", "LI", "FR", "AT"], "tld": ".ch"},
{"Area": 322460.0, "Capital": "Yamoussoukro", "Continent": "AF", "Country": "Ivory Coast", "CurrencyCode": "XOF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "CI", "ISO-Numeric": "384", "ISO3": "CIV", "Languages": ["fr-CI"], "Phone": "225", "Population": 21058798, "Postal Code Format": "", "Postal Code Regex": "", "fips": "IV", "geonameid": 2287781, "neighbours": ["LR", "GH", "GN", "BF", "ML"], "tld": ".ci"},
@ -69,7 +69,7 @@
{"Area": 266000.0, "Capital": "El-Aaiun", "Continent": "AF", "Country": "Western Sahara", "CurrencyCode": "MAD", "CurrencyName": "Dirham", "EquivalentFipsCode": "", "ISO": "EH", "ISO-Numeric": "732", "ISO3": "ESH", "Languages": ["ar", "mey"], "Phone": "212", "Population": 273008, "Postal Code Format": "", "Postal Code Regex": "", "fips": "WI", "geonameid": 2461445, "neighbours": ["DZ", "MR", "MA"], "tld": ".eh"},
{"Area": 121320.0, "Capital": "Asmara", "Continent": "AF", "Country": "Eritrea", "CurrencyCode": "ERN", "CurrencyName": "Nakfa", "EquivalentFipsCode": "", "ISO": "ER", "ISO-Numeric": "232", "ISO3": "ERI", "Languages": ["aa-ER", "ar", "tig", "kun", "ti-ER"], "Phone": "291", "Population": 5792984, "Postal Code Format": "", "Postal Code Regex": "", "fips": "ER", "geonameid": 338010, "neighbours": ["ET", "SD", "DJ"], "tld": ".er"},
{"Area": 504782.0, "Capital": "Madrid", "Continent": "EU", "Country": "Spain", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "ES", "ISO-Numeric": "724", "ISO3": "ESP", "Languages": ["es-ES", "ca", "gl", "eu", "oc"], "Phone": "34", "Population": 46505963, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "SP", "geonameid": 2510769, "neighbours": ["AD", "PT", "GI", "FR", "MA"], "tld": ".es"},
{"Area": 1127127.0, "Capital": "Addis Ababa", "Continent": "AF", "Country": "Ethiopia", "CurrencyCode": "ETB", "CurrencyName": "Birr", "EquivalentFipsCode": "", "ISO": "ET", "ISO-Numeric": "231", "ISO3": "ETH", "Languages": ["am", "en-ET", "om-ET", "ti-ET", "so-ET", "sid"], "Phone": "251", "Population": 88013491, "Postal Code Format": "####", "Postal Code Regex": "^(\\d{4})$", "fips": "ET", "geonameid": 337996, "neighbours": ["ER", "KE", "SD", "SO", "DJ"], "tld": ".et"},
{"Area": 1127127.0, "Capital": "Addis Ababa", "Continent": "AF", "Country": "Ethiopia", "CurrencyCode": "ETB", "CurrencyName": "Birr", "EquivalentFipsCode": "", "ISO": "ET", "ISO-Numeric": "231", "ISO3": "ETH", "Languages": ["am", "en-ET", "om-ET", "ti-ET", "so-ET", "sid"], "Phone": "251", "Population": 88013491, "Postal Code Format": "####", "Postal Code Regex": "^(\\d{4})$", "fips": "ET", "geonameid": 337996, "neighbours": ["ER", "KE", "SD", "SS", "SO", "DJ"], "tld": ".et"},
{"Area": 337030.0, "Capital": "Helsinki", "Continent": "EU", "Country": "Finland", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "FI", "ISO-Numeric": "246", "ISO3": "FIN", "Languages": ["fi-FI", "sv-FI", "smn"], "Phone": "358", "Population": 5244000, "Postal Code Format": "#####", "Postal Code Regex": "^(?:FI)*(\\d{5})$", "fips": "FI", "geonameid": 660013, "neighbours": ["NO", "RU", "SE"], "tld": ".fi"},
{"Area": 18270.0, "Capital": "Suva", "Continent": "OC", "Country": "Fiji", "CurrencyCode": "FJD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "FJ", "ISO-Numeric": "242", "ISO3": "FJI", "Languages": ["en-FJ", "fj"], "Phone": "679", "Population": 875983, "Postal Code Format": "", "Postal Code Regex": "", "fips": "FJ", "geonameid": 2205218, "neighbours": [], "tld": ".fj"},
{"Area": 12173.0, "Capital": "Stanley", "Continent": "SA", "Country": "Falkland Islands", "CurrencyCode": "FKP", "CurrencyName": "Pound", "EquivalentFipsCode": "", "ISO": "FK", "ISO-Numeric": "238", "ISO3": "FLK", "Languages": ["en-FK"], "Phone": "500", "Population": 2638, "Postal Code Format": "", "Postal Code Regex": "", "fips": "FK", "geonameid": 3474414, "neighbours": [], "tld": ".fk"},
@ -115,7 +115,7 @@
{"Area": 10991.0, "Capital": "Kingston", "Continent": "NA", "Country": "Jamaica", "CurrencyCode": "JMD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "JM", "ISO-Numeric": "388", "ISO3": "JAM", "Languages": ["en-JM"], "Phone": "+1-876", "Population": 2847232, "Postal Code Format": "", "Postal Code Regex": "", "fips": "JM", "geonameid": 3489940, "neighbours": [], "tld": ".jm"},
{"Area": 92300.0, "Capital": "Amman", "Continent": "AS", "Country": "Jordan", "CurrencyCode": "JOD", "CurrencyName": "Dinar", "EquivalentFipsCode": "", "ISO": "JO", "ISO-Numeric": "400", "ISO3": "JOR", "Languages": ["ar-JO", "en"], "Phone": "962", "Population": 6407085, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "JO", "geonameid": 248816, "neighbours": ["SY", "SA", "IQ", "IL", "PS"], "tld": ".jo"},
{"Area": 377835.0, "Capital": "Tokyo", "Continent": "AS", "Country": "Japan", "CurrencyCode": "JPY", "CurrencyName": "Yen", "EquivalentFipsCode": "", "ISO": "JP", "ISO-Numeric": "392", "ISO3": "JPN", "Languages": ["ja"], "Phone": "81", "Population": 127288000, "Postal Code Format": "###-####", "Postal Code Regex": "^(\\d{7})$", "fips": "JA", "geonameid": 1861060, "neighbours": [], "tld": ".jp"},
{"Area": 582650.0, "Capital": "Nairobi", "Continent": "AF", "Country": "Kenya", "CurrencyCode": "KES", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "KE", "ISO-Numeric": "404", "ISO3": "KEN", "Languages": ["en-KE", "sw-KE"], "Phone": "254", "Population": 40046566, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "KE", "geonameid": 192950, "neighbours": ["ET", "TZ", "SD", "SO", "UG"], "tld": ".ke"},
{"Area": 582650.0, "Capital": "Nairobi", "Continent": "AF", "Country": "Kenya", "CurrencyCode": "KES", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "KE", "ISO-Numeric": "404", "ISO3": "KEN", "Languages": ["en-KE", "sw-KE"], "Phone": "254", "Population": 40046566, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "KE", "geonameid": 192950, "neighbours": ["ET", "TZ", "SS", "SO", "UG"], "tld": ".ke"},
{"Area": 198500.0, "Capital": "Bishkek", "Continent": "AS", "Country": "Kyrgyzstan", "CurrencyCode": "KGS", "CurrencyName": "Som", "EquivalentFipsCode": "", "ISO": "KG", "ISO-Numeric": "417", "ISO3": "KGZ", "Languages": ["ky", "uz", "ru"], "Phone": "996", "Population": 5508626, "Postal Code Format": "######", "Postal Code Regex": "^(\\d{6})$", "fips": "KG", "geonameid": 1527747, "neighbours": ["CN", "TJ", "UZ", "KZ"], "tld": ".kg"},
{"Area": 181040.0, "Capital": "Phnom Penh", "Continent": "AS", "Country": "Cambodia", "CurrencyCode": "KHR", "CurrencyName": "Riels", "EquivalentFipsCode": "", "ISO": "KH", "ISO-Numeric": "116", "ISO3": "KHM", "Languages": ["km", "fr", "en"], "Phone": "855", "Population": 14453680, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "CB", "geonameid": 1831722, "neighbours": ["LA", "TH", "VN"], "tld": ".kh"},
{"Area": 811.0, "Capital": "Tarawa", "Continent": "OC", "Country": "Kiribati", "CurrencyCode": "AUD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "KI", "ISO-Numeric": "296", "ISO3": "KIR", "Languages": ["en-KI", "gil"], "Phone": "686", "Population": 92533, "Postal Code Format": "", "Postal Code Regex": "", "fips": "KR", "geonameid": 4030945, "neighbours": [], "tld": ".ki"},
@ -143,7 +143,7 @@
{"Area": 14026.0, "Capital": "Podgorica", "Continent": "EU", "Country": "Montenegro", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "ME", "ISO-Numeric": "499", "ISO3": "MNE", "Languages": ["sr", "hu", "bs", "sq", "hr", "rom"], "Phone": "382", "Population": 666730, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "MJ", "geonameid": 3194884, "neighbours": ["AL", "HR", "BA", "RS", "XK"], "tld": ".me"},
{"Area": 53.0, "Capital": "Marigot", "Continent": "NA", "Country": "Saint Martin", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "MF", "ISO-Numeric": "663", "ISO3": "MAF", "Languages": ["fr"], "Phone": "590", "Population": 35925, "Postal Code Format": "### ###", "Postal Code Regex": "", "fips": "RN", "geonameid": 3578421, "neighbours": ["SX"], "tld": ".gp"},
{"Area": 587040.0, "Capital": "Antananarivo", "Continent": "AF", "Country": "Madagascar", "CurrencyCode": "MGA", "CurrencyName": "Ariary", "EquivalentFipsCode": "", "ISO": "MG", "ISO-Numeric": "450", "ISO3": "MDG", "Languages": ["fr-MG", "mg"], "Phone": "261", "Population": 21281844, "Postal Code Format": "###", "Postal Code Regex": "^(\\d{3})$", "fips": "MA", "geonameid": 1062947, "neighbours": [], "tld": ".mg"},
{"Area": 181.30000000000001, "Capital": "Majuro", "Continent": "OC", "Country": "Marshall Islands", "CurrencyCode": "USD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "MH", "ISO-Numeric": "584", "ISO3": "MHL", "Languages": ["mh", "en-MH"], "Phone": "692", "Population": 65859, "Postal Code Format": "", "Postal Code Regex": "", "fips": "RM", "geonameid": 2080185, "neighbours": [], "tld": ".mh"},
{"Area": 181.3, "Capital": "Majuro", "Continent": "OC", "Country": "Marshall Islands", "CurrencyCode": "USD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "MH", "ISO-Numeric": "584", "ISO3": "MHL", "Languages": ["mh", "en-MH"], "Phone": "692", "Population": 65859, "Postal Code Format": "", "Postal Code Regex": "", "fips": "RM", "geonameid": 2080185, "neighbours": [], "tld": ".mh"},
{"Area": 25333.0, "Capital": "Skopje", "Continent": "EU", "Country": "Macedonia", "CurrencyCode": "MKD", "CurrencyName": "Denar", "EquivalentFipsCode": "", "ISO": "MK", "ISO-Numeric": "807", "ISO3": "MKD", "Languages": ["mk", "sq", "tr", "rmm", "sr"], "Phone": "389", "Population": 2061000, "Postal Code Format": "####", "Postal Code Regex": "^(\\d{4})$", "fips": "MK", "geonameid": 718075, "neighbours": ["AL", "GR", "CS", "BG", "RS", "XK"], "tld": ".mk"},
{"Area": 1240000.0, "Capital": "Bamako", "Continent": "AF", "Country": "Mali", "CurrencyCode": "XOF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "ML", "ISO-Numeric": "466", "ISO3": "MLI", "Languages": ["fr-ML", "bm"], "Phone": "223", "Population": 13796354, "Postal Code Format": "", "Postal Code Regex": "", "fips": "ML", "geonameid": 2453866, "neighbours": ["SN", "NE", "DZ", "CI", "GN", "MR", "BF"], "tld": ".ml"},
{"Area": 678500.0, "Capital": "Nay Pyi Taw", "Continent": "AS", "Country": "Myanmar", "CurrencyCode": "MMK", "CurrencyName": "Kyat", "EquivalentFipsCode": "", "ISO": "MM", "ISO-Numeric": "104", "ISO3": "MMR", "Languages": ["my"], "Phone": "95", "Population": 53414374, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "BM", "geonameid": 1327865, "neighbours": ["CN", "LA", "TH", "BD", "IN"], "tld": ".mm"},
@ -163,7 +163,7 @@
{"Area": 825418.0, "Capital": "Windhoek", "Continent": "AF", "Country": "Namibia", "CurrencyCode": "NAD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "NA", "ISO-Numeric": "516", "ISO3": "NAM", "Languages": ["en-NA", "af", "de", "hz", "naq"], "Phone": "264", "Population": 2128471, "Postal Code Format": "", "Postal Code Regex": "", "fips": "WA", "geonameid": 3355338, "neighbours": ["ZA", "BW", "ZM", "AO"], "tld": ".na"},
{"Area": 19060.0, "Capital": "Noum\u00e9a", "Continent": "OC", "Country": "New Caledonia", "CurrencyCode": "XPF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "NC", "ISO-Numeric": "540", "ISO3": "NCL", "Languages": ["fr-NC"], "Phone": "687", "Population": 216494, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "NC", "geonameid": 2139685, "neighbours": [], "tld": ".nc"},
{"Area": 1267000.0, "Capital": "Niamey", "Continent": "AF", "Country": "Niger", "CurrencyCode": "XOF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "NE", "ISO-Numeric": "562", "ISO3": "NER", "Languages": ["fr-NE", "ha", "kr", "dje"], "Phone": "227", "Population": 15878271, "Postal Code Format": "####", "Postal Code Regex": "^(\\d{4})$", "fips": "NG", "geonameid": 2440476, "neighbours": ["TD", "BJ", "DZ", "LY", "BF", "NG", "ML"], "tld": ".ne"},
{"Area": 34.600000000000001, "Capital": "Kingston", "Continent": "OC", "Country": "Norfolk Island", "CurrencyCode": "AUD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "NF", "ISO-Numeric": "574", "ISO3": "NFK", "Languages": ["en-NF"], "Phone": "672", "Population": 1828, "Postal Code Format": "", "Postal Code Regex": "", "fips": "NF", "geonameid": 2155115, "neighbours": [], "tld": ".nf"},
{"Area": 34.6, "Capital": "Kingston", "Continent": "OC", "Country": "Norfolk Island", "CurrencyCode": "AUD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "NF", "ISO-Numeric": "574", "ISO3": "NFK", "Languages": ["en-NF"], "Phone": "672", "Population": 1828, "Postal Code Format": "", "Postal Code Regex": "", "fips": "NF", "geonameid": 2155115, "neighbours": [], "tld": ".nf"},
{"Area": 923768.0, "Capital": "Abuja", "Continent": "AF", "Country": "Nigeria", "CurrencyCode": "NGN", "CurrencyName": "Naira", "EquivalentFipsCode": "", "ISO": "NG", "ISO-Numeric": "566", "ISO3": "NGA", "Languages": ["en-NG", "ha", "yo", "ig", "ff"], "Phone": "234", "Population": 154000000, "Postal Code Format": "######", "Postal Code Regex": "^(\\d{6})$", "fips": "NI", "geonameid": 2328926, "neighbours": ["TD", "NE", "BJ", "CM"], "tld": ".ng"},
{"Area": 129494.0, "Capital": "Managua", "Continent": "NA", "Country": "Nicaragua", "CurrencyCode": "NIO", "CurrencyName": "Cordoba", "EquivalentFipsCode": "", "ISO": "NI", "ISO-Numeric": "558", "ISO3": "NIC", "Languages": ["es-NI", "en"], "Phone": "505", "Population": 5995928, "Postal Code Format": "###-###-#", "Postal Code Regex": "^(\\d{7})$", "fips": "NU", "geonameid": 3617476, "neighbours": ["CR", "HN"], "tld": ".ni"},
{"Area": 41526.0, "Capital": "Amsterdam", "Continent": "EU", "Country": "Netherlands", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "NL", "ISO-Numeric": "528", "ISO3": "NLD", "Languages": ["nl-NL", "fy-NL"], "Phone": "31", "Population": 16645000, "Postal Code Format": "#### @@", "Postal Code Regex": "^(\\d{4}[A-Z]{2})$", "fips": "NL", "geonameid": 2750405, "neighbours": ["DE", "BE"], "tld": ".nl"},
@ -196,18 +196,19 @@
{"Area": 1960582.0, "Capital": "Riyadh", "Continent": "AS", "Country": "Saudi Arabia", "CurrencyCode": "SAR", "CurrencyName": "Rial", "EquivalentFipsCode": "", "ISO": "SA", "ISO-Numeric": "682", "ISO3": "SAU", "Languages": ["ar-SA"], "Phone": "966", "Population": 25731776, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "SA", "geonameid": 102358, "neighbours": ["QA", "OM", "IQ", "YE", "JO", "AE", "KW"], "tld": ".sa"},
{"Area": 28450.0, "Capital": "Honiara", "Continent": "OC", "Country": "Solomon Islands", "CurrencyCode": "SBD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "SB", "ISO-Numeric": "090", "ISO3": "SLB", "Languages": ["en-SB", "tpi"], "Phone": "677", "Population": 559198, "Postal Code Format": "", "Postal Code Regex": "", "fips": "BP", "geonameid": 2103350, "neighbours": [], "tld": ".sb"},
{"Area": 455.0, "Capital": "Victoria", "Continent": "AF", "Country": "Seychelles", "CurrencyCode": "SCR", "CurrencyName": "Rupee", "EquivalentFipsCode": "", "ISO": "SC", "ISO-Numeric": "690", "ISO3": "SYC", "Languages": ["en-SC", "fr-SC"], "Phone": "248", "Population": 88340, "Postal Code Format": "", "Postal Code Regex": "", "fips": "SE", "geonameid": 241170, "neighbours": [], "tld": ".sc"},
{"Area": 2505810.0, "Capital": "Khartoum", "Continent": "AF", "Country": "Sudan", "CurrencyCode": "SDG", "CurrencyName": "Dinar", "EquivalentFipsCode": "", "ISO": "SD", "ISO-Numeric": "736", "ISO3": "SDN", "Languages": ["ar-SD", "en", "fia"], "Phone": "249", "Population": 43939598, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "SU", "geonameid": 366755, "neighbours": ["TD", "ER", "ET", "LY", "KE", "CF", "CD", "UG", "EG"], "tld": ".sd"},
{"Area": 1861484.0, "Capital": "Khartoum", "Continent": "AF", "Country": "Sudan", "CurrencyCode": "SDG", "CurrencyName": "Pound", "EquivalentFipsCode": "", "ISO": "SD", "ISO-Numeric": "729", "ISO3": "SDN", "Languages": ["ar-SD", "en", "fia"], "Phone": "249", "Population": 35000000, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "SU", "geonameid": 366755, "neighbours": ["SS", "TD", "EG", "ET", "ER", "LY", "CF"], "tld": ".sd"},
{"Area": 449964.0, "Capital": "Stockholm", "Continent": "EU", "Country": "Sweden", "CurrencyCode": "SEK", "CurrencyName": "Krona", "EquivalentFipsCode": "", "ISO": "SE", "ISO-Numeric": "752", "ISO3": "SWE", "Languages": ["sv-SE", "se", "sma", "fi-SE"], "Phone": "46", "Population": 9045000, "Postal Code Format": "SE-### ##", "Postal Code Regex": "^(?:SE)*(\\d{5})$", "fips": "SW", "geonameid": 2661886, "neighbours": ["NO", "FI"], "tld": ".se"},
{"Area": 692.70000000000005, "Capital": "Singapur", "Continent": "AS", "Country": "Singapore", "CurrencyCode": "SGD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "SG", "ISO-Numeric": "702", "ISO3": "SGP", "Languages": ["cmn", "en-SG", "ms-SG", "ta-SG", "zh-SG"], "Phone": "65", "Population": 4701069, "Postal Code Format": "######", "Postal Code Regex": "^(\\d{6})$", "fips": "SN", "geonameid": 1880251, "neighbours": [], "tld": ".sg"},
{"Area": 692.7, "Capital": "Singapur", "Continent": "AS", "Country": "Singapore", "CurrencyCode": "SGD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "SG", "ISO-Numeric": "702", "ISO3": "SGP", "Languages": ["cmn", "en-SG", "ms-SG", "ta-SG", "zh-SG"], "Phone": "65", "Population": 4701069, "Postal Code Format": "######", "Postal Code Regex": "^(\\d{6})$", "fips": "SN", "geonameid": 1880251, "neighbours": [], "tld": ".sg"},
{"Area": 410.0, "Capital": "Jamestown", "Continent": "AF", "Country": "Saint Helena", "CurrencyCode": "SHP", "CurrencyName": "Pound", "EquivalentFipsCode": "", "ISO": "SH", "ISO-Numeric": "654", "ISO3": "SHN", "Languages": ["en-SH"], "Phone": "290", "Population": 7460, "Postal Code Format": "STHL 1ZZ", "Postal Code Regex": "^(STHL1ZZ)$", "fips": "SH", "geonameid": 3370751, "neighbours": [], "tld": ".sh"},
{"Area": 20273.0, "Capital": "Ljubljana", "Continent": "EU", "Country": "Slovenia", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "SI", "ISO-Numeric": "705", "ISO3": "SVN", "Languages": ["sl", "sh"], "Phone": "386", "Population": 2007000, "Postal Code Format": "SI- ####", "Postal Code Regex": "^(?:SI)*(\\d{4})$", "fips": "SI", "geonameid": 3190538, "neighbours": ["HU", "IT", "HR", "AT"], "tld": ".si"},
{"Area": 62049.0, "Capital": "Longyearbyen", "Continent": "EU", "Country": "Svalbard and Jan Mayen", "CurrencyCode": "NOK", "CurrencyName": "Krone", "EquivalentFipsCode": "", "ISO": "SJ", "ISO-Numeric": "744", "ISO3": "SJM", "Languages": ["no", "ru"], "Phone": "47", "Population": 2550, "Postal Code Format": "", "Postal Code Regex": "", "fips": "SV", "geonameid": 607072, "neighbours": [], "tld": ".sj"},
{"Area": 48845.0, "Capital": "Bratislava", "Continent": "EU", "Country": "Slovakia", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "SK", "ISO-Numeric": "703", "ISO3": "SVK", "Languages": ["sk", "hu"], "Phone": "421", "Population": 5455000, "Postal Code Format": "### ##", "Postal Code Regex": "^(\\d{5})$", "fips": "LO", "geonameid": 3057568, "neighbours": ["PL", "HU", "CZ", "UA", "AT"], "tld": ".sk"},
{"Area": 71740.0, "Capital": "Freetown", "Continent": "AF", "Country": "Sierra Leone", "CurrencyCode": "SLL", "CurrencyName": "Leone", "EquivalentFipsCode": "", "ISO": "SL", "ISO-Numeric": "694", "ISO3": "SLE", "Languages": ["en-SL", "men", "tem"], "Phone": "232", "Population": 5245695, "Postal Code Format": "", "Postal Code Regex": "", "fips": "SL", "geonameid": 2403846, "neighbours": ["LR", "GN"], "tld": ".sl"},
{"Area": 61.200000000000003, "Capital": "San Marino", "Continent": "EU", "Country": "San Marino", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "SM", "ISO-Numeric": "674", "ISO3": "SMR", "Languages": ["it-SM"], "Phone": "378", "Population": 31477, "Postal Code Format": "4789#", "Postal Code Regex": "^(4789\\d)$", "fips": "SM", "geonameid": 3168068, "neighbours": ["IT"], "tld": ".sm"},
{"Area": 61.2, "Capital": "San Marino", "Continent": "EU", "Country": "San Marino", "CurrencyCode": "EUR", "CurrencyName": "Euro", "EquivalentFipsCode": "", "ISO": "SM", "ISO-Numeric": "674", "ISO3": "SMR", "Languages": ["it-SM"], "Phone": "378", "Population": 31477, "Postal Code Format": "4789#", "Postal Code Regex": "^(4789\\d)$", "fips": "SM", "geonameid": 3168068, "neighbours": ["IT"], "tld": ".sm"},
{"Area": 196190.0, "Capital": "Dakar", "Continent": "AF", "Country": "Senegal", "CurrencyCode": "XOF", "CurrencyName": "Franc", "EquivalentFipsCode": "", "ISO": "SN", "ISO-Numeric": "686", "ISO3": "SEN", "Languages": ["fr-SN", "wo", "fuc", "mnk"], "Phone": "221", "Population": 12323252, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "SG", "geonameid": 2245662, "neighbours": ["GN", "MR", "GW", "GM", "ML"], "tld": ".sn"},
{"Area": 637657.0, "Capital": "Mogadishu", "Continent": "AF", "Country": "Somalia", "CurrencyCode": "SOS", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "SO", "ISO-Numeric": "706", "ISO3": "SOM", "Languages": ["so-SO", "ar-SO", "it", "en-SO"], "Phone": "252", "Population": 10112453, "Postal Code Format": "@@ #####", "Postal Code Regex": "^([A-Z]{2}\\d{5})$", "fips": "SO", "geonameid": 51537, "neighbours": ["ET", "KE", "DJ"], "tld": ".so"},
{"Area": 163270.0, "Capital": "Paramaribo", "Continent": "SA", "Country": "Suriname", "CurrencyCode": "SRD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "SR", "ISO-Numeric": "740", "ISO3": "SUR", "Languages": ["nl-SR", "en", "srn", "hns", "jv"], "Phone": "597", "Population": 492829, "Postal Code Format": "", "Postal Code Regex": "", "fips": "NS", "geonameid": 3382998, "neighbours": ["GY", "BR", "GF"], "tld": ".sr"},
{"Area": 644329.0, "Capital": "Juba", "Continent": "AF", "Country": "South Sudan", "CurrencyCode": "SSP", "CurrencyName": "Pound", "EquivalentFipsCode": "", "ISO": "SS", "ISO-Numeric": "728", "ISO3": "SSD", "Languages": ["en"], "Phone": "211", "Population": 8260490, "Postal Code Format": "", "Postal Code Regex": "", "fips": "OD", "geonameid": 7909807, "neighbours": ["CD", "CF", "ET", "KE", "SD", "UG", ""], "tld": ""},
{"Area": 1001.0, "Capital": "S\u00e3o Tom\u00e9", "Continent": "AF", "Country": "Sao Tome and Principe", "CurrencyCode": "STD", "CurrencyName": "Dobra", "EquivalentFipsCode": "", "ISO": "ST", "ISO-Numeric": "678", "ISO3": "STP", "Languages": ["pt-ST"], "Phone": "239", "Population": 175808, "Postal Code Format": "", "Postal Code Regex": "", "fips": "TP", "geonameid": 2410758, "neighbours": [], "tld": ".st"},
{"Area": 21040.0, "Capital": "San Salvador", "Continent": "NA", "Country": "El Salvador", "CurrencyCode": "USD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "SV", "ISO-Numeric": "222", "ISO3": "SLV", "Languages": ["es-SV"], "Phone": "503", "Population": 6052064, "Postal Code Format": "CP ####", "Postal Code Regex": "^(?:CP)*(\\d{4})$", "fips": "ES", "geonameid": 3585968, "neighbours": ["GT", "HN"], "tld": ".sv"},
{"Area": 0.0, "Capital": "Philipsburg", "Continent": "NA", "Country": "Sint Maarten", "CurrencyCode": "ANG", "CurrencyName": "Guilder", "EquivalentFipsCode": "", "ISO": "SX", "ISO-Numeric": "534", "ISO3": "SXM", "Languages": ["nl", "en"], "Phone": "599", "Population": 37429, "Postal Code Format": "", "Postal Code Regex": "", "fips": "NN", "geonameid": 7609695, "neighbours": ["MF"], "tld": ".sx"},
@ -230,7 +231,7 @@
{"Area": 35980.0, "Capital": "Taipei", "Continent": "AS", "Country": "Taiwan", "CurrencyCode": "TWD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "TW", "ISO-Numeric": "158", "ISO3": "TWN", "Languages": ["zh-TW", "zh", "nan", "hak"], "Phone": "886", "Population": 22894384, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "TW", "geonameid": 1668284, "neighbours": [], "tld": ".tw"},
{"Area": 945087.0, "Capital": "Dodoma", "Continent": "AF", "Country": "Tanzania", "CurrencyCode": "TZS", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "TZ", "ISO-Numeric": "834", "ISO3": "TZA", "Languages": ["sw-TZ", "en", "ar"], "Phone": "255", "Population": 41892895, "Postal Code Format": "", "Postal Code Regex": "", "fips": "TZ", "geonameid": 149590, "neighbours": ["MZ", "KE", "CD", "RW", "ZM", "BI", "UG", "MW"], "tld": ".tz"},
{"Area": 603700.0, "Capital": "Kiev", "Continent": "EU", "Country": "Ukraine", "CurrencyCode": "UAH", "CurrencyName": "Hryvnia", "EquivalentFipsCode": "", "ISO": "UA", "ISO-Numeric": "804", "ISO3": "UKR", "Languages": ["uk", "ru-UA", "rom", "pl", "hu"], "Phone": "380", "Population": 45415596, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "UP", "geonameid": 690791, "neighbours": ["PL", "MD", "HU", "SK", "BY", "RO", "RU"], "tld": ".ua"},
{"Area": 236040.0, "Capital": "Kampala", "Continent": "AF", "Country": "Uganda", "CurrencyCode": "UGX", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "UG", "ISO-Numeric": "800", "ISO3": "UGA", "Languages": ["en-UG", "lg", "sw", "ar"], "Phone": "256", "Population": 33398682, "Postal Code Format": "", "Postal Code Regex": "", "fips": "UG", "geonameid": 226074, "neighbours": ["TZ", "KE", "SD", "CD", "RW"], "tld": ".ug"},
{"Area": 236040.0, "Capital": "Kampala", "Continent": "AF", "Country": "Uganda", "CurrencyCode": "UGX", "CurrencyName": "Shilling", "EquivalentFipsCode": "", "ISO": "UG", "ISO-Numeric": "800", "ISO3": "UGA", "Languages": ["en-UG", "lg", "sw", "ar"], "Phone": "256", "Population": 33398682, "Postal Code Format": "", "Postal Code Regex": "", "fips": "UG", "geonameid": 226074, "neighbours": ["TZ", "KE", "SS", "CD", "RW"], "tld": ".ug"},
{"Area": 0.0, "Capital": "", "Continent": "OC", "Country": "United States Minor Outlying Islands", "CurrencyCode": "USD", "CurrencyName": "Dollar ", "EquivalentFipsCode": "", "ISO": "UM", "ISO-Numeric": "581", "ISO3": "UMI", "Languages": ["en-UM"], "Phone": "1", "Population": 0, "Postal Code Format": "", "Postal Code Regex": "", "fips": "", "geonameid": 5854968, "neighbours": [], "tld": ".um"},
{"Area": 9629091.0, "Capital": "Washington", "Continent": "NA", "Country": "United States", "CurrencyCode": "USD", "CurrencyName": "Dollar", "EquivalentFipsCode": "", "ISO": "US", "ISO-Numeric": "840", "ISO3": "USA", "Languages": ["en-US", "es-US", "haw", "fr"], "Phone": "1", "Population": 310232863, "Postal Code Format": "#####-####", "Postal Code Regex": "^(\\d{9})$", "fips": "US", "geonameid": 6252001, "neighbours": ["CA", "MX", "CU"], "tld": ".us"},
{"Area": 176220.0, "Capital": "Montevideo", "Continent": "SA", "Country": "Uruguay", "CurrencyCode": "UYU", "CurrencyName": "Peso", "EquivalentFipsCode": "", "ISO": "UY", "ISO-Numeric": "858", "ISO3": "URY", "Languages": ["es-UY"], "Phone": "598", "Population": 3477000, "Postal Code Format": "#####", "Postal Code Regex": "^(\\d{5})$", "fips": "UY", "geonameid": 3439705, "neighbours": ["BR", "AR"], "tld": ".uy"},

View file

@ -93,7 +93,7 @@
{"code": "EU", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/b7/Flag_of_Europe.svg", "name": "European Union", "wikipediaURL": "http://en.wikipedia.org/wiki/European_Union"},
{"code": "FK", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/8/83/Flag_of_the_Falkland_Islands.svg", "name": "Falkland Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/Falkland_Islands"},
{"code": "FO", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/3/3c/Flag_of_the_Faroe_Islands.svg", "name": "Faroe Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/Faroe_Islands"},
{"code": "FM", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/4/4c/Flag_of_Federated_States_of_Micronesia.svg", "name": "Micronesia", "wikipediaURL": "http://en.wikipedia.org/wiki/Federated_States_of_Micronesia"},
{"code": "FM", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/e4/Flag_of_the_Federated_States_of_Micronesia.svg", "name": "Micronesia", "wikipediaURL": "http://en.wikipedia.org/wiki/Federated_States_of_Micronesia"},
{"code": "FJ", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/ba/Flag_of_Fiji.svg", "name": "Fiji", "wikipediaURL": "http://en.wikipedia.org/wiki/Fiji"},
{"code": "FI", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/bc/Flag_of_Finland.svg", "name": "Finland", "wikipediaURL": "http://en.wikipedia.org/wiki/Finland"},
{"code": "FR", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/c/c3/Flag_of_France.svg", "name": "France", "wikipediaURL": "http://en.wikipedia.org/wiki/France"},
@ -112,7 +112,7 @@
{"code": "GR", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/5c/Flag_of_Greece.svg", "name": "Greece", "wikipediaURL": "http://en.wikipedia.org/wiki/Greece"},
{"code": "GL", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/09/Flag_of_Greenland.svg", "name": "Greenland", "wikipediaURL": "http://en.wikipedia.org/wiki/Greenland"},
{"code": "GD", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/bc/Flag_of_Grenada.svg", "name": "Grenada", "wikipediaURL": "http://en.wikipedia.org/wiki/Grenada"},
{"code": "GP", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/04/Flag_of_Guadeloupe_%28local%29.svg", "name": "Guadeloupe", "wikipediaURL": "http://en.wikipedia.org/wiki/Guadeloupe"},
{"code": "GP", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/7/7d/Flag_of_Guadeloupe_%28local%29_variant.svg", "name": "Guadeloupe", "wikipediaURL": "http://en.wikipedia.org/wiki/Guadeloupe"},
{"code": "GU", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/07/Flag_of_Guam.svg", "name": "Guam", "wikipediaURL": "http://en.wikipedia.org/wiki/Guam"},
{"code": "GT", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/ec/Flag_of_Guatemala.svg", "name": "Guatemala", "wikipediaURL": "http://en.wikipedia.org/wiki/Guatemala"},
{"code": "GG", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/f/fa/Flag_of_Guernsey.svg", "name": "Guernsey", "wikipediaURL": "http://en.wikipedia.org/wiki/Guernsey"},
@ -120,7 +120,7 @@
{"code": "GW", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_Guinea-Bissau.svg", "name": "Guinea-Bissau", "wikipediaURL": "http://en.wikipedia.org/wiki/Guinea-Bissau"},
{"code": "GY", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/99/Flag_of_Guyana.svg", "name": "Guyana", "wikipediaURL": "http://en.wikipedia.org/wiki/Guyana"},
{"code": "HT", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/56/Flag_of_Haiti.svg", "name": "Haiti", "wikipediaURL": "http://en.wikipedia.org/wiki/Haiti"},
{"code": "HM", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/b9/Flag_of_Australia.svg", "name": "Heard Island and McDonald Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/Heard_Island_and_McDonald_Islands"},
{"code": "HM", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/f/fa/Flag_of_Antarctica.svg", "name": "Heard Island and McDonald Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/Heard_Island_and_McDonald_Islands"},
{"code": "HN", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/8/82/Flag_of_Honduras.svg", "name": "Honduras", "wikipediaURL": "http://en.wikipedia.org/wiki/Honduras"},
{"code": "HK", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/5b/Flag_of_Hong_Kong.svg", "name": "Hong Kong", "wikipediaURL": "http://en.wikipedia.org/wiki/Hong_Kong"},
{"code": "HU", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/c/c1/Flag_of_Hungary.svg", "name": "Hungary", "wikipediaURL": "http://en.wikipedia.org/wiki/Hungary"},
@ -148,7 +148,7 @@
{"code": "LB", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/59/Flag_of_Lebanon.svg", "name": "Lebanon", "wikipediaURL": "http://en.wikipedia.org/wiki/Lebanon"},
{"code": "LS", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/4/4a/Flag_of_Lesotho.svg", "name": "Lesotho", "wikipediaURL": "http://en.wikipedia.org/wiki/Lesotho"},
{"code": "LR", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/b8/Flag_of_Liberia.svg", "name": "Liberia", "wikipediaURL": "http://en.wikipedia.org/wiki/Liberia"},
{"code": "LY", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/6/66/Flag_of_the_Libyan_Jamahiriya_1977.svg", "name": "Libya", "wikipediaURL": "http://en.wikipedia.org/wiki/Libya"},
{"code": "LY", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/f/f5/Flag_of_Libya_%281951%29.svg", "name": "Libya", "wikipediaURL": "http://en.wikipedia.org/wiki/Libya"},
{"code": "LI", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/4/47/Flag_of_Liechtenstein.svg", "name": "Liechtenstein", "wikipediaURL": "http://en.wikipedia.org/wiki/Liechtenstein"},
{"code": "LT", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/1/11/Flag_of_Lithuania.svg", "name": "Lithuania", "wikipediaURL": "http://en.wikipedia.org/wiki/Lithuania"},
{"code": "LU", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/d/da/Flag_of_Luxembourg.svg", "name": "Luxembourg", "wikipediaURL": "http://en.wikipedia.org/wiki/Luxembourg"},
@ -190,7 +190,7 @@
{"code": "NU", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_Niue.svg", "name": "Niue", "wikipediaURL": "http://en.wikipedia.org/wiki/Niue"},
{"code": "NF", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/4/48/Flag_of_Norfolk_Island.svg", "name": "Norfolk Island", "wikipediaURL": "http://en.wikipedia.org/wiki/Norfolk_Island"},
{"code": "KP", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/51/Flag_of_North_Korea.svg", "name": "North Korea", "wikipediaURL": "http://en.wikipedia.org/wiki/North_Korea"},
{"code": "VDVN", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/2/21/Flag_of_Vietnam.svg", "name": "North Vietnam", "wikipediaURL": "http://en.wikipedia.org/wiki/North_Vietnam"},
{"code": "VDVN", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/6/6b/Flag_of_North_Vietnam_1945-1955.svg", "name": "North Vietnam", "wikipediaURL": "http://en.wikipedia.org/wiki/North_Vietnam"},
{"code": "CY-NC", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/1/1e/Flag_of_the_Turkish_Republic_of_Northern_Cyprus.svg", "name": "Northern Cyprus", "wikipediaURL": "http://en.wikipedia.org/wiki/Northern_Cyprus"},
{"code": "GB-NIR", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/8/88/Ulster_banner.svg", "name": "Northern Ireland", "wikipediaURL": "http://en.wikipedia.org/wiki/Northern_Ireland"},
{"code": "MP", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/e0/Flag_of_the_Northern_Mariana_Islands.svg", "name": "Northern Mariana Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/Northern_Mariana_Islands"},
@ -256,7 +256,7 @@
{"code": "GS", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/ed/Flag_of_South_Georgia_and_the_South_Sandwich_Islands.svg", "name": "South Georgia and the South Sandwich Islands", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Georgia_and_the_South_Sandwich_Islands"},
{"code": "KR", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/09/Flag_of_South_Korea.svg", "name": "South Korea", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Korea"},
{"code": "GE-SO", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/1/12/Flag_of_South_Ossetia.svg", "name": "South Ossetia", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Ossetia"},
{"code": "SS", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/a/ae/Flag_of_the_SPLAM.svg", "name": "South Sudan", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Sudan"},
{"code": "SS", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/7/7a/Flag_of_South_Sudan.svg", "name": "South Sudan", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Sudan"},
{"code": "YDYE", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/d/db/Flag_of_South_Yemen.svg", "name": "South Yemen", "wikipediaURL": "http://en.wikipedia.org/wiki/South_Yemen"},
{"code": "SUHH", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/a/a9/Flag_of_the_Soviet_Union.svg", "name": "Soviet Union", "wikipediaURL": "http://en.wikipedia.org/wiki/Soviet_Union"},
{"code": "ES", "flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Spain.svg", "name": "Spain", "wikipediaURL": "http://en.wikipedia.org/wiki/Spain"},

View file

@ -16,13 +16,13 @@
#
#
# CS (Serbia and Montenegro) with geonameId = 863038 no longer exists.
# AN (the Netherlands Antilles) with geonameId = 3513447 was dissolved on 10 October 2010.
# AN (the Netherlands Antilles) with geonameId = 3513447 was dissolved on 10 October 2010.
#
#
# Currencies :
# ============
#
# A number of territories are not included in ISO 4217, because their currencies are not per se an independent currency,
# A number of territories are not included in ISO 4217, because their currencies are not per se an independent currency,
# but a variant of another currency. These currencies are:
#
# 1. FO : Faroese krona (1:1 pegged to the Danish krone)
@ -33,18 +33,18 @@
# 6. CK : Cook Islands dollar (1:1 pegged to the New Zealand dollar).
#
# The following non-ISO codes are, however, sometimes used: GGP for the Guernsey pound,
# JEP for the Jersey pound and IMP for the Isle of Man pound (http://en.wikipedia.org/wiki/ISO_4217)
# JEP for the Jersey pound and IMP for the Isle of Man pound (http://en.wikipedia.org/wiki/ISO_4217)
#
#
# A list of currency symbols is available here : http://forum.geonames.org/gforum/posts/list/437.page
# another list with fractional units is here: http://forum.geonames.org/gforum/posts/list/1961.page
# A list of currency symbols is available here : http://forum.geonames.org/gforum/posts/list/437.page
# another list with fractional units is here: http://forum.geonames.org/gforum/posts/list/1961.page
#
#
# Languages :
# ===========
#
# The column 'languages' lists the languages spoken in a country ordered by the number of speakers. The language code is a 'locale'
# where any two-letter primary-tag is an ISO-639 language abbreviation and any two-letter initial subtag is an ISO-3166 country code.
# The column 'languages' lists the languages spoken in a country ordered by the number of speakers. The language code is a 'locale'
# where any two-letter primary-tag is an ISO-639 language abbreviation and any two-letter initial subtag is an ISO-3166 country code.
#
# Example : es-AR is the Spanish variant spoken in Argentina.
#
@ -88,8 +88,8 @@ BY BLR 112 BO Belarus Minsk 207600 9685000 EU .by BYR Ruble 375 ###### ^(\d{6})$
BZ BLZ 084 BH Belize Belmopan 22966 314522 NA .bz BZD Dollar 501 en-BZ,es 3582678 GT,MX
CA CAN 124 CA Canada Ottawa 9984670 33679000 NA .ca CAD Dollar 1 @#@ #@# ^([a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d)$ en-CA,fr-CA,iu 6251999 US
CC CCK 166 CK Cocos Islands West Island 14 628 AS .cc AUD Dollar 61 ms-CC,en 1547376
CD COD 180 CG Democratic Republic of the Congo Kinshasa 2345410 70916439 AF .cd CDF Franc 243 fr-CD,ln,kg 203312 TZ,CF,SD,RW,ZM,BI,UG,CG,AO
CF CAF 140 CT Central African Republic Bangui 622984 4844927 AF .cf XAF Franc 236 fr-CF,sg,ln,kg 239880 TD,SD,CD,CM,CG
CD COD 180 CG Democratic Republic of the Congo Kinshasa 2345410 70916439 AF .cd CDF Franc 243 fr-CD,ln,kg 203312 TZ,CF,SS,RW,ZM,BI,UG,CG,AO
CF CAF 140 CT Central African Republic Bangui 622984 4844927 AF .cf XAF Franc 236 fr-CF,sg,ln,kg 239880 TD,SD,CD,SS,CM,CG
CG COG 178 CF Republic of the Congo Brazzaville 342000 3039126 AF .cg XAF Franc 242 fr-CG,kg,ln-CG 2260494 CF,GA,CD,CM,AO
CH CHE 756 SZ Switzerland Berne 41290 7581000 EU .ch CHF Franc 41 #### ^(\d{4})$ de-CH,fr-CH,it-CH,rm 2658434 DE,IT,LI,FR,AT
CI CIV 384 IV Ivory Coast Yamoussoukro 322460 21058798 AF .ci XOF Franc 225 fr-CI 2287781 LR,GH,GN,BF,ML
@ -117,7 +117,7 @@ EG EGY 818 EG Egypt Cairo 1001450 80471869 AF .eg EGP Pound 20 ##### ^(\d{5})$ a
EH ESH 732 WI Western Sahara El-Aaiun 266000 273008 AF .eh MAD Dirham 212 ar,mey 2461445 DZ,MR,MA
ER ERI 232 ER Eritrea Asmara 121320 5792984 AF .er ERN Nakfa 291 aa-ER,ar,tig,kun,ti-ER 338010 ET,SD,DJ
ES ESP 724 SP Spain Madrid 504782 46505963 EU .es EUR Euro 34 ##### ^(\d{5})$ es-ES,ca,gl,eu,oc 2510769 AD,PT,GI,FR,MA
ET ETH 231 ET Ethiopia Addis Ababa 1127127 88013491 AF .et ETB Birr 251 #### ^(\d{4})$ am,en-ET,om-ET,ti-ET,so-ET,sid 337996 ER,KE,SD,SO,DJ
ET ETH 231 ET Ethiopia Addis Ababa 1127127 88013491 AF .et ETB Birr 251 #### ^(\d{4})$ am,en-ET,om-ET,ti-ET,so-ET,sid 337996 ER,KE,SD,SS,SO,DJ
FI FIN 246 FI Finland Helsinki 337030 5244000 EU .fi EUR Euro 358 ##### ^(?:FI)*(\d{5})$ fi-FI,sv-FI,smn 660013 NO,RU,SE
FJ FJI 242 FJ Fiji Suva 18270 875983 OC .fj FJD Dollar 679 en-FJ,fj 2205218
FK FLK 238 FK Falkland Islands Stanley 12173 2638 SA .fk FKP Pound 500 en-FK 3474414
@ -163,7 +163,7 @@ JE JEY 832 JE Jersey Saint Helier 116 90812 EU .je GBP Pound +44-1534 @# #@@|@##
JM JAM 388 JM Jamaica Kingston 10991 2847232 NA .jm JMD Dollar +1-876 en-JM 3489940
JO JOR 400 JO Jordan Amman 92300 6407085 AS .jo JOD Dinar 962 ##### ^(\d{5})$ ar-JO,en 248816 SY,SA,IQ,IL,PS
JP JPN 392 JA Japan Tokyo 377835 127288000 AS .jp JPY Yen 81 ###-#### ^(\d{7})$ ja 1861060
KE KEN 404 KE Kenya Nairobi 582650 40046566 AF .ke KES Shilling 254 ##### ^(\d{5})$ en-KE,sw-KE 192950 ET,TZ,SD,SO,UG
KE KEN 404 KE Kenya Nairobi 582650 40046566 AF .ke KES Shilling 254 ##### ^(\d{5})$ en-KE,sw-KE 192950 ET,TZ,SS,SO,UG
KG KGZ 417 KG Kyrgyzstan Bishkek 198500 5508626 AS .kg KGS Som 996 ###### ^(\d{6})$ ky,uz,ru 1527747 CN,TJ,UZ,KZ
KH KHM 116 CB Cambodia Phnom Penh 181040 14453680 AS .kh KHR Riels 855 ##### ^(\d{5})$ km,fr,en 1831722 LA,TH,VN
KI KIR 296 KR Kiribati Tarawa 811 92533 OC .ki AUD Dollar 686 en-KI,gil 4030945
@ -245,7 +245,8 @@ RW RWA 646 RW Rwanda Kigali 26338 11055976 AF .rw RWF Franc 250 rw,en-RW,fr-RW
SA SAU 682 SA Saudi Arabia Riyadh 1960582 25731776 AS .sa SAR Rial 966 ##### ^(\d{5})$ ar-SA 102358 QA,OM,IQ,YE,JO,AE,KW
SB SLB 090 BP Solomon Islands Honiara 28450 559198 OC .sb SBD Dollar 677 en-SB,tpi 2103350
SC SYC 690 SE Seychelles Victoria 455 88340 AF .sc SCR Rupee 248 en-SC,fr-SC 241170
SD SDN 736 SU Sudan Khartoum 2505810 43939598 AF .sd SDG Dinar 249 ##### ^(\d{5})$ ar-SD,en,fia 366755 TD,ER,ET,LY,KE,CF,CD,UG,EG
SD SDN 729 SU Sudan Khartoum 1861484 35000000 AF .sd SDG Pound 249 ##### ^(\d{5})$ ar-SD,en,fia 366755 SS,TD,EG,ET,ER,LY,CF
SS SSD 728 OD South Sudan Juba 644329 8260490 AF SSP Pound 211 en 7909807 CD,CF,ET,KE,SD,UG,
SE SWE 752 SW Sweden Stockholm 449964 9045000 EU .se SEK Krona 46 SE-### ## ^(?:SE)*(\d{5})$ sv-SE,se,sma,fi-SE 2661886 NO,FI
SG SGP 702 SN Singapore Singapur 692.7 4701069 AS .sg SGD Dollar 65 ###### ^(\d{6})$ cmn,en-SG,ms-SG,ta-SG,zh-SG 1880251
SH SHN 654 SH Saint Helena Jamestown 410 7460 AF .sh SHP Pound 290 STHL 1ZZ ^(STHL1ZZ)$ en-SH 3370751
@ -279,7 +280,7 @@ TV TUV 798 TV Tuvalu Funafuti 26 10472 OC .tv AUD Dollar 688 tvl,en,sm,gil 211
TW TWN 158 TW Taiwan Taipei 35980 22894384 AS .tw TWD Dollar 886 ##### ^(\d{5})$ zh-TW,zh,nan,hak 1668284
TZ TZA 834 TZ Tanzania Dodoma 945087 41892895 AF .tz TZS Shilling 255 sw-TZ,en,ar 149590 MZ,KE,CD,RW,ZM,BI,UG,MW
UA UKR 804 UP Ukraine Kiev 603700 45415596 EU .ua UAH Hryvnia 380 ##### ^(\d{5})$ uk,ru-UA,rom,pl,hu 690791 PL,MD,HU,SK,BY,RO,RU
UG UGA 800 UG Uganda Kampala 236040 33398682 AF .ug UGX Shilling 256 en-UG,lg,sw,ar 226074 TZ,KE,SD,CD,RW
UG UGA 800 UG Uganda Kampala 236040 33398682 AF .ug UGX Shilling 256 en-UG,lg,sw,ar 226074 TZ,KE,SS,CD,RW
UM UMI 581 United States Minor Outlying Islands 0 0 OC .um USD Dollar 1 en-UM 5854968
US USA 840 US United States Washington 9629091 310232863 NA .us USD Dollar 1 #####-#### ^(\d{9})$ en-US,es-US,haw,fr 6252001 CA,MX,CU
UY URY 858 UY Uruguay Montevideo 176220 3477000 SA .uy UYU Peso 598 ##### ^(\d{5})$ es-UY 3439705 BR,AR
@ -298,5 +299,5 @@ YT MYT 175 MF Mayotte Mamoudzou 374 159042 AF .yt EUR Euro 262 ##### ^(\d{5})$ f
ZA ZAF 710 SF South Africa Pretoria 1219912 49000000 AF .za ZAR Rand 27 #### ^(\d{4})$ zu,xh,af,nso,en-ZA,tn,st,ts,ss,ve,nr 953987 ZW,SZ,MZ,BW,NA,LS
ZM ZMB 894 ZA Zambia Lusaka 752614 13460305 AF .zm ZMK Kwacha 260 ##### ^(\d{5})$ en-ZM,bem,loz,lun,lue,ny,toi 895949 ZW,TZ,MZ,CD,NA,MW,AO
ZW ZWE 716 ZI Zimbabwe Harare 390580 11651858 AF .zw ZWL Dollar 263 en-ZW,sn,nr,nd 878675 ZA,MZ,BW,ZM
CS SCG 891 YI Serbia and Montenegro Belgrade 102350 10829175 EU .cs RSD Dinar 381 ##### ^(\d{5})$ cu,hu,sq,sr 0 AL,HU,MK,RO,HR,BA,BG
AN ANT 530 NT Netherlands Antilles Willemstad 960 136197 NA .an ANG Guilder 599 nl-AN,en,es 0 GP
CS SCG 891 YI Serbia and Montenegro Belgrade 102350 10829175 EU .cs RSD Dinar 381 ##### ^(\d{5})$ cu,hu,sq,sr AL,HU,MK,RO,HR,BA,BG
AN ANT 530 NT Netherlands Antilles Willemstad 960 136197 NA .an ANG Guilder 599 nl-AN,en,es GP

View file

@ -5,6 +5,7 @@ import re
from geo import geo, read_url, write_log
from geo import write_json
# special is unused, geo in geo.py is used
special = {
'code': {
# incorrect on wikipedia
@ -125,7 +126,7 @@ special = {
'Diego Garcia': 'Flag_of_the_British_Indian_Ocean_Territory.svg',
'French Guiana': 'Flag_of_French_Guiana.svg',
'Korea': 'Flag_of_Korea_1882.svg',
'Libya': 'Flag_of_the_Libyan_Jamahiriya_1977.svg',
# 'Libya': 'Flag_of_the_Libyan_Jamahiriya_1977.svg',
'Metropolitan France': 'Flag_of_France.svg',
'Neutral Zone': 'Flag_of_the_United_Nations.svg',
'New Hebrides': 'Flag_of_Anglo-French_Joint_Naval_Commission.svg',