arelle-release 2.37.38__py3-none-any.whl → 2.37.39__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arelle-release might be problematic. Click here for more details.
- arelle/_version.py +2 -2
- arelle/plugin/validate/ROS/ValidationPluginExtension.py +1 -0
- arelle/plugin/validate/ROS/rules/ros.py +37 -2
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/METADATA +1 -1
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/RECORD +9 -9
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/WHEEL +0 -0
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/entry_points.txt +0 -0
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/licenses/LICENSE.md +0 -0
- {arelle_release-2.37.38.dist-info → arelle_release-2.37.39.dist-info}/top_level.txt +0 -0
arelle/_version.py
CHANGED
|
@@ -10,6 +10,7 @@ from .PluginValidationDataExtension import PluginValidationDataExtension
|
|
|
10
10
|
|
|
11
11
|
_: TypeGetText
|
|
12
12
|
|
|
13
|
+
EQUITY = 'Equity'
|
|
13
14
|
IE_PROFIT_LOSS = 'ProfitLossBeforeTax'
|
|
14
15
|
IE_PROFIT_LOSS_ORDINARY = 'ProfitLossOnOrdinaryActivitiesBeforeTax'
|
|
15
16
|
PRINCIPAL_CURRENCY = 'PrincipalCurrencyUsedInBusinessReport'
|
|
@@ -25,8 +25,7 @@ from arelle.utils.validate.Validation import Validation
|
|
|
25
25
|
from arelle.ValidateXbrlCalcs import inferredDecimals, rangeValue
|
|
26
26
|
from arelle.XbrlConst import qnXbrliMonetaryItemType, qnXbrliXbrl, xhtml
|
|
27
27
|
from arelle.XmlValidateConst import VALID
|
|
28
|
-
from
|
|
29
|
-
from ..ValidationPluginExtension import IE_PROFIT_LOSS_ORDINARY, IE_PROFIT_LOSS, PRINCIPAL_CURRENCY, TURNOVER_REVENUE
|
|
28
|
+
from ..ValidationPluginExtension import EQUITY, PRINCIPAL_CURRENCY, TURNOVER_REVENUE
|
|
30
29
|
from ..PluginValidationDataExtension import MANDATORY_ELEMENTS, SCHEMA_PATTERNS, TR_NAMESPACES, PluginValidationDataExtension
|
|
31
30
|
|
|
32
31
|
|
|
@@ -293,6 +292,42 @@ def rule_main(
|
|
|
293
292
|
modelXbrl.modelManager.showStatus(None)
|
|
294
293
|
|
|
295
294
|
|
|
295
|
+
@validation(
|
|
296
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
297
|
+
)
|
|
298
|
+
def rule_ros19(
|
|
299
|
+
pluginData: PluginValidationDataExtension,
|
|
300
|
+
val: ValidateXbrl,
|
|
301
|
+
*args: Any,
|
|
302
|
+
**kwargs: Any,
|
|
303
|
+
) -> Iterable[Validation]:
|
|
304
|
+
"""
|
|
305
|
+
ROS: Rule 19: DPLTurnoverRevenue should be tested to be less than or equal to 10x the absolute value of Equity
|
|
306
|
+
"""
|
|
307
|
+
equity_facts = val.modelXbrl.factsByLocalName.get(EQUITY, set())
|
|
308
|
+
largest_equity_fact = None
|
|
309
|
+
for e_fact in equity_facts:
|
|
310
|
+
if e_fact.xValid >= VALID:
|
|
311
|
+
if largest_equity_fact is None or abs(int(e_fact.value)) > abs(int(largest_equity_fact.value)):
|
|
312
|
+
largest_equity_fact = e_fact
|
|
313
|
+
|
|
314
|
+
turnover_facts = val.modelXbrl.factsByLocalName.get(TURNOVER_REVENUE, set())
|
|
315
|
+
largest_turnover_fact = None
|
|
316
|
+
for t_fact in turnover_facts:
|
|
317
|
+
if t_fact.xValid >= VALID:
|
|
318
|
+
if largest_turnover_fact is None or int(t_fact.value) > int(largest_turnover_fact.value):
|
|
319
|
+
largest_turnover_fact = t_fact
|
|
320
|
+
|
|
321
|
+
if (largest_equity_fact is not None and
|
|
322
|
+
largest_turnover_fact is not None and
|
|
323
|
+
int(largest_turnover_fact.value) > (10 * abs(int(largest_equity_fact.value)))):
|
|
324
|
+
yield Validation.error(
|
|
325
|
+
"ROS.19",
|
|
326
|
+
_("Turnover / Revenue (DPLTurnoverRevenue) may exceed the maximum expected value. Please review the submission and, if correct, test your submission with Revenue Online's iXBRL test facility."),
|
|
327
|
+
modelObject=[largest_equity_fact, largest_turnover_fact],
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
|
|
296
331
|
@validation(
|
|
297
332
|
hook=ValidationHook.XBRL_FINALLY,
|
|
298
333
|
)
|
|
@@ -123,7 +123,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
|
|
|
123
123
|
arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
|
|
124
124
|
arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
|
|
125
125
|
arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
arelle/_version.py,sha256
|
|
126
|
+
arelle/_version.py,sha256=r_0jSFix09WvtM196e3Q0ANPKmHgpM8zKEpKooVgPf4,515
|
|
127
127
|
arelle/typing.py,sha256=PRe-Fxwr2SBqYYUVPCJ3E7ddDX0_oOISNdT5Q97EbRM,1246
|
|
128
128
|
arelle/api/Session.py,sha256=27HVuK3Bz1_21l4_RLn1IQg6v0MNsUEYrHajymyWwxI,7429
|
|
129
129
|
arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
|
|
@@ -436,12 +436,12 @@ arelle/plugin/validate/NL/rules/fr_nl.py,sha256=bKY3vLInnZFNwdGXp-sUTvjgRi3dK3n2
|
|
|
436
436
|
arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=l_pxjaj9kyFKl6uYYDHQghuzKxAUy_P8Lko7lbz-wJc,90189
|
|
437
437
|
arelle/plugin/validate/ROS/DisclosureSystems.py,sha256=rJ81mwQDYTi6JecFZ_zhqjjz3VNQRgjHNSh0wcQWAQE,18
|
|
438
438
|
arelle/plugin/validate/ROS/PluginValidationDataExtension.py,sha256=IV7ILhNvgKwQXqbpSA6HRNt9kEnejCyMADI3wyyIgk0,4036
|
|
439
|
-
arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=
|
|
439
|
+
arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=HrLoJWHMFjou3j7ro6Ajrcab1JOgi505ZFPEM5a3QOY,776
|
|
440
440
|
arelle/plugin/validate/ROS/__init__.py,sha256=KuWg1MHVzA2S6eaHFptvP3Vu_5gQWf3OUYC97clB7zI,2075
|
|
441
441
|
arelle/plugin/validate/ROS/config.xml,sha256=ZCpCFgr1ZAjoUuhb1eRpDnmKrae-sXA9yl6SOWnrfm8,654
|
|
442
442
|
arelle/plugin/validate/ROS/resources/config.xml,sha256=HXWume5HlrAqOx5AtiWWqgADbRatA8YSfm_JvZGwdgQ,657
|
|
443
443
|
arelle/plugin/validate/ROS/rules/__init__.py,sha256=wW7BUAIb7sRkOxC1Amc_ZKrz03FM-Qh1TyZe6wxYaAU,1567
|
|
444
|
-
arelle/plugin/validate/ROS/rules/ros.py,sha256=
|
|
444
|
+
arelle/plugin/validate/ROS/rules/ros.py,sha256=7qQbFezMKUkqxWlVBm3jpfSqxRVJe7u6xjVmjEzY29Q,19900
|
|
445
445
|
arelle/plugin/validate/UK/ValidateUK.py,sha256=0UhSwsY1lrY-EAEBJJR9QY38YXGBZ6PEgmuC5gQfBlI,57813
|
|
446
446
|
arelle/plugin/validate/UK/__init__.py,sha256=KE6s_B-EvrHDCtWQz2N_wQwyx_ZbWhYNV2GfQnluxMw,30655
|
|
447
447
|
arelle/plugin/validate/UK/config.xml,sha256=mUFhWDfBzGTn7v0ZSmf4HaweQTMJh_4ZcJmD9mzCHrA,1547
|
|
@@ -756,9 +756,9 @@ arelle/utils/validate/ValidationUtil.py,sha256=9vmSvShn-EdQy56dfesyV8JjSRVPj7txr
|
|
|
756
756
|
arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
757
757
|
arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
758
758
|
arelle/webserver/bottle.py,sha256=P-JECd9MCTNcxCnKoDUvGcoi03ezYVOgoWgv2_uH-6M,362
|
|
759
|
-
arelle_release-2.37.
|
|
760
|
-
arelle_release-2.37.
|
|
761
|
-
arelle_release-2.37.
|
|
762
|
-
arelle_release-2.37.
|
|
763
|
-
arelle_release-2.37.
|
|
764
|
-
arelle_release-2.37.
|
|
759
|
+
arelle_release-2.37.39.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
|
|
760
|
+
arelle_release-2.37.39.dist-info/METADATA,sha256=hVdJAj-D08jm9UeZR6I3A3qqSM0lvET-pRrRPNfdquk,9137
|
|
761
|
+
arelle_release-2.37.39.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
762
|
+
arelle_release-2.37.39.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
|
|
763
|
+
arelle_release-2.37.39.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
|
|
764
|
+
arelle_release-2.37.39.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|