update Geo module
This commit is contained in:
parent
9c39e0e2e6
commit
0bf4d5a0f5
5 changed files with 582 additions and 62 deletions
|
@ -4,4 +4,384 @@
|
|||
|
||||
<p>foo: <code>// this is some code</code></p>
|
||||
|
||||
<blockquote>blockquote</blockquote>
|
||||
<blockquote>blockquote</blockquote>
|
||||
|
||||
<p><pre class="code">
|
||||
/*
|
||||
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
/*
|
||||
We have to load the Geo module to get Ox.COUNTRIES
|
||||
*/
|
||||
Ox.load({UI: {}, Geo: {}}, function() {
|
||||
|
||||
var countries = Ox.COUNTRIES.filter(function(country) {
|
||||
/*
|
||||
We filter out some types of countries that we're not interested in.
|
||||
*/
|
||||
return !country.disputed
|
||||
&& !country.dissolved
|
||||
&& !country.exception
|
||||
&& country.code.length == 2
|
||||
}).map(function(country) {
|
||||
/*
|
||||
For independent countries, the dependency property is undefined. We
|
||||
want an empty array though, so that the type of this column gets
|
||||
correctly detected as array.
|
||||
*/
|
||||
country.dependency = country.dependency || [];
|
||||
/*
|
||||
When sorting the list by region, we want the regions to be grouped
|
||||
by continent. To get this sort order, we set the value for region to
|
||||
'Continent, Region'. Later, a format function for the region column
|
||||
will remove the continent part again.
|
||||
*/
|
||||
country.region = country.continent + ', ' + country.region;
|
||||
return country;
|
||||
}),
|
||||
api = Ox.api(countries, {sort: ['+name'], unique: 'code'}),
|
||||
$list = Ox.TextList({
|
||||
columns: [
|
||||
{
|
||||
/*
|
||||
The format function of a column has a second argument
|
||||
which contains the values of all columns. This allows us
|
||||
to format a value dependent on other values. In this
|
||||
case, we want to display a flag, and while our items
|
||||
don't have a flag property, the Geo module allows us to
|
||||
derive it from the name property. The flag image needs a
|
||||
tooltip (which is why we can't use an $('<img>') here),
|
||||
and gets some CSS adjustments.
|
||||
*/
|
||||
format: function(value, data) {
|
||||
return Ox.Element({
|
||||
element: '<img>',
|
||||
tooltip:
|
||||
'<div style="margin-top: 2px"><img src="'
|
||||
+ Ox.getFlagByGeoname(data.name, 64)
|
||||
+ '"/></div>'
|
||||
})
|
||||
.attr({
|
||||
src: Ox.getFlagByGeoname(data.name, 16)
|
||||
})
|
||||
.css({
|
||||
width: '14px',
|
||||
height: '14px',
|
||||
marginLeft: '-3px'
|
||||
})
|
||||
},
|
||||
/*
|
||||
As the actual key for the column, we use the country
|
||||
code, not the country name, since we still want to
|
||||
display the name in its own column.
|
||||
*/
|
||||
id: 'flagURL',
|
||||
operator: '+',
|
||||
removable: false,
|
||||
/*
|
||||
We want the column title to be a flag symbol, so we
|
||||
specify this as the titleImage. We can pick anything
|
||||
from the collection of symbols that comes with Ox.UI.
|
||||
The column still needs a textual title that will be
|
||||
displayed in the menu that allows to show or hide
|
||||
specific columns.
|
||||
*/
|
||||
title: 'Flag',
|
||||
titleImage: 'flag',
|
||||
/*
|
||||
The country code is the unique key of our country table.
|
||||
In consequence, whenever the list fires a select event,
|
||||
it will reference this value as the item's id.
|
||||
*/
|
||||
unique: true,
|
||||
visible: true,
|
||||
width: 16
|
||||
},
|
||||
{
|
||||
id: 'code',
|
||||
operator: '+',
|
||||
title: 'Code',
|
||||
unique: true,
|
||||
visible: true,
|
||||
width: 64
|
||||
},
|
||||
{
|
||||
id: 'name',
|
||||
/*
|
||||
The operator indicates that we want the default sort
|
||||
order of this column to be ascending.
|
||||
*/
|
||||
operator: '+',
|
||||
/*
|
||||
As it wouldn't make much sense to display the list
|
||||
without the name column, we make it non-removable.
|
||||
*/
|
||||
removable: false,
|
||||
title: 'Name',
|
||||
visible: true,
|
||||
width: 256
|
||||
},
|
||||
{
|
||||
id: 'continent',
|
||||
operator: '+',
|
||||
title: 'Continent',
|
||||
visible: true,
|
||||
width: 96
|
||||
},
|
||||
{
|
||||
/*
|
||||
To tweak the sort order for this column, we had changed
|
||||
the value for region to 'Continent, Region'. The format
|
||||
function now reverts that change.
|
||||
*/
|
||||
format: function(value) {
|
||||
return value.split(', ')[1];
|
||||
},
|
||||
id: 'region',
|
||||
operator: '+',
|
||||
title: 'Region',
|
||||
visible: true,
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
/*
|
||||
As the value is a number, it should be right-aligned.
|
||||
*/
|
||||
align: 'right',
|
||||
/*
|
||||
To get from square meters to something human-readable,
|
||||
we use one of the built-in format functions.
|
||||
*/
|
||||
format: function(value) {
|
||||
return Ox.formatArea(value);
|
||||
},
|
||||
id: 'area',
|
||||
operator: '-',
|
||||
title: 'Area',
|
||||
visible: true,
|
||||
width: 112
|
||||
},
|
||||
{
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lat');
|
||||
},
|
||||
align: 'right',
|
||||
id: 'lat',
|
||||
operator: '-',
|
||||
title: 'Latitude',
|
||||
visible: true,
|
||||
width: 80
|
||||
},
|
||||
{
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lng');
|
||||
},
|
||||
align: 'right',
|
||||
id: 'lng',
|
||||
operator: '+',
|
||||
title: 'Longitude',
|
||||
visible: true,
|
||||
width: 80
|
||||
},
|
||||
/*
|
||||
For the next four columns, which seem less important, we
|
||||
omit the 'visible' option, which defaults to false. They can
|
||||
still be made visible, they're just not visible by default.
|
||||
*/
|
||||
{
|
||||
align: 'right',
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lat');
|
||||
},
|
||||
id: 'south',
|
||||
operator: '-',
|
||||
title: 'South',
|
||||
width: 80
|
||||
},
|
||||
{
|
||||
align: 'right',
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lat');
|
||||
},
|
||||
id: 'north',
|
||||
operator: '-',
|
||||
title: 'North',
|
||||
width: 80
|
||||
},
|
||||
{
|
||||
align: 'right',
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lng');
|
||||
},
|
||||
id: 'west',
|
||||
operator: '-',
|
||||
title: 'West',
|
||||
width: 80
|
||||
},
|
||||
{
|
||||
align: 'right',
|
||||
format: function(value) {
|
||||
return Ox.formatDegrees(value, 'lng');
|
||||
},
|
||||
id: 'east',
|
||||
operator: '-',
|
||||
title: 'East',
|
||||
width: 80
|
||||
},
|
||||
{
|
||||
/*
|
||||
The dependency property is an array of country names,
|
||||
for each of which we want to display a flag. So we use a
|
||||
similar constuction as above, and wrap the images in a
|
||||
$('<div>') element.
|
||||
*/
|
||||
format: function(value) {
|
||||
var ret = '';
|
||||
if (value) {
|
||||
var ret = $('<div>').css({marginLeft: '-4px'});
|
||||
value.forEach(function(country) {
|
||||
Ox.Element({
|
||||
element: '<img>',
|
||||
tooltip: country
|
||||
})
|
||||
.attr({
|
||||
src: Ox.getFlagByGeoname(country, 16)
|
||||
})
|
||||
.css({
|
||||
width: '14px',
|
||||
height: '14px',
|
||||
margin: '1px'
|
||||
})
|
||||
.appendTo(ret);
|
||||
});
|
||||
}
|
||||
return ret;
|
||||
},
|
||||
id: 'dependency',
|
||||
operator: '+',
|
||||
title: 'Dependency of',
|
||||
visible: true,
|
||||
width: 112
|
||||
}
|
||||
],
|
||||
/*
|
||||
This allows the user to move the columns around
|
||||
*/
|
||||
columnsMovable: true,
|
||||
/*
|
||||
This enables the UI to show or hide specific columns
|
||||
*/
|
||||
columnsRemovable: true,
|
||||
/*
|
||||
This makes sure the column titles get displayed
|
||||
*/
|
||||
columnsVisible: true,
|
||||
items: api,
|
||||
/*
|
||||
Pagination is useful when a list is so big that only parts of it
|
||||
can be requested or displayed. Since this is not the case here,
|
||||
we set the page length to a sufficiently large number.
|
||||
*/
|
||||
pageLength: Ox.COUNTRIES.length,
|
||||
scrollbarVisible: true,
|
||||
/*
|
||||
We have to specify the default sort order.
|
||||
*/
|
||||
sort: [{key: 'name', operator: '+'}]
|
||||
})
|
||||
.bindEvent({
|
||||
/*
|
||||
The init event of a list fires when the items function has
|
||||
returned the total number of items. If we're dealing with a
|
||||
remote API, a complex query, a huge dataset or a range request
|
||||
for paginated results according to a non-trivial sort order,
|
||||
this may happen quite a bit before any items are returned. Here,
|
||||
we simply display the number of items in the status bar.
|
||||
*/
|
||||
init: function(data) {
|
||||
$status.html(
|
||||
(data.items || 'No') + ' countr'
|
||||
+ (data.items == 1 ? 'y' : 'ies')
|
||||
);
|
||||
}
|
||||
}),
|
||||
/*
|
||||
We want the user to be able to pick if dependent countries are included
|
||||
in the list or not. So we add a checkbox, and bind the find function to
|
||||
its change event.
|
||||
*/
|
||||
$include = Ox.Checkbox({
|
||||
title: 'Include Dependencies',
|
||||
value: true
|
||||
})
|
||||
.css({float: 'left', margin: '4px'})
|
||||
.bindEvent({
|
||||
change: find
|
||||
}),
|
||||
/*
|
||||
We want a search field with find-as-you-type, so we use an input element
|
||||
and set its changeOnKeypress option to true.
|
||||
*/
|
||||
$find = Ox.Input({
|
||||
changeOnKeypress: true,
|
||||
placeholder: 'Find',
|
||||
width: 192
|
||||
})
|
||||
.css({float: 'right', margin: '4px'})
|
||||
.bindEvent({
|
||||
change: find
|
||||
}),
|
||||
/*
|
||||
...
|
||||
*/
|
||||
$toolbar = Ox.Bar({size: 24}).append($include).append($find),
|
||||
$status = $('<div>').css({
|
||||
marginTop: '2px',
|
||||
fontSize: '9px',
|
||||
textAlign: 'center'
|
||||
}),
|
||||
$statusbar = Ox.Bar({size: 16}).append($status),
|
||||
$panel = Ox.SplitPanel({
|
||||
elements: [
|
||||
{element: $toolbar, size: 24},
|
||||
{element: $list},
|
||||
{element: $statusbar, size: 16}
|
||||
],
|
||||
orientation: 'vertical'
|
||||
})
|
||||
.appendTo(Ox.$body);
|
||||
|
||||
function find() {
|
||||
/*
|
||||
The find function is bound to the change events of the $include checkbox
|
||||
and the $find input field. In both cases, the value will be passed, but
|
||||
since we need both values, we disregard it and query both elements for
|
||||
their value. If the $include box is not checked, we add a second
|
||||
condition that matches only independent countries.
|
||||
*/
|
||||
var conditions = [
|
||||
{key: 'name', operator: '=', value: $find.options('value')},
|
||||
];
|
||||
!$include.options('value') && conditions.push(
|
||||
{key: 'dependency', operator: '=', value: void 0}
|
||||
);
|
||||
/*
|
||||
...
|
||||
*/
|
||||
api({
|
||||
keys: [],
|
||||
query: {conditions: conditions, operator: '&'}
|
||||
}, function(result) {
|
||||
$list.options({
|
||||
items: Ox.api(
|
||||
result.data.items, {sort: '+name', unique: 'code'}
|
||||
)
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</pre></p>
|
|
@ -4,8 +4,7 @@
|
|||
"code": "AC",
|
||||
"continent": "Africa",
|
||||
"dependency": [
|
||||
"Saint Helena",
|
||||
"Ascension and Tristan da Cunha"
|
||||
"Saint Helena, Ascension and Tristan da Cunha"
|
||||
],
|
||||
"east": -14.2892647,
|
||||
"exception": true,
|
||||
|
@ -206,6 +205,13 @@
|
|||
"created": "merged",
|
||||
"date": "1971-12-01"
|
||||
},
|
||||
"dissolved": {
|
||||
"country": [
|
||||
"United Arab Emirates"
|
||||
],
|
||||
"date": "1972-02-11",
|
||||
"dissolved": "joined"
|
||||
},
|
||||
"east": 56.297054,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/6/6d/Flag_of_Sharjah.svg",
|
||||
"independence": {
|
||||
|
@ -448,6 +454,12 @@
|
|||
],
|
||||
"east": 24.0844444,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/9d/Flag_of_Angola.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"date": "1975-11-11"
|
||||
},
|
||||
"lat": -11.202692,
|
||||
"lng": 17.873887,
|
||||
"name": "Angola",
|
||||
|
@ -460,9 +472,23 @@
|
|||
"area": 18910547686.30963,
|
||||
"code": "AO-CAB",
|
||||
"continent": "Africa",
|
||||
"created": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"created": "split",
|
||||
"date": "1975-08-01"
|
||||
},
|
||||
"disputed": [
|
||||
"Angola"
|
||||
],
|
||||
"dissolved": {
|
||||
"country": [
|
||||
"Angola"
|
||||
],
|
||||
"date": "1975-11-11",
|
||||
"dissolved": "joined"
|
||||
},
|
||||
"east": 13.109678,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/2/22/Flag_of_Cabinda.svg",
|
||||
"lat": -5.0248749,
|
||||
|
@ -578,12 +604,6 @@
|
|||
],
|
||||
"east": -173.0645,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/en/b/b9/Flag_of_Australia.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Papua New Guinea"
|
||||
],
|
||||
"date": "1975-09-16"
|
||||
},
|
||||
"languages": [
|
||||
"Aboriginal",
|
||||
"Australian",
|
||||
|
@ -653,6 +673,13 @@
|
|||
"area": 558581877.6893722,
|
||||
"code": "AW",
|
||||
"continent": "South America",
|
||||
"created": {
|
||||
"country": [
|
||||
"Netherlands Antilles"
|
||||
],
|
||||
"created": "split",
|
||||
"date": "1986-01-01"
|
||||
},
|
||||
"dependency": [
|
||||
"Netherlands"
|
||||
],
|
||||
|
@ -854,6 +881,12 @@
|
|||
"continent": "Asia",
|
||||
"east": 50.8509064,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/2/2c/Flag_of_Bahrain.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1971-12-16"
|
||||
},
|
||||
"lat": 25.930414,
|
||||
"lng": 50.637772,
|
||||
"name": "Bahrain",
|
||||
|
@ -939,6 +972,12 @@
|
|||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/9c/Flag_of_Brunei.svg",
|
||||
"googleName": "Brunei Darussalam",
|
||||
"imdbName": "Brunei Darussalam",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1984-01-01"
|
||||
},
|
||||
"lat": 4.535277,
|
||||
"lng": 114.727669,
|
||||
"name": "Brunei",
|
||||
|
@ -1031,6 +1070,12 @@
|
|||
"east": -72.6196289,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/93/Flag_of_the_Bahamas.svg",
|
||||
"googleName": "The Bahamas",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1973-07-10"
|
||||
},
|
||||
"lat": 25.03428,
|
||||
"lng": -77.39628,
|
||||
"name": "Bahamas",
|
||||
|
@ -1558,6 +1603,12 @@
|
|||
"continent": "Africa",
|
||||
"east": -22.5933838,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/3/38/Flag_of_Cape_Verde.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"date": "1975-07-05"
|
||||
},
|
||||
"languages": [
|
||||
"Kabuverdianu",
|
||||
"Kriolu"
|
||||
|
@ -1574,6 +1625,13 @@
|
|||
"area": 5069459315.473289,
|
||||
"code": "CW",
|
||||
"continent": "South America",
|
||||
"created": {
|
||||
"country": [
|
||||
"Netherlands Antilles"
|
||||
],
|
||||
"created": "merged",
|
||||
"date": "2010-10-10"
|
||||
},
|
||||
"dependency": [
|
||||
"Netherlands"
|
||||
],
|
||||
|
@ -1804,6 +1862,12 @@
|
|||
"continent": "South America",
|
||||
"east": -61.2295532,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/c/c4/Flag_of_Dominica.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1978-11-03"
|
||||
},
|
||||
"lat": 15.414999,
|
||||
"lng": -61.370976,
|
||||
"name": "Dominica",
|
||||
|
@ -2084,6 +2148,12 @@
|
|||
"continent": "Oceania",
|
||||
"east": -177.8686523,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/ba/Flag_of_Fiji.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1970-10-10"
|
||||
},
|
||||
"lat": -17.713371,
|
||||
"lng": 178.065032,
|
||||
"name": "Fiji",
|
||||
|
@ -2205,17 +2275,11 @@
|
|||
"Saint Martin",
|
||||
"Saint Pierre and Miquelon",
|
||||
"Wallis and Futuna",
|
||||
"Antarctica",
|
||||
"New Hebrides"
|
||||
"New Hebrides",
|
||||
"Antarctica"
|
||||
],
|
||||
"east": 9.6625,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/en/c/c3/Flag_of_France.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Comoros"
|
||||
],
|
||||
"date": "1975-07-06"
|
||||
},
|
||||
"languages": [
|
||||
"French",
|
||||
"Breton",
|
||||
|
@ -2233,6 +2297,13 @@
|
|||
"area": 568730876782.7081,
|
||||
"code": "FR-AQ",
|
||||
"continent": "Antarctica",
|
||||
"created": {
|
||||
"country": [
|
||||
"French Southern and Antarctic Territories"
|
||||
],
|
||||
"created": "merged",
|
||||
"date": "1979"
|
||||
},
|
||||
"dependency": [
|
||||
"France"
|
||||
],
|
||||
|
@ -2287,9 +2358,8 @@
|
|||
"code": "GB",
|
||||
"continent": "Europe",
|
||||
"dependencies": [
|
||||
"Antarctica",
|
||||
"New Hebrides",
|
||||
"Canton and Enderbury Islands",
|
||||
"New Hebrides",
|
||||
"Akrotiri and Dhekelia",
|
||||
"Anguilla",
|
||||
"Bermuda",
|
||||
|
@ -2317,7 +2387,8 @@
|
|||
"Southern Rhodesia",
|
||||
"Trucial States",
|
||||
"Turks and Caicos Islands",
|
||||
"Wales"
|
||||
"Wales",
|
||||
"Antarctica"
|
||||
],
|
||||
"disputes": [
|
||||
"Sealand"
|
||||
|
@ -2325,12 +2396,6 @@
|
|||
"east": 1.768926,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/en/a/ae/Flag_of_the_United_Kingdom.svg",
|
||||
"googleName": "UK",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Brunei"
|
||||
],
|
||||
"date": "1984-01-01"
|
||||
},
|
||||
"languages": [
|
||||
"Cornish",
|
||||
"English",
|
||||
|
@ -2538,6 +2603,12 @@
|
|||
"continent": "South America",
|
||||
"east": -61.3620758,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/b/bc/Flag_of_Grenada.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1974-02-07"
|
||||
},
|
||||
"lat": 12.262776,
|
||||
"lng": -61.604171,
|
||||
"name": "Grenada",
|
||||
|
@ -2977,6 +3048,12 @@
|
|||
"continent": "Africa",
|
||||
"east": -13.6430556,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/0/01/Flag_of_Guinea-Bissau.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"date": "1974-09-10"
|
||||
},
|
||||
"lat": 11.803749,
|
||||
"lng": -15.180413,
|
||||
"name": "Guinea-Bissau",
|
||||
|
@ -3605,6 +3682,12 @@
|
|||
],
|
||||
"east": 44.5646667,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/94/Flag_of_the_Comoros.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"France"
|
||||
],
|
||||
"date": "1975-07-06"
|
||||
},
|
||||
"lat": -11.875001,
|
||||
"lng": 43.872219,
|
||||
"name": "Comoros",
|
||||
|
@ -3644,6 +3727,13 @@
|
|||
"disputed": [
|
||||
"Comoros"
|
||||
],
|
||||
"dissolved": {
|
||||
"country": [
|
||||
"Comoros"
|
||||
],
|
||||
"date": "2002-03-10",
|
||||
"dissolved": "joined"
|
||||
},
|
||||
"east": 43.8763046,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/3/32/Flag_of_Moh%C3%A9li.svg",
|
||||
"lat": -12.3377376,
|
||||
|
@ -3826,6 +3916,12 @@
|
|||
"continent": "South America",
|
||||
"east": -60.8597946,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/9f/Flag_of_Saint_Lucia.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1979-02-22"
|
||||
},
|
||||
"lat": 13.909444,
|
||||
"lng": -60.978893,
|
||||
"name": "Saint Lucia",
|
||||
|
@ -4467,6 +4563,12 @@
|
|||
"continent": "Africa",
|
||||
"east": 41.3965,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/d/d0/Flag_of_Mozambique.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"date": "1975-06-25"
|
||||
},
|
||||
"lat": -18.665695,
|
||||
"lng": 35.529562,
|
||||
"name": "Mozambique",
|
||||
|
@ -4723,12 +4825,6 @@
|
|||
],
|
||||
"east": 7.2271405,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/2/20/Flag_of_the_Netherlands.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Suriname"
|
||||
],
|
||||
"date": "1975-11-25"
|
||||
},
|
||||
"languages": [
|
||||
"Dutch"
|
||||
],
|
||||
|
@ -5010,6 +5106,12 @@
|
|||
],
|
||||
"east": 159.9609,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/e3/Flag_of_Papua_New_Guinea.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Australia"
|
||||
],
|
||||
"date": "1975-09-16"
|
||||
},
|
||||
"languages": [
|
||||
"Korowai"
|
||||
],
|
||||
|
@ -5213,12 +5315,6 @@
|
|||
"continent": "Europe",
|
||||
"east": -6.1902091,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/5/5c/Flag_of_Portugal.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Angola"
|
||||
],
|
||||
"date": "1975-11-11"
|
||||
},
|
||||
"languages": [
|
||||
"Portuguese"
|
||||
],
|
||||
|
@ -5328,6 +5424,12 @@
|
|||
"continent": "Asia",
|
||||
"east": 51.6769,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/6/65/Flag_of_Qatar.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1971-09-03"
|
||||
},
|
||||
"lat": 25.354826,
|
||||
"lng": 51.183884,
|
||||
"name": "Qatar",
|
||||
|
@ -5583,6 +5685,12 @@
|
|||
"continent": "Oceania",
|
||||
"east": 168.0249023,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/7/74/Flag_of_the_Solomon_Islands.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1978-07-07"
|
||||
},
|
||||
"lat": -9.64571,
|
||||
"lng": 160.156194,
|
||||
"name": "Solomon Islands",
|
||||
|
@ -5597,6 +5705,12 @@
|
|||
"continent": "Africa",
|
||||
"east": 56.3928223,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/f/fc/Flag_of_Seychelles.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1976-06-29"
|
||||
},
|
||||
"lat": -4.679574,
|
||||
"lng": 55.491977,
|
||||
"name": "Seychelles",
|
||||
|
@ -5654,6 +5768,10 @@
|
|||
"area": 2899291545265.023,
|
||||
"code": "SH",
|
||||
"continent": "Africa",
|
||||
"dependencies": [
|
||||
"Ascension",
|
||||
"Tristan da Cunha"
|
||||
],
|
||||
"dependency": [
|
||||
"United Kingdom"
|
||||
],
|
||||
|
@ -5866,6 +5984,12 @@
|
|||
"continent": "South America",
|
||||
"east": -53.9429,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/6/60/Flag_of_Suriname.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Netherlands"
|
||||
],
|
||||
"date": "1975-11-25"
|
||||
},
|
||||
"lat": 3.919305,
|
||||
"lng": -56.027783,
|
||||
"name": "Suriname",
|
||||
|
@ -5902,6 +6026,12 @@
|
|||
"east": 7.658844,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/4/4f/Flag_of_Sao_Tome_and_Principe.svg",
|
||||
"imdbName": "Sao Tome and Principe",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Portugal"
|
||||
],
|
||||
"date": "1975-07-12"
|
||||
},
|
||||
"lat": 0.18636,
|
||||
"lng": 6.613081,
|
||||
"name": "S\u00e3o Tom\u00e9 and Pr\u00edncipe",
|
||||
|
@ -6009,8 +6139,7 @@
|
|||
"code": "TA",
|
||||
"continent": "Africa",
|
||||
"dependency": [
|
||||
"Saint Helena",
|
||||
"Ascension and Tristan da Cunha"
|
||||
"Saint Helena, Ascension and Tristan da Cunha"
|
||||
],
|
||||
"east": -12.2169685,
|
||||
"exception": true,
|
||||
|
@ -6162,6 +6291,13 @@
|
|||
"area": 61551190637.092255,
|
||||
"code": "TL",
|
||||
"continent": "Asia",
|
||||
"created": {
|
||||
"country": [
|
||||
"East Timor"
|
||||
],
|
||||
"created": "renamed",
|
||||
"date": "2002-05-20"
|
||||
},
|
||||
"east": 127.4249,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/2/26/Flag_of_East_Timor.svg",
|
||||
"lat": -8.874217,
|
||||
|
@ -6216,6 +6352,12 @@
|
|||
"continent": "Oceania",
|
||||
"east": -173.2543945,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/9/9a/Flag_of_Tonga.svg",
|
||||
"independence": {
|
||||
"country": [
|
||||
"United Kingdom"
|
||||
],
|
||||
"date": "1970-06-04"
|
||||
},
|
||||
"languages": [
|
||||
"Tonga (Tonga Islands)"
|
||||
],
|
||||
|
@ -6236,7 +6378,7 @@
|
|||
],
|
||||
"dissolved": {
|
||||
"country": [
|
||||
"Timor Leste"
|
||||
"Timor-Leste"
|
||||
],
|
||||
"date": "2002-05-20",
|
||||
"dissolved": "renamed"
|
||||
|
@ -6439,9 +6581,8 @@
|
|||
"code": "UK",
|
||||
"continent": "Europe",
|
||||
"dependencies": [
|
||||
"Antarctica",
|
||||
"New Hebrides",
|
||||
"Canton and Enderbury Islands",
|
||||
"New Hebrides",
|
||||
"Akrotiri and Dhekelia",
|
||||
"Anguilla",
|
||||
"Bermuda",
|
||||
|
@ -6469,7 +6610,8 @@
|
|||
"Southern Rhodesia",
|
||||
"Trucial States",
|
||||
"Turks and Caicos Islands",
|
||||
"Wales"
|
||||
"Wales",
|
||||
"Antarctica"
|
||||
],
|
||||
"disputes": [
|
||||
"Sealand"
|
||||
|
@ -6478,12 +6620,6 @@
|
|||
"exception": true,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/en/a/ae/Flag_of_the_United_Kingdom.svg",
|
||||
"googleName": "UK",
|
||||
"independence": {
|
||||
"country": [
|
||||
"Brunei"
|
||||
],
|
||||
"date": "1984-01-01"
|
||||
},
|
||||
"languages": [
|
||||
"Cornish",
|
||||
"English",
|
||||
|
@ -6529,6 +6665,7 @@
|
|||
"code": "US",
|
||||
"continent": "North America",
|
||||
"dependencies": [
|
||||
"Canton and Enderbury Islands",
|
||||
"American Samoa",
|
||||
"Guam",
|
||||
"Northern Mariana Islands",
|
||||
|
@ -6540,8 +6677,7 @@
|
|||
"United States Minor Outlying Islands",
|
||||
"United States Miscellaneous Pacific Islands",
|
||||
"United States Virgin Islands",
|
||||
"Wake Island",
|
||||
"Canton and Enderbury Islands"
|
||||
"Wake Island"
|
||||
],
|
||||
"east": -66.885417,
|
||||
"flagURL": "http://upload.wikimedia.org/wikipedia/commons/e/e2/Flag_of_the_United_States_%28Pantone%29.svg",
|
||||
|
|
|
@ -250,7 +250,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"Argentina": ["Argentine Antarctica"],
|
||||
"Argentina, Australia, Chile, France, New Zealand, Norway, United Kingdom": ["Antarctica"],
|
||||
"Argentina; Australia; Chile; France; New Zealand; Norway; United Kingdom": ["Antarctica"],
|
||||
"Australia": [
|
||||
"Ashmore and Cartier Islands", "Australian Antarctic Territory", "Christmas Island", "Cocos Islands", "Coral Sea Islands",
|
||||
"Heard Island and McDonald Islands", "Norfolk Island"
|
||||
|
@ -266,7 +266,7 @@
|
|||
"New Caledonia", "Réunion", "Saint Barthélemy", "Saint Martin", "Saint Pierre and Miquelon",
|
||||
"Wallis and Futuna"
|
||||
],
|
||||
"France, United Kingdom": ["New Hebrides"],
|
||||
"France; United Kingdom": ["New Hebrides"],
|
||||
"Guernsey": ["Alderney", "Herm", "Sark"],
|
||||
"India": ["Jammu and Kashmir"],
|
||||
"Netherlands": [
|
||||
|
@ -287,7 +287,7 @@
|
|||
"Saint Christopher-Nevis-Anguilla", "Saint Helena, Ascension and Tristan da Cunha", "Scotland", "South Georgia and the South Sandwich Islands", "Southern Rhodesia",
|
||||
"Trucial States", "Turks and Caicos Islands", "Wales"
|
||||
],
|
||||
"United Kingdom, United States": ["Canton and Enderbury Islands"],
|
||||
"United Kingdom; United States": ["Canton and Enderbury Islands"],
|
||||
"United States": [
|
||||
"American Samoa", "Guam", "Northern Mariana Islands", "Johnston Island", "Midway Islands",
|
||||
"Pacific Islands", "Panama Canal Zone", "Puerto Rico", "United States Minor Outlying Islands", "United States Miscellaneous Pacific Islands",
|
||||
|
@ -301,7 +301,7 @@
|
|||
"Cyprus": ["Northern Cyprus"],
|
||||
"Georgia": ["Abkhazia", "South Ossetia"],
|
||||
"Indonesia": ["East Timor"],
|
||||
"Iraq, Saudi Arabia": ["Neutral Zone"],
|
||||
"Iraq; Saudi Arabia": ["Neutral Zone"],
|
||||
"Moldova": ["Transnistria"],
|
||||
"Morocco": ["Sahrawi"],
|
||||
"New Hebrides": ["Tafea", "Tanna", "Vemerana"],
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import codecs
|
||||
import json
|
||||
import os
|
||||
import ox
|
||||
|
@ -96,7 +97,6 @@ def get_countries():
|
|||
'country': data['dependency'],
|
||||
'date': country['created']['date']
|
||||
}
|
||||
sys.exit()
|
||||
# Flags
|
||||
countries = sorted(countries, key=sort)
|
||||
flags = get_flags(countries)
|
||||
|
@ -126,14 +126,14 @@ def get_country_data(country):
|
|||
country['created'] = DATA['created'][name]
|
||||
# dependencies
|
||||
for c, d in DATA['dependencies'].iteritems():
|
||||
c = c.split(', ')
|
||||
c = c.split('; ')
|
||||
if name in c:
|
||||
country['dependencies'] = d if not 'dependencies' in country else country['dependencies'] + d
|
||||
elif name in d:
|
||||
country['dependency'] = c if not 'dependency' in country else country['dependency'] + c
|
||||
# disputes
|
||||
for c, d in DATA['disputes'].iteritems():
|
||||
c = c.split(', ')
|
||||
c = c.split('; ')
|
||||
if name in c:
|
||||
country['disputes'] = d if not 'disputes' in country else country['disputes'] + d
|
||||
elif name in d:
|
||||
|
@ -261,7 +261,7 @@ def parse_txt():
|
|||
'dissolved': {},
|
||||
'independence': {}
|
||||
}
|
||||
f = open('../txt/countries.txt')
|
||||
f = codecs.open('../txt/countries.txt', 'r', 'utf-8')
|
||||
lines = map(lambda x: x.strip(), f.readlines())
|
||||
f.close()
|
||||
for line in filter(lambda x: x[0] != '#', lines):
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# FIXME: character encoding doesn't work!
|
||||
# see http://en.wikipedia.org/wiki/List_of_sovereign_states_by_date_of_formation
|
||||
# a < b / c a splits into b and c
|
||||
# a / b > c a and b join as c
|
||||
|
@ -16,7 +17,7 @@
|
|||
1971-12-02 Abu Dhabi / Ajman / Dubai / Fujairah / Sharjah / Umm al-Quwain > United Arab Emirates
|
||||
1971-12-16 United Kingdom * Bahrain
|
||||
1971-12-16 Pakistan - Bangladesh
|
||||
1972-02-11 Ras al Khaimah + United Arab Emirates
|
||||
1972-02-11 Ras al-Khaimah + United Arab Emirates
|
||||
1972-05-22 Ceylon = Sri Lanka
|
||||
1973-06-01 British Honduras = Belize
|
||||
1973-07-10 United Kingdom * Bahamas
|
||||
|
@ -30,7 +31,9 @@
|
|||
1975-07-06 France * Comoros
|
||||
1975-07-12 Portugal * São Tomé and Príncipe
|
||||
1975-09-16 Australia * Papua New Guinea
|
||||
1975-08-01 Portugal - Cabinda
|
||||
1975-11-11 Portugal * Angola
|
||||
1975-11-11 Cabinda + Angola
|
||||
1975-11-25 Netherlands * Suriname
|
||||
1975-11-30 Dahomey = Benin
|
||||
1976-01-01 Gilbert and Ellice Islands < Ellice Islands / Gilbert Islands
|
||||
|
@ -56,6 +59,7 @@
|
|||
1984-01-01 United Kingdom * Brunei
|
||||
1984-08-04 Upper Volta = Burkina Faso
|
||||
1986 Johnston Island / Midway Islands / United States Miscellaneous Pacific Islands / Wake Island > United States Minor Outlying Islands
|
||||
1986-01-01 Netherlands Antilles - Aruba
|
||||
1986-10-21 Pacific Islands - Marshall Islands
|
||||
1986-11-03 Pacific Islands - Micronesia
|
||||
1989-05-01 Kampuchea = Cambodia
|
||||
|
@ -93,7 +97,7 @@
|
|||
1998-12-24 Bougainville + Papua New Guinea
|
||||
2000-02-06 Chechnia + Russia
|
||||
2002-03-10 Anjouan / Mohéli + Comoros
|
||||
2002-05-20 East Timor = Timor Leste
|
||||
2002-05-20 East Timor = Timor-Leste
|
||||
2003-02-04 Yugoslavia = Serbia and Montenegro
|
||||
2006-06-05 Serbia and Montenegro < Serbia / Montenegro
|
||||
2008-02-17 Serbia - Kosovo
|
||||
|
|
Loading…
Reference in a new issue