Skip to content

Commit c9242ce

Browse files
pre-commit-ci[bot]blarghmatey
authored andcommitted
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
1 parent 5095c91 commit c9242ce

File tree

2 files changed

+19
-46
lines changed

2 files changed

+19
-46
lines changed

src/ol_orchestrate/definitions/edx/openedx_data_extract.py

Lines changed: 19 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,17 @@
11
from typing import Literal
22

3-
from dagster import (
4-
AssetSelection,
5-
Definitions,
6-
ScheduleDefinition,
7-
define_asset_job
8-
)
3+
from dagster import AssetSelection, Definitions, ScheduleDefinition, define_asset_job
94
from dagster_aws.s3 import S3Resource
105

11-
from ol_orchestrate.assets.edxorg_archive import (
12-
CourseListConfig,
6+
from ol_orchestrate.assets.openedx import (
137
course_list,
148
course_structure,
159
)
16-
1710
from ol_orchestrate.io_managers.filepath import (
1811
S3FileObjectIOManager,
1912
)
20-
from ol_orchestrate.jobs.open_edx import extract_open_edx_data_to_ol_data_platform
2113
from ol_orchestrate.lib.constants import DAGSTER_ENV, VAULT_ADDRESS
2214
from ol_orchestrate.resources.openedx import OpenEdxApiClient
23-
from ol_orchestrate.resources.outputs import DailyResultsDir
2415
from ol_orchestrate.resources.secrets.vault import Vault
2516

2617
if DAGSTER_ENV == "dev":
@@ -64,30 +55,6 @@ def open_edx_extract_job_config(
6455
}
6556

6657

67-
ol_extract_jobs = [
68-
extract_open_edx_data_to_ol_data_platform.to_job(
69-
resource_defs={
70-
"results_dir": DailyResultsDir(),
71-
"s3_upload": S3Resource(),
72-
"s3": S3Resource(),
73-
"openedx": OpenEdxApiClient.configure_at_launch(),
74-
},
75-
name=f"extract_{deployment}_open_edx_data_to_data_platform",
76-
config=open_edx_extract_job_config(deployment, DAGSTER_ENV), # type: ignore[arg-type]
77-
)
78-
for deployment in ("residential", "xpro", "mitxonline")
79-
]
80-
81-
openedx_data_extracts = Definitions(
82-
jobs=ol_extract_jobs,
83-
schedules=[
84-
ScheduleDefinition(
85-
name=f"{job.name}_nightly", cron_schedule="0 0 * * *", job=job
86-
)
87-
for job in ol_extract_jobs
88-
],
89-
)
90-
9158
def s3_uploads_bucket(
9259
dagster_env: Literal["dev", "qa", "production"],
9360
) -> dict[str, Any]:
@@ -101,6 +68,7 @@ def s3_uploads_bucket(
10168
}
10269
return bucket_map[dagster_env]
10370

71+
10472
def edxorg_data_archive_config(dagster_env):
10573
return {
10674
"ops": {
@@ -114,26 +82,35 @@ def edxorg_data_archive_config(dagster_env):
11482
}
11583

11684

117-
openedx_course_structures_job = extract_open_edx_data_to_ol_data_platform.to_job(
85+
openedx_course_structures_job = define_asset_job(
11886
name="extract_open_edx_data_to_ol_data_platform",
119-
config=edxorg_data_archive_config(DAGSTER_ENV),
120-
selection=AssetSelection.assets(CourseListConfig, course_list, course_structure),
87+
config=open_edx_extract_job_config(DAGSTER_ENV),
88+
selection=AssetSelection.assets(course_list).downstream(),
89+
# only include direct descendants
90+
depth=1,
91+
include_self=True,
12192
)
12293

94+
12395
retrieve_openedx_course_data = Definitions(
12496
resources={
125-
"s3": S3Resource(),
126-
"exports_dir": DailyResultsDir.configure_at_launch(),
127-
"s3file_io_manager": S3FileObjectIOManager(
97+
"io_manager": S3FileObjectIOManager(
12898
bucket=s3_uploads_bucket(DAGSTER_ENV)["bucket"],
12999
path_prefix=s3_uploads_bucket(DAGSTER_ENV)["prefix"],
130100
),
131101
"vault": vault,
102+
"openedx": OpenEdxApiClient.configure_at_launch(),
132103
},
133104
jobs=[openedx_course_structures_job],
134105
assets=[
135-
CourseListConfig,
136106
course_list,
137107
course_structure,
138108
],
109+
schedules=[
110+
ScheduleDefinition(
111+
name=f"{openedx_course_structures_job.name}_nightly",
112+
cron_schedule="0 0 * * *",
113+
job=openedx_course_structures_job,
114+
)
115+
],
139116
)

src/ol_orchestrate/jobs/open_edx.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
from dagster import graph
22

3-
from ol_orchestrate.assets.open_edx import (
4-
course_list,
5-
course_structure,
6-
)
73
from ol_orchestrate.lib.hooks import (
84
notify_healthchecks_io_on_failure,
95
notify_healthchecks_io_on_success,

0 commit comments

Comments
 (0)