Skip to content

Commit 7d1552f

Browse files
committed
zipzap and localbitcoins location added
1 parent bb78890 commit 7d1552f

8 files changed

+430
-36
lines changed

coinmap-icons.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,5 @@ var icon_transport_tram_stop = L.icon({iconUrl: 'icons/transport_tram_stop.n.24.
139139
var icon_transport_turning_circle = L.icon({iconUrl: 'icons/transport_turning_circle.n.24.png', iconSize: [24, 24] });
140140
var icon_transport_weir = L.icon({iconUrl: 'icons/transport_weir.n.24.png', iconSize: [24, 24] });
141141
var icon_transport_zebracrossing = L.icon({iconUrl: 'icons/transport_zebracrossing.n.24.png', iconSize: [24, 24] });
142-
var icon_local_bitcoins = L.icon({iconUrl:'icons/local_bitcoins.n.24.png', iconSize:[24,24]});
142+
var icon_local_bitcoins = L.icon({iconUrl:'icons/local_bitcoins.n.24.png', iconSize:[24,24]});
143+
var icon_zipzap = L.icon({iconUrl:'icons/zipzap.n.24.png', iconSize:[24, 24]});

icons/zipzap.n.24.png

1.52 KB
Loading
+251
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
Country Name;ISO 3166-1-alpha-2 code
2+
AFGHANISTAN;AF
3+
ÅLAND ISLANDS;AX
4+
ALBANIA;AL
5+
ALGERIA;DZ
6+
AMERICAN SAMOA;AS
7+
ANDORRA;AD
8+
ANGOLA;AO
9+
ANGUILLA;AI
10+
ANTARCTICA;AQ
11+
ANTIGUA AND BARBUDA;AG
12+
ARGENTINA;AR
13+
ARMENIA;AM
14+
ARUBA;AW
15+
AUSTRALIA;AU
16+
AUSTRIA;AT
17+
AZERBAIJAN;AZ
18+
BAHAMAS;BS
19+
BAHRAIN;BH
20+
BANGLADESH;BD
21+
BARBADOS;BB
22+
BELARUS;BY
23+
BELGIUM;BE
24+
BELIZE;BZ
25+
BENIN;BJ
26+
BERMUDA;BM
27+
BHUTAN;BT
28+
BOLIVIA;BO
29+
BONAIRE;BQ
30+
BOSNIA AND HERZEGOVINA;BA
31+
BOTSWANA;BW
32+
BOUVET ISLAND;BV
33+
BRAZIL;BR
34+
BRITISH INDIAN OCEAN TERRITORY;IO
35+
BRUNEI DARUSSALAM;BN
36+
BULGARIA;BG
37+
BURKINA FASO;BF
38+
BURUNDI;BI
39+
CAMBODIA;KH
40+
CAMEROON;CM
41+
CANADA;CA
42+
CAPE VERDE;CV
43+
CAYMAN ISLANDS;KY
44+
CENTRAL AFRICAN REPUBLIC;CF
45+
CHAD;TD
46+
CHILE;CL
47+
CHINA;CN
48+
CHRISTMAS ISLAND;CX
49+
COCOS (KEELING) ISLANDS;CC
50+
COLOMBIA;CO
51+
COMOROS;KM
52+
CONGO;CG
53+
CONGO;CD
54+
COOK ISLANDS;CK
55+
COSTA RICA;CR
56+
CÔTE D'IVOIRE;CI
57+
CROATIA;HR
58+
CUBA;CU
59+
CURAÇAO;CW
60+
CYPRUS;CY
61+
CZECH REPUBLIC;CZ
62+
DENMARK;DK
63+
DJIBOUTI;DJ
64+
DOMINICA;DM
65+
DOMINICAN REPUBLIC;DO
66+
ECUADOR;EC
67+
EGYPT;EG
68+
EL SALVADOR;SV
69+
EQUATORIAL GUINEA;GQ
70+
ERITREA;ER
71+
ESTONIA;EE
72+
ETHIOPIA;ET
73+
FALKLAND ISLANDS (MALVINAS);FK
74+
FAROE ISLANDS;FO
75+
FIJI;FJ
76+
FINLAND;FI
77+
FRANCE;FR
78+
FRENCH GUIANA;GF
79+
FRENCH POLYNESIA;PF
80+
FRENCH SOUTHERN TERRITORIES;TF
81+
GABON;GA
82+
GAMBIA;GM
83+
GEORGIA;GE
84+
GERMANY;DE
85+
GHANA;GH
86+
GIBRALTAR;GI
87+
GREECE;GR
88+
GREENLAND;GL
89+
GRENADA;GD
90+
GUADELOUPE;GP
91+
GUAM;GU
92+
GUATEMALA;GT
93+
GUERNSEY;GG
94+
GUINEA;GN
95+
GUINEA-BISSAU;GW
96+
GUYANA;GY
97+
HAITI;HT
98+
HEARD ISLAND AND MCDONALD ISLANDS;HM
99+
HOLY SEE (VATICAN CITY STATE);VA
100+
HONDURAS;HN
101+
HONG KONG;HK
102+
HUNGARY;HU
103+
ICELAND;IS
104+
INDIA;IN
105+
INDONESIA;ID
106+
IRAN;IR
107+
IRAQ;IQ
108+
IRELAND;IE
109+
ISLE OF MAN;IM
110+
ISRAEL;IL
111+
ITALY;IT
112+
JAMAICA;JM
113+
JAPAN;JP
114+
JERSEY;JE
115+
JORDAN;JO
116+
KAZAKHSTAN;KZ
117+
KENYA;KE
118+
KIRIBATI;KI
119+
KOREA;KP
120+
KOREA;KR
121+
KUWAIT;KW
122+
KYRGYZSTAN;KG
123+
LAO;LA
124+
LATVIA;LV
125+
LEBANON;LB
126+
LESOTHO;LS
127+
LIBERIA;LR
128+
LIBYA;LY
129+
LIECHTENSTEIN;LI
130+
LITHUANIA;LT
131+
LUXEMBOURG;LU
132+
MACAO;MO
133+
MACEDONIA;MK
134+
MADAGASCAR;MG
135+
MALAWI;MW
136+
MALAYSIA;MY
137+
MALDIVES;MV
138+
MALI;ML
139+
MALTA;MT
140+
MARSHALL ISLANDS;MH
141+
MARTINIQUE;MQ
142+
MAURITANIA;MR
143+
MAURITIUS;MU
144+
MAYOTTE;YT
145+
MEXICO;MX
146+
MICRONESIA;FM
147+
MOLDOVA;MD
148+
MONACO;MC
149+
MONGOLIA;MN
150+
MONTENEGRO;ME
151+
MONTSERRAT;MS
152+
MOROCCO;MA
153+
MOZAMBIQUE;MZ
154+
MYANMAR;MM
155+
NAMIBIA;NA
156+
NAURU;NR
157+
NEPAL;NP
158+
NETHERLANDS;NL
159+
NEW CALEDONIA;NC
160+
NEW ZEALAND;NZ
161+
NICARAGUA;NI
162+
NIGER;NE
163+
NIGERIA;NG
164+
NIUE;NU
165+
NORFOLK ISLAND;NF
166+
NORTHERN MARIANA ISLANDS;MP
167+
NORWAY;NO
168+
OMAN;OM
169+
PAKISTAN;PK
170+
PALAU;PW
171+
PALESTINE;PS
172+
PANAMA;PA
173+
PAPUA NEW GUINEA;PG
174+
PARAGUAY;PY
175+
PERU;PE
176+
PHILIPPINES;PH
177+
PITCAIRN;PN
178+
POLAND;PL
179+
PORTUGAL;PT
180+
PUERTO RICO;PR
181+
QATAR;QA
182+
RÉUNION;RE
183+
ROMANIA;RO
184+
RUSSIAN FEDERATION;RU
185+
RWANDA;RW
186+
SAINT BARTHÉLEMY;BL
187+
SAINT HELENA;SH
188+
SAINT KITTS AND NEVIS;KN
189+
SAINT LUCIA;LC
190+
SAINT MARTIN;MF
191+
SAINT PIERRE AND MIQUELON;PM
192+
SAINT VINCENT AND THE GRENADINES;VC
193+
SAMOA;WS
194+
SAN MARINO;SM
195+
SAO TOME AND PRINCIPE;ST
196+
SAUDI ARABIA;SA
197+
SENEGAL;SN
198+
SERBIA;RS
199+
SEYCHELLES;SC
200+
SIERRA LEONE;SL
201+
SINGAPORE;SG
202+
SINT MAARTEN;SX
203+
SLOVAKIA;SK
204+
SLOVENIA;SI
205+
SOLOMON ISLANDS;SB
206+
SOMALIA;SO
207+
SOUTH AFRICA;ZA
208+
SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS;GS
209+
SOUTH SUDAN;SS
210+
SPAIN;ES
211+
SRI LANKA;LK
212+
SUDAN;SD
213+
SURINAME;SR
214+
SVALBARD AND JAN MAYEN;SJ
215+
SWAZILAND;SZ
216+
SWEDEN;SE
217+
SWITZERLAND;CH
218+
SYRIAN ARAB REPUBLIC;SY
219+
TAIWAN;TW
220+
TAJIKISTAN;TJ
221+
TANZANIA;TZ
222+
THAILAND;TH
223+
TIMOR-LESTE;TL
224+
TOGO;TG
225+
TOKELAU;TK
226+
TONGA;TO
227+
TRINIDAD AND TOBAGO;TT
228+
TUNISIA;TN
229+
TURKEY;TR
230+
TURKMENISTAN;TM
231+
TURKS AND CAICOS ISLANDS;TC
232+
TUVALU;TV
233+
UGANDA;UG
234+
UKRAINE;UA
235+
UNITED ARAB EMIRATES;AE
236+
UNITED KINGDOM;GB
237+
UNITED STATES;US
238+
UNITED STATES MINOR OUTLYING ISLANDS;UM
239+
URUGUAY;UY
240+
UZBEKISTAN;UZ
241+
VANUATU;VU
242+
VENEZUELA;VE
243+
VIET NAM;VN
244+
VIRGIN ISLANDS;VG
245+
VIRGIN ISLANDS;VI
246+
WALLIS AND FUTUNA;WF
247+
WESTERN SAHARA;EH
248+
YEMEN;YE
249+
ZAMBIA;ZM
250+
ZIMBABWE;ZW
251+

lb/parser.py

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import public as local_bitcoins
2+
3+
country_codes_filename = 'lb/country_names_and_code_elements.csv'
4+
5+
6+
def get_country_codes():
7+
import csv
8+
code_to_name = {}
9+
with open(country_codes_filename, 'rb') as codes_file:
10+
reader = csv.reader(codes_file, delimiter=';')
11+
for row in reader:
12+
if len(row) == 2:
13+
code = row[1]
14+
name = row[0]
15+
code_to_name[code] = name
16+
return code_to_name
17+
18+
19+
def get_lb_country_codes():
20+
return local_bitcoins.countrycodes()
21+
22+
23+
def convert_lb_to_cm_element(data):
24+
e = data['data']
25+
j = {
26+
'id': e.get('profile', {}).get('id', '-1'),
27+
'lat': e.get('lat', None),
28+
'lon': e.get('lon', None),
29+
'type': 'node',
30+
'tags': {
31+
'payment:bitcoin': 'yes',
32+
'local_bitcoins': 'local_bitcoins',
33+
'addr:city': e.get('city', ''),
34+
'add:country': e.get('countrycode', ''),
35+
'contact:website': 'https://localbitcoins.com/accounts/profile/'
36+
+ e.get('profile', {}).get('username', '')
37+
},
38+
'website': 'http://localbitcoins.com'
39+
}
40+
return j
41+
42+
43+
def get_lb_points():
44+
lb_countrycodes = get_lb_country_codes()
45+
46+
if not lb_countrycodes:
47+
return []
48+
49+
code_to_name = get_country_codes()
50+
51+
result = {}
52+
for code in lb_countrycodes:
53+
country = code_to_name[code]
54+
55+
query = '%s,%s' % (country.decode('utf-8'), code)
56+
bl_data = local_bitcoins.get_local_sell_ads(query)
57+
for entry in bl_data:
58+
j = convert_lb_to_cm_element(entry)
59+
if j['id'] not in result:
60+
result[j['id']] = j
61+
return result.values()

refresh.py

+12-35
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import urllib2
55
import simplejson
66
import os
7-
from lb import public as locals
7+
from lb import parser as local_bitcoins_parser
8+
from zipzap import parser as zipzap_parser
89

910
icon_mapping = {
1011
'aeroway:aerodrome': 'transport_airport',
@@ -155,6 +156,7 @@
155156
'tourism:zoo': 'tourist_zoo',
156157
'traffic_calming:yes': 'transport_speedbump',
157158
'local_bitcoins:local_bitcoins': 'local_bitcoins',
159+
'zipzap:zipzap': 'zipzap'
158160
}
159161

160162
def determine_icon(tags):
@@ -239,40 +241,15 @@ def write_elements(f, e):
239241

240242
with open(scriptdir + '/coinmap-data.js', 'w') as f:
241243
f.write('function coinmap_populate(markers) {\n')
242-
# overpass
243-
for e in json['elements']:
244-
place = write_elements(f, e)
245-
if place:
246-
cnt += 1
247-
248-
# Bitcoin Locals
249-
elements = []
250-
251-
country_codes = locals.countrycodes()
252-
for country in country_codes:
253-
bl_data = locals.get_local_sell_ads(country)
254-
for entry in bl_data[:2]:
255-
e = entry['data']
256-
j = {
257-
'id': e.get('profile', {}).get('id', '-1'),
258-
'lat': e.get('lat', None),
259-
'lon': e.get('lon', None),
260-
'type': 'node',
261-
'tags': {
262-
'payment:bitcoin': 'yes',
263-
'local_bitcoins': 'local_bitcoins',
264-
'addr:city': e.get('city', ''),
265-
'add:country': e.get('countrycode', ''),
266-
'contact:website': 'https://localbitcoins.com/accounts/profile/'
267-
+ e.get('profile', {}).get('username', '')
268-
},
269-
'website': 'http://localbitcoins.com'
270-
}
271-
elements.append(j)
272-
273-
for e in elements:
274-
place = write_elements(f, e)
275-
if place:
244+
data_sources = [
245+
json['elements'],
246+
local_bitcoins_parser.get_lb_points(),
247+
zipzap_parser.get_zipzap_points()
248+
]
249+
for source in data_sources:
250+
for d in source:
251+
place = write_elements(f, d)
252+
if place:
276253
cnt += 1
277254

278255
f.write(' document.getElementById("count").innerHTML = "<b>%d</b>";\n' % cnt);

zipzap/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
__author__ = 'dwa'

0 commit comments

Comments
 (0)