소스 검색

refactor(api): code style

Peter Thomassen 2 년 전
부모
커밋
08230ae45d
1개의 변경된 파일12개의 추가작업 그리고 16개의 파일을 삭제
  1. 12 16
      api/desecapi/views/dyndns.py

+ 12 - 16
api/desecapi/views/dyndns.py

@@ -36,25 +36,21 @@ class DynDNS12UpdateView(generics.GenericAPIView):
     def throttle_scope_bucket(self):
     def throttle_scope_bucket(self):
         return self.domain.name
         return self.domain.name
 
 
-    def _find_ip(self, params, version):
-        if version == 4:
-            look_for = "."
-        elif version == 6:
-            look_for = ":"
-        else:
-            raise Exception
-
+    def _find_ip(self, params, separator):
         # Check URL parameters
         # Check URL parameters
         for p in params:
         for p in params:
-            if p in self.request.query_params:
-                if not len(self.request.query_params[p]):
-                    return None
-                if look_for in self.request.query_params[p]:
-                    return self.request.query_params[p]
+            try:
+                param = self.request.query_params[p]
+            except KeyError:
+                continue
+            if not len(param):
+                return None
+            if separator in param:
+                return param
 
 
         # Check remote IP address
         # Check remote IP address
         client_ip = self.request.META.get("REMOTE_ADDR")
         client_ip = self.request.META.get("REMOTE_ADDR")
-        if look_for in client_ip:
+        if separator in client_ip:
             return client_ip
             return client_ip
 
 
         # give up
         # give up
@@ -140,8 +136,8 @@ class DynDNS12UpdateView(generics.GenericAPIView):
     def get(self, request, *args, **kwargs):
     def get(self, request, *args, **kwargs):
         instances = self.get_queryset().all()
         instances = self.get_queryset().all()
 
 
-        ipv4 = self._find_ip(["myip", "myipv4", "ip"], version=4)
-        ipv6 = self._find_ip(["myipv6", "ipv6", "myip", "ip"], version=6)
+        ipv4 = self._find_ip(["myip", "myipv4", "ip"], separator=".")
+        ipv6 = self._find_ip(["myipv6", "ipv6", "myip", "ip"], separator=":")
 
 
         data = [
         data = [
             {
             {