Skip to content

Commit 2294b8c

Browse files
Fix ReindexingReason parsing, fix FrozenInstanceError, update help messages (#310)
* Fix `ReindexingReason` parsing, update help messages * Fix `FrozenInstanceError`
1 parent 8bb301e commit 2294b8c

File tree

15 files changed

+167
-83
lines changed

15 files changed

+167
-83
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Changelog
22

3+
## [unreleased]
4+
5+
### Fixed
6+
7+
* context: Fixed reporting incorrect reindexing reason.
8+
* exceptions: Fixed crash with `FrozenInstanceError` when exception is raised from callback.
9+
10+
### Improved
11+
12+
* codegen: Refined `on_rollback` hook template.
13+
* exceptions: Updated help messages for known exceptions.
14+
315
## 5.0.1 - 2022-04-12
416

517
### Fixed
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
from dipdup.context import HookContext
2-
from dipdup.datasources.datasource import Datasource
2+
from dipdup.datasources.datasource import IndexDatasource
33
from dipdup.enums import ReindexingReason
44

55

66
async def on_rollback(
77
ctx: HookContext,
8-
datasource: Datasource,
8+
datasource: IndexDatasource,
99
from_level: int,
1010
to_level: int,
1111
) -> None:
1212
await ctx.execute_sql('on_rollback')
13-
await ctx.reindex(ReindexingReason.rollback)
13+
await ctx.reindex(
14+
ReindexingReason.rollback,
15+
datasource=datasource.name,
16+
from_level=from_level,
17+
to_level=to_level,
18+
)

src/dipdup/codegen.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,12 @@ async def _generate_callback(self, callback_config: CallbackMixin, sql: bool = F
376376
code.append(f"await ctx.execute_sql('{original_callback}')")
377377
if callback == 'on_rollback':
378378
imports.add('from dipdup.enums import ReindexingReason')
379-
code.append('await ctx.reindex(ReindexingReason.rollback)')
379+
code.append('await ctx.reindex(')
380+
code.append(' ReindexingReason.rollback,')
381+
code.append(' datasource=datasource.name,')
382+
code.append(' from_level=from_level,')
383+
code.append(' to_level=to_level,')
384+
code.append(')')
380385
else:
381386
code.append('...')
382387

src/dipdup/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1069,7 +1069,7 @@ def iter_imports(self, package: str) -> Iterator[Tuple[str, str]]:
10691069
'on_rollback': HookConfig(
10701070
callback='on_rollback',
10711071
args={
1072-
'datasource': 'dipdup.datasources.datasource.Datasource',
1072+
'datasource': 'dipdup.datasources.datasource.IndexDatasource',
10731073
'from_level': 'int',
10741074
'to_level': 'int',
10751075
},

0 commit comments

Comments
 (0)