def render(self, context): self.code = Variable(self.code).resolve(context) if self.code == "UK": self.code = "GB" context[self.varname] = countryCodes.country_codes(self.code)['name'] return ''
def format_location(self): fields = [ "<a href='?query=country:\"%s\"'>%s</a>" % (self.country, unicode(country_codes(code=self.country)['name']) or ""), "<a href='?query=\"%s\"'>%s</a>" % (self.area1, self.area1), "<a href='?query=\"%s\"'>%s</a>" % (self.area2, self.area2), ] fields = [f for f in fields if f] return "<br />".join(fields)
def country_url(pattern, *args, **kwargs): """ Wrap url() with a URL that always prepends a list of countries (upper and lower case) """ countries = countryCodes.country_codes() # countries.extend([c.lower() for c in countries]) countries = "|".join(countries) return url(r'^(?i)(?P<country>%s)/%s' % (countries, pattern), *args, **kwargs)
def country(request): from django.conf import settings countryCode = request.META['PATH_INFO'].split('/')[1].upper() try: country = countryCodes.country_codes(countryCode) except ValueError: country = {'code' : ''} return {'country': country}
def ip_country(request): if request.session.get('ip_country', None) == None: try: timeout = 3 socket.setdefaulttimeout(timeout) ip = request.META.get('REMOTE_ADDR') req = urllib2.Request('http://gaze.mysociety.org/gaze-rest?f=get_country_from_ip&ip=%s' % ip) ip_country = urllib2.urlopen(req).read() if len(ip_country) == 1: raise ValueError if ip_country not in countryCodes.country_codes(): raise ValueError request.session['ip_country'] = ip_country except Exception, e: ip_country = countryCodes.country_codes()[random.randint(0,22)] request.session['ip_country'] = ip_country
def top_recipients(number, recipient_type=None, country=None, location=None): recipients = Recipient.objects.filter() if country == "EU": pass else: recipients = recipients.filter(country__exact=country) recipients = recipients.order_by('-amount') if country: country_name = countryCodes.country_codes(country) else: country_name = {'name' : "Europe", 'code' : 'EU'} return {'recipients' : recipients[:int(number)], 'country' : country_name}
def schemes(request, country=None, year=settings.DEFAULT_YEAR): if country: country = country.upper() top_schemes = Scheme.objects.top_schemes(country=country, year=year, limit=None) countries = countryCodes.country_codes() data_years = FishData.objects.country_years(country) return render_to_response( 'schemes.html', { 'schemes' : top_schemes, 'year' : int(year), 'data_years' : data_years, 'countries' : countries, # 'country' : country, }, context_instance=RequestContext(request) )
def code_to_name_dumb(code): return countryCodes.country_codes(code.upper())['name']
def menu(local='GB'): codes = countryCodes.country_codes() countries = SortedDict() for code in codes: countries[code] = countryCodes.country_codes(code)['name'] return {'codes' : countries}