From b984991cce19e02055a32c7f575269034e9959c0 Mon Sep 17 00:00:00 2001 From: acidburnmonkey Date: Thu, 7 Aug 2025 01:52:36 -0400 Subject: [PATCH] favicon added and ruff formatted --- mysite/settings.py | 1 - mysite/urls.py | 1 - mysite/views.py | 7 ++++--- static/favicon.ico | Bin 0 -> 189806 bytes templates/home.html | 1 + 5 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 static/favicon.ico diff --git a/mysite/settings.py b/mysite/settings.py index 01cfd5b..121a452 100644 --- a/mysite/settings.py +++ b/mysite/settings.py @@ -132,4 +132,3 @@ STATIC_ROOT = BASE_DIR / 'staticfiles' # https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' - diff --git a/mysite/urls.py b/mysite/urls.py index d805af0..b2e310c 100644 --- a/mysite/urls.py +++ b/mysite/urls.py @@ -8,4 +8,3 @@ urlpatterns = [ path('robots.txt/', robots), path('doxme/', Doxme.as_view()), ] - diff --git a/mysite/views.py b/mysite/views.py index 6e75e14..c0681cb 100644 --- a/mysite/views.py +++ b/mysite/views.py @@ -35,12 +35,13 @@ class Doxme(APIView): ipinfo_url = f'http://api.ipinfo.io/lite/{client_ip}?token={ipinfo_token}' ip_info = requests.get(ipinfo_url) - ipis_token = os.getenv('IPIS_TOKEN') ipis_url = f'https://api.ipapi.is?q={client_ip}&key={ipis_token}' ipis_info = requests.get(ipis_url) if ip_info.ok or ipis_info.ok: - print('ipinfo:',ip_info) - return Response({'method': 'get', 'ip_info': ip_info.json(),'ipis':ipis_info.json()}, status=status.HTTP_200_OK) + print('ipinfo:', ip_info) + return Response( + {'method': 'get', 'ip_info': ip_info.json(), 'ipis': ipis_info.json()}, status=status.HTTP_200_OK + ) return Response({'message': 'error at ipinfo'}, status=status.HTTP_400_BAD_REQUEST) diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e7afd3bab1143e677d1e18cea62d4a7ea3b14bae GIT binary patch literal 189806 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 + Who are you?