# Copyright: Ankitects Pty Ltd and contributors
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html

"""
Legacy support
"""

from __future__ import annotations

from typing import Any

import anki
import anki.sound
import anki.utils
import aqt
from aqt.theme import theme_manager

# Routines removed from pylib/
##########################################################################


def bodyClass(col, card) -> str:  # type: ignore
    print("bodyClass() deprecated")
    return theme_manager.body_classes_for_card_ord(card.ord)


def allSounds(text) -> list:  # type: ignore
    print("allSounds() deprecated")
    return aqt.mw.col.media._extract_filenames(text)


def stripSounds(text) -> str:  # type: ignore
    print("stripSounds() deprecated")
    return aqt.mw.col.media.strip_av_tags(text)


def fmtTimeSpan(
    time: Any,
    pad: Any = 0,
    point: Any = 0,
    short: Any = False,
    inTime: Any = False,
    unit: Any = 99,
) -> Any:
    print("fmtTimeSpan() has become col.format_timespan()")
    return aqt.mw.col.format_timespan(time)


def install_pylib_legacy() -> None:
    anki.utils.bodyClass = bodyClass  # type: ignore
    anki.utils.fmtTimeSpan = fmtTimeSpan  # type: ignore
    anki.sound._soundReg = r"\[sound:(.+?)\]"  # type: ignore
    anki.sound.allSounds = allSounds  # type: ignore
    anki.sound.stripSounds = stripSounds  # type: ignore
