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 ''
Example #2
0
 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)
Example #3
0
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}
Example #7
0
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}