Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
b51fbfc
feat(texas): Docket merger
MorganBennetDev Jan 29, 2026
98d326b
feat(texas): Update merge_texas_document to return MergeResult
MorganBennetDev Jan 29, 2026
6bc2fc2
feat(texas): Update mergers and tests to use MergeResult
MorganBennetDev Jan 29, 2026
d4ed9b0
Merge branch 'morgan/6590-texas-merger' into morgan/6730-texas-docket…
MorganBennetDev Feb 4, 2026
fcee6bf
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 4, 2026
8657460
feat(texas): Originating court merger
MorganBennetDev Feb 6, 2026
8e4aa74
test(texas): Update fuzzing to new schema
MorganBennetDev Feb 9, 2026
34f1b29
feat(texas): Finalize required merging logic
MorganBennetDev Feb 9, 2026
51ee74c
feat(texas): CaseTransfer merger
MorganBennetDev Feb 9, 2026
d831fda
feat(db): Update CaseTransfer to use text docket IDs
MorganBennetDev Feb 9, 2026
9e40ca5
tests(texas): Tests for CaseTransfer merger
MorganBennetDev Feb 10, 2026
9663338
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 10, 2026
70f263e
fix(texas): Bad DB migration
MorganBennetDev Feb 10, 2026
1f9c10f
test(texas): Fix AI nonsense
MorganBennetDev Feb 10, 2026
461b1d9
fix(texas): Fix errors in tests
MorganBennetDev Feb 10, 2026
a724d3d
fix(texas): Fix broken behavior
MorganBennetDev Feb 10, 2026
b912d33
test(texas): Docket merger test
MorganBennetDev Feb 10, 2026
b88f3d5
Merge branch 'morgan/6590-texas-merger' into morgan/6730-texas-docket…
MorganBennetDev Feb 10, 2026
86bba02
Merge branch 'morgan/6590-texas-merger' into morgan/6730-texas-docket…
MorganBennetDev Feb 10, 2026
cf5bb68
fix(texas): Lazy merge
MorganBennetDev Feb 10, 2026
8315259
feat(texas): Importer command
MorganBennetDev Feb 11, 2026
6100845
Merge branch 'morgan/6590-texas-merger' into morgan/6730-texas-docket…
MorganBennetDev Feb 11, 2026
76dbc35
feat(texas): Fully operational Texas merger command
MorganBennetDev Feb 12, 2026
2dbd021
chore(texas): Update Juriscraper
MorganBennetDev Feb 13, 2026
2b9d1f9
Merge branch 'morgan/6730-texas-docket-and-lower-court-merger' into m…
MorganBennetDev Feb 13, 2026
b1ce795
fix(texas): Timing logger
MorganBennetDev Feb 13, 2026
854bca1
chore(texas): Update Juriscraper again
MorganBennetDev Feb 13, 2026
610b3a5
fix(texas): Broken migrations
MorganBennetDev Feb 13, 2026
f631482
Merge branch 'morgan/6730-texas-docket-and-lower-court-merger' into m…
MorganBennetDev Feb 13, 2026
f71c989
fix(texas): Import test option and fixes
MorganBennetDev Feb 13, 2026
91b7d03
fix(texas): Make import command skip duplicates
MorganBennetDev Feb 13, 2026
acd54bd
fix(texas): Catch parsing exceptions during import
MorganBennetDev Feb 14, 2026
7ff1c23
fix(texas): Complete TODO tasks
MorganBennetDev Feb 17, 2026
ddb757f
fix(texas): Address some review comments
MorganBennetDev Feb 17, 2026
dd8a181
fix(texas): Broken assert in test
MorganBennetDev Feb 17, 2026
0dfb9b8
feat(texas): Set originating court judges
MorganBennetDev Feb 17, 2026
96c7d6c
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Feb 17, 2026
ebeed20
fix(texas): Missing return lint
MorganBennetDev Feb 17, 2026
3fa3963
fix(texas): Wrap async method in `async_to_sync`
MorganBennetDev Feb 17, 2026
f3235ca
feat(texas): Add logic to disaggregate dockets
MorganBennetDev Feb 17, 2026
b5a5013
feat(texas): Rate-limit PDF downloads
MorganBennetDev Feb 18, 2026
0263672
docs(texas): More documentation for case transfer merger
MorganBennetDev Feb 18, 2026
f0492df
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Feb 18, 2026
0cbc0ef
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Feb 19, 2026
76cc5fc
feat(texas): Generalized CaseTransfer merger
MorganBennetDev Feb 19, 2026
e125035
fix(texas): Remove duplicate migrations
MorganBennetDev Feb 19, 2026
6cb63eb
fix(texas): Test failures
MorganBennetDev Feb 19, 2026
6493568
chore(texas): More logging and transfer date fix
MorganBennetDev Feb 19, 2026
3693344
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Feb 20, 2026
d4f41bc
fix(texas): Address review comments
MorganBennetDev Feb 23, 2026
ee7e97a
fix(texas): Missing docket numbers
MorganBennetDev Feb 24, 2026
f1f23c2
feat(command): Add command to populate existing CaseTransfers
MorganBennetDev Feb 24, 2026
2305a6c
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
albertisfu Feb 24, 2026
54df36d
test(command): Add test for CaseTransfer population functionality
MorganBennetDev Feb 24, 2026
21f5f49
fix(texas): Address PR feedback
MorganBennetDev Feb 25, 2026
fe29010
fix(texas): Incorrect docket_number_core in find_docket_object for Texas
MorganBennetDev Feb 25, 2026
d984c83
fix(texas): Overly broad condition for making Texas docket numbers
MorganBennetDev Feb 25, 2026
37aa895
feat(texas): Add scraper source when merging dockets
MorganBennetDev Feb 26, 2026
94a5d73
fix(texas): Address PR feedback
MorganBennetDev Feb 27, 2026
e1942d7
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Mar 2, 2026
8b1fb23
Merge branch 'morgan/6730-texas-docket-and-lower-court-merger' into m…
MorganBennetDev Mar 2, 2026
b3cd9bd
Merge pull request #7027 from freelawproject/morgan/7001-casetransfer…
MorganBennetDev Mar 2, 2026
ff1ccee
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
albertisfu Mar 2, 2026
6fc4de7
fix(texas): Incorrect file filtering in import command and PR feedback
MorganBennetDev Mar 3, 2026
210087f
test(texas): Update factories to better model actual data
MorganBennetDev Mar 4, 2026
76702ed
test(texas): Add test for generate_texas_appellate_brief_flags
MorganBennetDev Mar 4, 2026
05d5fb0
fix(texas): Incorrect logs and appellate brief flag generation
MorganBennetDev Mar 4, 2026
eb6d9f9
fix(texas): Rename lower_court to court
MorganBennetDev Mar 4, 2026
f0a7c84
feat(texas): Make OCI match appeal_from
MorganBennetDev Mar 4, 2026
8c3ce8d
fix(texas): Missing case_name and case_name_full in Texas merger
MorganBennetDev Mar 5, 2026
81396e7
test(texas): Add test for empty attorney name from JS
MorganBennetDev Mar 5, 2026
05c9b09
fix(texas): Skip merging OCI for unknown lower court types
MorganBennetDev Mar 5, 2026
1b3d6e7
Merge branch 'morgan/trial-court-data' into morgan/6730-texas-docket-…
MorganBennetDev Mar 9, 2026
2c65d13
Merge branch 'morgan/trial-court-data' into morgan/6730-texas-docket-…
MorganBennetDev Mar 9, 2026
a73375b
feat(texas): Create merger for TrialCourtData model.
MorganBennetDev Mar 9, 2026
0c0b3ea
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Mar 9, 2026
4a3794b
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 9, 2026
088a6f7
Merge branch 'morgan/trial-court-data' into morgan/6730-texas-docket-…
MorganBennetDev Mar 10, 2026
c47f1d6
fix(texas): Flaky tests
MorganBennetDev Mar 10, 2026
bdeea87
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Mar 12, 2026
0e25c55
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 12, 2026
47ea1f0
feat(texas): Separate docket merging and attachment downloading by de…
MorganBennetDev Mar 12, 2026
120b60c
test(texas): Fix tests for download_attachments parameter and add opt…
MorganBennetDev Mar 13, 2026
877ab0e
fix(texas): Fix queryset lookup and Celery race condition in merger
MorganBennetDev Mar 13, 2026
cfc3af7
fix(texas): mypy error and add comment explaining reason
MorganBennetDev Mar 13, 2026
15e6f51
feat(texas): Add --only-extraction flag to document download command
MorganBennetDev Mar 13, 2026
f205da9
fix(texas): Address PR review
MorganBennetDev Mar 13, 2026
9c02534
refactor(texas): Lower nesting level and simplify logic in merge_texa…
MorganBennetDev Mar 13, 2026
62cfd9f
feat(texas): Add helper method to determine whether a docket has appe…
MorganBennetDev Mar 13, 2026
7e232c5
feat(admin): Add admin page for TrialCourtData model
MorganBennetDev Mar 13, 2026
32a99b9
fix(texas): mypy issue
MorganBennetDev Mar 13, 2026
0d2b5f6
fix(texas): mypy again
MorganBennetDev Mar 13, 2026
e4950c0
refactor(texas): General code cleanup
MorganBennetDev Mar 14, 2026
bf9a298
fix(texas): Restore DoesNotExist handler in merge_texas_docket_entry
MorganBennetDev Mar 16, 2026
d70c567
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
albertisfu Mar 16, 2026
eb5a3f1
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
MorganBennetDev Mar 17, 2026
607436c
fix(texas): Make sure description from appellate briefs is populated
MorganBennetDev Mar 17, 2026
d01b3d6
fix(texas): Add error log and be more cautious with lower courts
MorganBennetDev Mar 18, 2026
c8849e2
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
albertisfu Mar 18, 2026
4c35c80
fix(texas): Set appeal_from_str correctly and add test
MorganBennetDev Mar 18, 2026
cd3e959
Merge branch 'main' into morgan/6730-texas-docket-and-lower-court-merger
albertisfu Mar 18, 2026
06a61ab
Merge pull request #6862 from freelawproject/morgan/6730-texas-docket…
albertisfu Mar 18, 2026
4fc25c8
feat(texas): Always select smallest DN in multi-DN strings
MorganBennetDev Mar 18, 2026
80dcbba
Merge pull request #7118 from freelawproject/morgan/7031-texas-docket…
albertisfu Mar 19, 2026
8f7a662
Update freelawproject dependencies
grossir Mar 19, 2026
8fced09
Update freelawproject dependencies (#7119)
grossir Mar 19, 2026
c0b89ed
tests(stats): Mocks microservice in semantic search Prometheus test
ERosendo Mar 19, 2026
d3804b4
feat(simple_pages): update robots.txt to allow AI bots to access whit…
nadahlberg Mar 19, 2026
2aee8ae
feat(simple_pages): remove AppleBot and FacebookBot from AI bot rules
nadahlberg Mar 19, 2026
281b197
feat(simple_pages): group AI bot agents by type
nadahlberg Mar 19, 2026
a87c213
Merge pull request #7121 from freelawproject/update-robotstxt-for-ai-…
mlissner Mar 19, 2026
a657c48
style(help): use descendant selector for link color and fix tabnabbing
elisa-a-v Mar 19, 2026
40fdfe6
refactor(search): rename opinion ES index to case_law_index
albertisfu Mar 19, 2026
10a1538
Merge pull request #7127 from freelawproject/fix/help-index-link-colo…
elisa-a-v Mar 19, 2026
38d91d5
Merge branch 'main' into rename-es-case-law-index-20260319
albertisfu Mar 19, 2026
dab5422
Merge pull request #7128 from freelawproject/rename-es-case-law-index…
albertisfu Mar 19, 2026
65f14ff
Merge branch 'main' into fix-mock-microservice-in-prometheus-test
albertisfu Mar 19, 2026
ebf61ae
Update freelawproject dependencies
grossir Mar 20, 2026
7fbdfb1
Merge pull request #7132 from freelawproject/update-freelawproject-de…
grossir Mar 20, 2026
fa8cef9
Merge branch 'main' into fix-mock-microservice-in-prometheus-test
ERosendo Mar 21, 2026
68e42d1
Merge pull request #7120 from freelawproject/fix-mock-microservice-in…
albertisfu Mar 21, 2026
812e80a
Migrate to async juriscraper
ttys0dev Mar 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,7 @@ jobs:
cl/search/docket_number_cleaner.py \
cl/search/management/commands/clean_docket_number_raw.py \
cl/scrapers/management/commands/back_scrape_dockets.py \
cl/corpus_importer/management/commands/import_texas_dockets.py \
cl/corpus_importer/management/utils.py \
cl/lib/decorators.py \
cl/corpus_importer/management/commands/import_scotus_dockets.py
21 changes: 13 additions & 8 deletions cl/alerts/management/commands/handle_old_docket_alerts.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from argparse import RawTextHelpFormatter

from asgiref.sync import async_to_sync, sync_to_async
from django.conf import settings
from django.contrib.auth.models import User
from django.core.mail import EmailMultiAlternatives
Expand Down Expand Up @@ -78,7 +79,7 @@ def build_user_report(user, delete=False):
return report


def send_old_alert_warning_email_and_webhook(user, report) -> int:
async def send_old_alert_warning_email_and_webhook(user, report) -> int:
"""Send alerts emails and webhooks for old alerts

:param user: The user with terminated dockets
Expand All @@ -91,17 +92,21 @@ def send_old_alert_warning_email_and_webhook(user, report) -> int:
)
webhook_count = 0
if report.very_old_alerts or report.disabled_alerts:
for user_webhook in user_webhooks:
send_old_alerts_webhook_event(user_webhook, report)
async for user_webhook in user_webhooks:
await send_old_alerts_webhook_event(user_webhook, report)
webhook_count += 1

count = report.total_count()
subject_template = loader.get_template("emails/old_email_subject.txt")
subject = subject_template.render({"count": count}).strip()
txt = loader.get_template("emails/old_alert_email.txt").render(
txt = await sync_to_async(
loader.get_template("emails/old_alert_email.txt").render
)(
{"report_data": report},
)
html = loader.get_template("emails/old_alert_email.html").render(
html = await sync_to_async(
loader.get_template("emails/old_alert_email.html").render
)(
{"report_data": report},
)
msg = EmailMultiAlternatives(
Expand Down Expand Up @@ -174,9 +179,9 @@ def handle(self, *args, **options):
count = report.total_count()
if options["send_alerts"] and count > 0:
emails_sent += 1
webhooks_count = send_old_alert_warning_email_and_webhook(
user, report
)
webhooks_count = async_to_sync(
send_old_alert_warning_email_and_webhook
)(user, report)
webhooks_sent += webhooks_count

logger.info(
Expand Down
9 changes: 5 additions & 4 deletions cl/alerts/management/commands/monitor_pacer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import datetime
import time

from asgiref.sync import async_to_sync
from django.conf import settings
from django.core.mail import send_mail
from django.template import loader
Expand Down Expand Up @@ -48,12 +49,12 @@ def handle(self, *args, **options):
s = ProxyPacerSession(
username=settings.PACER_USERNAME, password=settings.PACER_PASSWORD
)
s.login()
async_to_sync(s.login)()
report = CaseQueryAdvancedBankruptcy("canb", s)
t1 = now()
while True:
query = "Pacific"
report.query(
async_to_sync(report.query)(
name_last=query,
filed_from=datetime.date(2019, 1, 28),
filed_to=datetime.date(2019, 1, 30),
Expand All @@ -66,7 +67,7 @@ def handle(self, *args, **options):
exit(0)

query = "PG&E"
report.query(
async_to_sync(report.query)(
name_last=query,
filed_from=datetime.date(2019, 1, 28),
filed_to=datetime.date(2019, 1, 30),
Expand All @@ -83,5 +84,5 @@ def handle(self, *args, **options):
min_login_frequency = 60 * 30 # thirty minutes
if (t2 - t1).seconds > min_login_frequency:
print("Logging in again.")
s.login()
async_to_sync(s.login)()
t1 = now()
25 changes: 13 additions & 12 deletions cl/api/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from typing import Any, TypedDict

import eyecite
from asgiref.sync import async_to_sync, sync_to_async
from dateutil import parser
from dateutil.rrule import DAILY, rrule
from django.conf import settings
Expand All @@ -25,7 +26,7 @@
from django.views.decorators.vary import vary_on_headers
from django_ratelimit.core import get_header
from eyecite.tokenizers import HyperscanTokenizer
from requests import Response
from httpx import Response
from rest_framework import serializers
from rest_framework.exceptions import Throttled, ValidationError
from rest_framework.metadata import SimpleMetadata
Expand Down Expand Up @@ -1185,7 +1186,7 @@ def get_next_webhook_retry_date(retry_counter: int) -> datetime:
WEBHOOK_MAX_RETRY_COUNTER = 7


def check_webhook_failure_count_and_notify(
async def check_webhook_failure_count_and_notify(
webhook_event: WebhookEvent,
) -> None:
"""Check if a Webhook needs to be disabled and/or send a notification about
Expand All @@ -1208,7 +1209,7 @@ def check_webhook_failure_count_and_notify(
6: False,
7: True, # Send webhook disabled notification
}
webhook = webhook_event.webhook
webhook = await Webhook.objects.aget(pk=webhook_event.webhook_id)
if not webhook.enabled or webhook_event.debug:
return

Expand All @@ -1218,33 +1219,33 @@ def check_webhook_failure_count_and_notify(
current_try_counter = webhook_event.retry_counter
notify = notify_on[current_try_counter]
if notify:
oldest_enqueued_for_retry = WebhookEvent.objects.filter(
webhook=webhook_event.webhook,
oldest_enqueued_for_retry = await WebhookEvent.objects.filter(
webhook=webhook,
event_status=WEBHOOK_EVENT_STATUS.ENQUEUED_RETRY,
debug=False,
).earliest("date_created")
).aearliest("date_created")
if current_try_counter >= WEBHOOK_MAX_RETRY_COUNTER:
webhook.enabled = False
update_fields.append("enabled")
update_fields.append("date_modified")
# If the parent webhook is disabled mark all current ENQUEUED_RETRY
# events as ENDPOINT_DISABLED
WebhookEvent.objects.filter(
webhook=webhook_event.webhook,
await WebhookEvent.objects.filter(
webhook=webhook,
event_status=WEBHOOK_EVENT_STATUS.ENQUEUED_RETRY,
debug=False,
).update(
).aupdate(
event_status=WEBHOOK_EVENT_STATUS.ENDPOINT_DISABLED,
date_modified=now(),
)
if oldest_enqueued_for_retry.pk == webhook_event.pk:
failure_counter = current_try_counter + 1
notify_failing_webhook.delay(
await sync_to_async(notify_failing_webhook.delay)(
webhook_event.pk, failure_counter, webhook.enabled
)

# Save webhook and avoid emailing admins via signal in cl.users.signals
webhook.save(update_fields=update_fields)
await webhook.asave(update_fields=update_fields)


def update_webhook_event_after_request(
Expand Down Expand Up @@ -1288,7 +1289,7 @@ def update_webhook_event_after_request(
if error is None:
error = ""
webhook_event.error_message = error
check_webhook_failure_count_and_notify(webhook_event)
async_to_sync(check_webhook_failure_count_and_notify)(webhook_event)
if webhook_event.retry_counter >= WEBHOOK_MAX_RETRY_COUNTER:
# If the webhook has reached the max retry counter, mark as failed
webhook_event.event_status = WEBHOOK_EVENT_STATUS.FAILED
Expand Down
19 changes: 11 additions & 8 deletions cl/api/webhooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
import random

import requests
from asgiref.sync import sync_to_async
from django.conf import settings
from django.contrib.auth.models import User
from elasticsearch_dsl.response import Response
from rest_framework.renderers import JSONRenderer

Expand Down Expand Up @@ -80,7 +82,7 @@ def send_webhook_event(
update_webhook_event_after_request(webhook_event, error=error_str)


def send_old_alerts_webhook_event(
async def send_old_alerts_webhook_event(
webhook: Webhook, report: OldAlertReport
) -> None:
"""Send webhook event for old alerts
Expand Down Expand Up @@ -115,14 +117,14 @@ def send_old_alerts_webhook_event(
post_content,
accepted_media_type="application/json;",
)
webhook_event = WebhookEvent.objects.create(
webhook_event = await WebhookEvent.objects.acreate(
webhook=webhook,
content=post_content,
)
send_webhook_event(webhook_event, json_bytes)
await sync_to_async(send_webhook_event)(webhook_event, json_bytes)


def send_recap_fetch_webhooks(fq: PacerFetchQueue) -> None:
async def send_recap_fetch_webhooks(fq: PacerFetchQueue) -> None:
"""Send webhook event for processed PacerFetchQueue objects.

:param fq: The PacerFetchQueue object related to the event.
Expand All @@ -137,10 +139,11 @@ def send_recap_fetch_webhooks(fq: PacerFetchQueue) -> None:
PROCESSING_STATUS.INVALID_CONTENT,
PROCESSING_STATUS.NEEDS_INFO,
]:
user_webhooks = fq.user.webhooks.filter(
user = await User.objects.aget(pk=fq.user_id)
user_webhooks = user.webhooks.filter(
event_type=WebhookEventType.RECAP_FETCH, enabled=True
)
for webhook in user_webhooks:
async for webhook in user_webhooks:
payload = PacerFetchQueueSerializer(fq).data
post_content = {
"webhook": generate_webhook_key_content(webhook),
Expand All @@ -151,11 +154,11 @@ def send_recap_fetch_webhooks(fq: PacerFetchQueue) -> None:
post_content,
accepted_media_type="application/json;",
)
webhook_event = WebhookEvent.objects.create(
webhook_event = await WebhookEvent.objects.acreate(
webhook=webhook,
content=post_content,
)
send_webhook_event(webhook_event, json_bytes)
await sync_to_async(send_webhook_event)(webhook_event, json_bytes)


def send_search_alert_webhook(
Expand Down
5 changes: 3 additions & 2 deletions cl/corpus_importer/bulk_utils.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from asgiref.sync import async_to_sync
from celery import chain

from cl.corpus_importer.tasks import get_pacer_doc_by_rd
Expand Down Expand Up @@ -45,7 +46,7 @@ def get_petitions(
session = ProxyPacerSession(
username=pacer_username, password=pacer_password
)
session.login()
async_to_sync(session.login)()
for i, rd_pk in enumerate(rds):
if i < options["offset"]:
i += 1
Expand All @@ -57,7 +58,7 @@ def get_petitions(
session = ProxyPacerSession(
username=pacer_username, password=pacer_password
)
session.login()
async_to_sync(session.login)()
logger.info(f"Sent {i} tasks to celery so far.")
logger.info("Doing row %s", i)
throttle.maybe_wait()
Expand Down
5 changes: 3 additions & 2 deletions cl/corpus_importer/management/commands/760_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import csv
import os

from asgiref.sync import async_to_sync
from celery.canvas import chain
from django.conf import settings

Expand Down Expand Up @@ -34,7 +35,7 @@ def get_dockets(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()
session_data = SessionData(session.cookies, session.proxy_address)
for i, row in enumerate(reader):
if i < options["offset"]:
Expand Down Expand Up @@ -101,7 +102,7 @@ def get_att_pages(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()
get_district_attachment_pages(
options=options, rd_pks=rd_pks, tag_names=[TAG], session=session
)
Expand Down
3 changes: 2 additions & 1 deletion cl/corpus_importer/management/commands/adelman_david.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import csv
import os

from asgiref.sync import async_to_sync
from celery.canvas import chain
from django.conf import settings

Expand Down Expand Up @@ -31,7 +32,7 @@ def download_dockets(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()
session_data = SessionData(session.cookies, session.proxy_address)
for i, row in enumerate(reader):
if i < options["offset"]:
Expand Down
9 changes: 5 additions & 4 deletions cl/corpus_importer/management/commands/buchwald_project.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import os
from argparse import RawTextHelpFormatter

from asgiref.sync import async_to_sync
from celery import chain
from django.conf import settings

Expand Down Expand Up @@ -36,7 +37,7 @@ def add_all_nysd_to_cl(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()

# IDs obtained by binary search of docket numbers on PACER website.
earliest_id = 405990
Expand All @@ -53,7 +54,7 @@ def add_all_nysd_to_cl(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()

throttle.maybe_wait()
logger.info("Doing pacer_case_id: %s", pacer_case_id)
Expand All @@ -72,7 +73,7 @@ def get_dockets(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()

buchwald_id = 450
ds = (
Expand All @@ -95,7 +96,7 @@ def get_dockets(options):
session = ProxyPacerSession(
username=PACER_USERNAME, password=PACER_PASSWORD
)
session.login()
async_to_sync(session.login)()

throttle.maybe_wait()
logger.info("%s: Doing docket with pk: %s", i, d.pk)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from datetime import date

import pandas as pd
from asgiref.sync import async_to_sync
from django.conf import settings
from juriscraper.pacer import ClaimsActivity

Expand Down Expand Up @@ -45,7 +46,7 @@ def query_and_parse_claims_activity(
}

s = ProxyPacerSession(username=PACER_USERNAME, password=PACER_PASSWORD)
s.login()
async_to_sync(s.login)()
for court_id in courts:
court = map_cl_to_pacer_id(court_id)
for alias, creditor_name in creditor_names.items():
Expand Down
Loading
Loading