Skip to content

Commit 7a3d1fa

Browse files
committed
refactor: CallbackManager의 다수의 메서드 이름을 개선
1 parent 0f0fd05 commit 7a3d1fa

3 files changed

Lines changed: 120 additions & 138 deletions

File tree

WebtoonScraper/scrapers/_helpers.py

Lines changed: 4 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ class ExtraInfoScraper:
2727

2828
def register(self, scraper: Scraper) -> None:
2929
# self.scraper = scraper
30-
scraper.callback_manager.register_callback("download_started", self.initializer)
31-
scraper.callback_manager.register_callback("download_ended", self.finalizer)
30+
scraper.callbacks.register("download_started", self.initializer)
31+
scraper.callbacks.register("download_ended", self.finalizer)
3232

3333
def unregister(self, scraper: Scraper) -> None:
34-
scraper.callback_manager.unregister_callback("download_started", self.initializer)
35-
scraper.callback_manager.unregister_callback("download_ended", self.finalizer)
34+
scraper.callbacks.remove("download_started", self.initializer)
35+
scraper.callbacks.remove("download_ended", self.finalizer)
3636

3737
def initializer(self, scraper: Scraper, webtoon_directory: Path):
3838
pass
@@ -211,81 +211,6 @@ class Callback(NamedTuple):
211211
use_task: bool | None = None
212212

213213

214-
def crate_default_callback(
215-
message: str | Callable | None = None,
216-
extra_context: dict | None = None,
217-
*,
218-
func: Callable | None = None,
219-
level: LogLevel = "info",
220-
progress_update: str | Callable | None = None,
221-
log_with_progress: bool = False,
222-
is_async: bool = False,
223-
use_task: bool = False,
224-
) -> Callback:
225-
if func is not None:
226-
return Callback(
227-
func,
228-
is_async=is_async,
229-
use_task=use_task,
230-
replace_default=False, # no-op
231-
)
232-
233-
if isinstance(level, str):
234-
level = logging._nameToLevel[level.upper()]
235-
236-
if is_async:
237-
async def log(**context): # type: ignore
238-
nonlocal extra_context
239-
extra_context = extra_context or {}
240-
241-
self = context["scraper"]
242-
if self.use_progress_bar and progress_update is not None:
243-
if isinstance(progress_update, str):
244-
log = progress_update.format(**context, **extra_context)
245-
else:
246-
log = await progress_update(**context, **extra_context)
247-
self.progress.update(self.progress_task_id, description=log)
248-
updated = True
249-
else:
250-
updated = False
251-
252-
if message is not None and (not updated or updated and log_with_progress):
253-
if isinstance(message, str):
254-
log = message.format(**context, **extra_context)
255-
else:
256-
log = await message(**context, **extra_context)
257-
logger.log(level, log)
258-
else:
259-
def log(**context):
260-
nonlocal extra_context
261-
extra_context = extra_context or {}
262-
263-
self = context["scraper"]
264-
if self.use_progress_bar and progress_update is not None:
265-
if isinstance(progress_update, str):
266-
log = progress_update.format(**context, **extra_context)
267-
else:
268-
log = progress_update(**context, **extra_context)
269-
self.progress.update(self.progress_task_id, description=log)
270-
updated = True
271-
else:
272-
updated = False
273-
274-
if message is not None and (not updated or updated and log_with_progress):
275-
if isinstance(message, str):
276-
log = message.format(**context, **extra_context)
277-
else:
278-
log = message(**context, **extra_context)
279-
logger.log(level, log)
280-
281-
return Callback(
282-
log,
283-
is_async=is_async,
284-
use_task=use_task,
285-
replace_default=False, # no-op
286-
)
287-
288-
289214
class BearerMixin:
290215
@property
291216
def bearer(self) -> str | None:

0 commit comments

Comments
 (0)