e11sync

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | LICENSE

commit a7d1fd83ef3da3a3590fe55c61d6f7b69410669a (tree)
parent 762de74ffad73ab7863b3717a04e9b6a785b4186
Author: Motiejus Jakštys <motiejus@jakstys.lt>
Date:   Fri, 12 Jan 2024 07:43:04 +0200

add "city"

Diffstat:
Mapp/signup/admin.py | 4++--
Mapp/signup/models.py | 15+++++++--------
2 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/app/signup/admin.py b/app/signup/admin.py @@ -7,7 +7,7 @@ class SignupAdmin(admin.ModelAdmin): _all_fields = ["email", "created_at", "anonymized_ip", "user_agent"] date_hierarchy = "created_at" - list_display = ["email", "created_at", "anonymized_ip", "user_agent"] + ["country_code"] + list_display = ["email", "created_at", "anonymized_ip", "user_agent"] + ["place_name"] list_filter = ["email", "user_agent"] ordering = ["created_at"] - readonly_fields = _all_fields + ["country_name"] + readonly_fields = _all_fields + ["place_name"] diff --git a/app/signup/models.py b/app/signup/models.py @@ -17,14 +17,13 @@ class Signup(models.Model): def __str__(self): return self.email - def _country(self): + def _city(self): try: - return GeoIP2().country(self.anonymized_ip) + return GeoIP2().city(self.anonymized_ip) except geoip2.errors.AddressNotFoundError: - return {} + return None - def country_name(self): - return self._country().get("country_name", "??") - - def country_code(self): - return self._country().get("country_code", "??") + def place_name(self): + if city := self._city(): + return "{}, {}".format(city["city"], city["country_name"]) + return "??"