code: def location(self):
          
          if self._location:
              return self._location
  
          if self.ip != 'unknown':
              self._location = NetLocation(self.ip)
          else:
              self._location = NetLocation(None)
          if not self._location.countrycode and self.ip != 'unknown':
              # see if Tor is magic and knows more...
              d = self.controller.get_info_raw('ip-to-country/' + self.ip)
              d.addCallback(self._set_country)
              # ignore errors (e.g. "GeoIP Information not loaded")
              d.addErrback(lambda _: None)
          return self._location
docs: A NetLocation instance with some GeoIP or pygeoip information
          about location, asn, city (if available).