77from typing import TYPE_CHECKING
88
99import addonAPIVersion
10+ from buildVersion import version_year
1011
1112if TYPE_CHECKING :
12- from _addonStore .models .addon import SupportsVersionCheck # noqa: F401
13+ from _addonStore .models .version import SupportsVersionCheck # noqa: F401
14+
15+
16+ if version_year < 2024 :
17+ def _isAddonForceDisabled (addon : "SupportsVersionCheck" ) -> bool :
18+ from addonHandler import AddonBase as AddonHandlerModel
19+ from _addonStore .models .addon import _AddonManifestModel , _AddonStoreModel
20+ from _addonStore .models .version import MajorMinorPatch
21+ forceDisabledAddons = {
22+ "tonysEnhancements" : MajorMinorPatch (1 , 15 ),
23+ }
24+ if isinstance (addon , _AddonStoreModel ):
25+ addonVersion = addon .addonVersionNumber
26+ elif isinstance (addon , AddonHandlerModel ):
27+ addonVersion = MajorMinorPatch ._parseVersionFromVersionStr (addon .version )
28+ elif isinstance (addon , _AddonManifestModel ):
29+ addonVersion = MajorMinorPatch ._parseVersionFromVersionStr (addon .addonVersionName )
30+ else :
31+ raise NotImplementedError (f"Unexpected type for addon: { addon .name } , type: { type (addon )} " )
32+ return (
33+ addon .name in forceDisabledAddons
34+ and addonVersion <= forceDisabledAddons [addon .name ]
35+ )
1336
1437
1538def hasAddonGotRequiredSupport (
@@ -29,6 +52,9 @@ def isAddonTested(
2952 """True if this add-on is tested for the given API version.
3053 By default, the current version of NVDA is evaluated.
3154 """
55+ if version_year < 2024 :
56+ if _isAddonForceDisabled (addon ):
57+ return False
3258 return addon .lastTestedNVDAVersion >= backwardsCompatToVersion
3359
3460
0 commit comments