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 CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.37.38'
21
- __version_tuple__ = version_tuple = (2, 37, 38)
20
+ __version__ = version = '2.37.39'
21
+ __version_tuple__ = version_tuple = (2, 37, 39)
@@ -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 . import errorOnNegativeFact
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
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.38
3
+ Version: 2.37.39
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -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=-XXBu4KjzmMOb27ISFZtxgU868vA14VkfmOyupc5LJw,515
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=FBhEp8t396vGdvCbMEimfcxmGiGnhXMen-yVLWnkFaI,758
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=Vv7qKMmhBEuPu7y_g0sjiDLnm5VXXz6EVdzonJbCUtg,18436
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.38.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
760
- arelle_release-2.37.38.dist-info/METADATA,sha256=FHHaBwTHXeDmmnXHgmKzkl3Cs-Y8btdXUJCrodSOXSk,9137
761
- arelle_release-2.37.38.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
762
- arelle_release-2.37.38.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
763
- arelle_release-2.37.38.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
764
- arelle_release-2.37.38.dist-info/RECORD,,
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,,