Refactor to reduce lines

This commit is contained in:
2026-02-18 00:27:59 +00:00
parent a59a0b0329
commit 521692c458
6 changed files with 596 additions and 816 deletions

View File

@@ -108,6 +108,17 @@ def _safe_after_ts(raw) -> int:
return max(0, value)
def _request_scope(request, source: str = "GET"):
data = request.GET if str(source).upper() == "GET" else request.POST
service = _default_service(data.get("service"))
identifier = str(data.get("identifier") or "").strip()
person = None
person_id = data.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
return service, identifier, person
def _format_ts_label(ts_value: int) -> str:
try:
as_dt = datetime.fromtimestamp(int(ts_value) / 1000, tz=dt_timezone.utc)
@@ -2111,12 +2122,7 @@ class ComposeWorkspace(LoginRequiredMixin, View):
template_name = "pages/compose-workspace.html"
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = Person.objects.filter(id=person_id, user=request.user).first()
service, identifier, person = _request_scope(request, "GET")
limit = _safe_limit(request.GET.get("limit") or 40)
initial_widget_url = ""
@@ -2307,12 +2313,7 @@ class ComposePage(LoginRequiredMixin, View):
template_name = "pages/compose.html"
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return HttpResponseBadRequest("Missing contact identifier.")
@@ -2328,12 +2329,7 @@ class ComposePage(LoginRequiredMixin, View):
class ComposeWidget(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return HttpResponseBadRequest("Missing contact identifier.")
@@ -2361,12 +2357,7 @@ class ComposeWidget(LoginRequiredMixin, View):
class ComposeThread(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return HttpResponseBadRequest("Missing contact identifier.")
@@ -2565,12 +2556,7 @@ class ComposeHistorySync(LoginRequiredMixin, View):
return len(duplicate_ids)
def post(self, request):
service = _default_service(request.POST.get("service"))
identifier = str(request.POST.get("identifier") or "").strip()
person = None
person_id = request.POST.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "POST")
if not identifier and person is None:
return JsonResponse(
{
@@ -2737,8 +2723,7 @@ class ComposeHistorySync(LoginRequiredMixin, View):
class ComposeCancelSend(LoginRequiredMixin, View):
def post(self, request):
service = _default_service(request.POST.get("service"))
identifier = str(request.POST.get("identifier") or "").strip()
service, identifier, _ = _request_scope(request, "POST")
command_id = str(request.POST.get("command_id") or "").strip()
if not identifier:
return JsonResponse({"ok": False, "error": "missing_identifier"})
@@ -2842,12 +2827,7 @@ class ComposeMediaBlob(LoginRequiredMixin, View):
class ComposeDrafts(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return JsonResponse({"ok": False, "error": "Missing contact identifier."})
@@ -2908,12 +2888,7 @@ class ComposeDrafts(LoginRequiredMixin, View):
class ComposeSummary(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return JsonResponse({"ok": False, "error": "Missing contact identifier."})
@@ -2976,12 +2951,7 @@ class ComposeSummary(LoginRequiredMixin, View):
class ComposeQuickInsights(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return JsonResponse({"ok": False, "error": "Missing contact identifier."})
@@ -3097,12 +3067,7 @@ class ComposeQuickInsights(LoginRequiredMixin, View):
class ComposeEngagePreview(LoginRequiredMixin, View):
def get(self, request):
service = _default_service(request.GET.get("service"))
identifier = str(request.GET.get("identifier") or "").strip()
person = None
person_id = request.GET.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "GET")
if not identifier and person is None:
return JsonResponse({"ok": False, "error": "Missing contact identifier."})
@@ -3228,12 +3193,7 @@ class ComposeEngagePreview(LoginRequiredMixin, View):
class ComposeEngageSend(LoginRequiredMixin, View):
def post(self, request):
service = _default_service(request.POST.get("service"))
identifier = str(request.POST.get("identifier") or "").strip()
person = None
person_id = request.POST.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "POST")
if not identifier and person is None:
return JsonResponse({"ok": False, "error": "Missing contact identifier."})
@@ -3319,12 +3279,7 @@ class ComposeSend(LoginRequiredMixin, View):
return response
def post(self, request):
service = _default_service(request.POST.get("service"))
identifier = str(request.POST.get("identifier") or "").strip()
person = None
person_id = request.POST.get("person")
if person_id:
person = get_object_or_404(Person, id=person_id, user=request.user)
service, identifier, person = _request_scope(request, "POST")
render_mode = str(request.POST.get("render_mode") or "page").strip().lower()
if render_mode not in {"page", "widget"}:
render_mode = "page"

File diff suppressed because it is too large Load Diff