arelle-release 2.36.26__py3-none-any.whl → 2.36.27__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.

@@ -428,6 +428,9 @@ class ModelFact(ModelObject):
428
428
  # non-numeric fact at this point
429
429
  if len(val) == 0: # zero length string for HMRC fixed fact
430
430
  return "(reported)"
431
+ if self.xValid >= VALID and isinstance(self.xValue, str):
432
+ # Prefer the xs:whiteSpace normalized version of strings
433
+ return self.xValue
431
434
  return val
432
435
  except Exception as ex:
433
436
  return str(ex) # could be transform value of inline fact
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.36.26'
21
- __version_tuple__ = version_tuple = (2, 36, 26)
20
+ __version__ = version = '2.36.27'
21
+ __version_tuple__ = version_tuple = (2, 36, 27)
arelle/oim/Load.py CHANGED
@@ -1608,6 +1608,8 @@ def _loadFromOIM(cntlr, error, warning, modelXbrl, oimFile, mappedUri):
1608
1608
  (tableDimensions, "table dimension"),
1609
1609
  (reportDimensions, "report dimension")):
1610
1610
  for dimName, dimValue in inheritedDims.items():
1611
+ if dimSource.startswith("propertyGroup"):
1612
+ factDimensionPropGrpCol[dimName] = propGroupDimSource[dimName]
1611
1613
  if dimName not in colFactDims and dimName not in noValueDimNames:
1612
1614
  dimValue = inheritedDims[dimName]
1613
1615
  dimAttr = None
@@ -1651,8 +1653,6 @@ def _loadFromOIM(cntlr, error, warning, modelXbrl, oimFile, mappedUri):
1651
1653
  noValueDimNames.add(dimName)
1652
1654
  else:
1653
1655
  colFactDims[dimName] = dimValue
1654
- if dimSource.startswith("propertyGroup"):
1655
- factDimensionPropGrpCol[dimName] = propGroupDimSource[dimName]
1656
1656
  if factDecimals.get(colName) is not None:
1657
1657
  dimValue = factDecimals[colName]
1658
1658
  dimSource = "column decimals"
@@ -168,8 +168,8 @@ def checkFilingDTS(val: ValidateXbrl, modelDocument: ModelDocument, esefNotesCon
168
168
  narrowerConcept = widerNarrowerRelSet.toModelObject(modelConcept)
169
169
 
170
170
  # Transform the qname to str for the later join()
171
- widerTypes = set(r.toModelObject.typeQname for r in widerConcept)
172
- narrowerTypes = set(r.fromModelObject.typeQname for r in narrowerConcept)
171
+ widerTypes = set(r.toModelObject.typeQname for r in widerConcept if r.toModelObject is not None)
172
+ narrowerTypes = set(r.fromModelObject.typeQname for r in narrowerConcept if r.fromModelObject is not None)
173
173
 
174
174
  if (narrowerTypes and narrowerTypes != {modelConcept.typeQname}) or (widerTypes and widerTypes != {modelConcept.typeQname}):
175
175
  widerNarrowerType = "{} {}".format(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: arelle-release
3
- Version: 2.36.26
3
+ Version: 2.36.27
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License: Apache-2.0
@@ -37,7 +37,7 @@ arelle/Locale.py,sha256=su6qJg4eUzYveTbXt9X0i28fKTDpZKNUMdiFPQ0_DgY,33366
37
37
  arelle/ModelDocument.py,sha256=bP8WbSmBlk3ZxgrQxIfXMfU3Xjo7kgTtWZzxnCZvI88,129211
38
38
  arelle/ModelDtsObject.py,sha256=JXPRiFOsbB5tZjEDc6rECuUtXMbF4oxfnwrQvKo-i5U,88656
39
39
  arelle/ModelFormulaObject.py,sha256=beUSxEFm7aoa9iimmvXLYCHdizAtOmhDqk6wmvbc9Zg,122537
40
- arelle/ModelInstanceObject.py,sha256=2zU4-9fTqy_CYqLNhKHlnyZJRGAD-KL4qYlyGvdUTs4,73750
40
+ arelle/ModelInstanceObject.py,sha256=pAcwQBr85_fQCGT18JSOGGwzAZ3J-oWIU9sj9UUXLOk,73928
41
41
  arelle/ModelManager.py,sha256=1TflmGhni3ox_yTmZl5JKU_hGlVXmN-2q_Ncgh4h9A4,10926
42
42
  arelle/ModelObject.py,sha256=Rttkhv-PtfneZyDYsG5FDh98BzT97ameTmwNdqFaOv0,18657
43
43
  arelle/ModelObjectFactory.py,sha256=XuNF4Re3p00tODCdyspfar_DNCXfARqCaLEkntgAZ0g,8750
@@ -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=dY3rD7V0eRJAUAAGUEaX22NdlYsW1Q0wGbP9Xt4CXDs,515
126
+ arelle/_version.py,sha256=KK-jzMUiNZ-nw4JlDwy7wbO1_sQsynI1BXJTEqnnBqc,515
127
127
  arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
128
128
  arelle/api/Session.py,sha256=Vd09RAutWX7mxHSsrW7Bl8CsE1UzXpQpAJsZb55mqng,6188
129
129
  arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
@@ -294,7 +294,7 @@ arelle/model/CommentBase.py,sha256=NtC2lFd9Mt1y7kzWwrpvexwqBdfSe1nvGFiIJeio3rU,1
294
294
  arelle/model/ElementBase.py,sha256=pZX836d4-s-OvzPMUusvEDezI9D_6YKO7_j6iDcUXm4,404
295
295
  arelle/model/PIBase.py,sha256=easZ3pKXJ5wq3NFB2pDtBeXNDcjwMAXylpXz6mnumOg,257
296
296
  arelle/model/__init__.py,sha256=RLmC1rTus3T_2Vvnu3yHtdw1r0wrZCHZoqxe8BLg_wE,595
297
- arelle/oim/Load.py,sha256=fprawjYyT9dM-29teaoSEjRXOROfFK3rUOuXAHuNyk8,180222
297
+ arelle/oim/Load.py,sha256=3oQj7t9qkIqPkufN-M6Vri0tr_sVERGJl14OT6PQzww,180214
298
298
  arelle/oim/Validate.py,sha256=IaBClr2KYMiVC_GKYy4_A9gF7hcnm-lxXpQrDCqIWGs,9012
299
299
  arelle/oim/xml/Save.py,sha256=MdaJiGcEo4nbQCX9sRgWfVIoxp6fd2N-wuLiDAS9D-I,607
300
300
  arelle/packages/PackageConst.py,sha256=iIIF-Ic8zlMPiiCq3PcV57aWci6ispBtilSG4W7ZW4U,121
@@ -368,7 +368,7 @@ arelle/plugin/validate/ESEF/ESEF_2021/DTS.py,sha256=6Za7BANwwc_egxLCgbgWzwUGOXZv
368
368
  arelle/plugin/validate/ESEF/ESEF_2021/Image.py,sha256=4bnhuy5viBU0viPjb4FhcRRjVVKlNdnKLFdSGg3sZvs,4871
369
369
  arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py,sha256=6Sa9zBZb2IAO72dkX6hOobjPd-58LuOcuwVKlETQsaQ,62811
370
370
  arelle/plugin/validate/ESEF/ESEF_2021/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
371
- arelle/plugin/validate/ESEF/ESEF_Current/DTS.py,sha256=fM4kvCzELhiCLkBVXD6NzQVbpUNmWQrLsPgntF6zaSA,29270
371
+ arelle/plugin/validate/ESEF/ESEF_Current/DTS.py,sha256=epp-PBh1NJzQqgxUE6C468HmoDc2w3j54rMwfiOAry4,29334
372
372
  arelle/plugin/validate/ESEF/ESEF_Current/Image.py,sha256=w36sCTy8QbsuKABjkK6PTWce2A4zFN_rMnEM2wi5WEc,11364
373
373
  arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py,sha256=rSkL31NZiKQ65oQoJEeVYqSslBCG1tRJa59BhHlOKFo,73080
374
374
  arelle/plugin/validate/ESEF/ESEF_Current/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -726,7 +726,7 @@ tests/integration_tests/scripts/tests/python_api_query_model.py,sha256=Ut87tvE-h
726
726
  tests/integration_tests/scripts/tests/python_api_taxonomy_service.py,sha256=C6j7BB9h7CX_dUmVFkpnqElShffRSmCI-TMJkueztGM,2711
727
727
  tests/integration_tests/scripts/tests/python_api_validate_esef.py,sha256=Qzi2RRGWjkTVhAjBB18DeJ3X_M9hJYH1TAk7j_RVv5Q,2423
728
728
  tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest.sln,sha256=uzzvHUtKpmBPpoxdfHd7cCmAkdvjs7mMehO6YHebdTY,1499
729
- tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj,sha256=GXiIr1WHo74QjHb-5tmlfKdi6bxMeNqP0OAgoMSyfAE,1387
729
+ tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/ArelleGUITest.csproj,sha256=lYyFMaH5STiRA2Es4ThRdVgfXdFYK2PEMHwmd7V7At4,1387
730
730
  tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Tests.cs,sha256=_0TvabpERmrfaoDSazN-xQAH0qzO3cAnuFHLGLRJnGU,20334
731
731
  tests/integration_tests/ui_tests/ArelleGUITest/ArelleGUITest/Usings.cs,sha256=0IC7tQ27uAqlt8ZGBrJPK7BPj3kjiodPcHWB3v_JT-o,29
732
732
  tests/integration_tests/ui_tests/resources/workiva.zip,sha256=QtZzi1VcKkHhVa8J-I1wVpQFy-p6tsV95Z0HmI6XbXc,223544
@@ -743,7 +743,7 @@ tests/integration_tests/validation/validation_util.py,sha256=W5_NpjlqVKlmV8LGgzQ
743
743
  tests/integration_tests/validation/conformance_suite_configurations/cipc_current.py,sha256=qiCU5T4xf9nI0eB9UUOya8z4UF7DEcdmJO9mSJOhIY0,598
744
744
  tests/integration_tests/validation/conformance_suite_configurations/dba_current.py,sha256=etV7p8ulvZVzgPeCakfgU8sJkkqBemqv8fr7Yy3JvfE,831
745
745
  tests/integration_tests/validation/conformance_suite_configurations/dba_multi_current.py,sha256=HgedW76v8bsCIuiUJP0j41p5meYnHxClqh1-DQ_1q2w,793
746
- tests/integration_tests/validation/conformance_suite_configurations/efm_current.py,sha256=tfyvWka4Pxb559lvFq6rgzXv_KKk_-A7Hw--g3ONVto,1672
746
+ tests/integration_tests/validation/conformance_suite_configurations/efm_current.py,sha256=LoAuqV3uMiQSfgQ34c_T70ph3YT7py5nu10podbIFRM,1322
747
747
  tests/integration_tests/validation/conformance_suite_configurations/efm_reg_dqc.py,sha256=HiT8OcRAOVKLsl95Y91L66FeOsIMMMAQCs-DLMG-Lb0,739
748
748
  tests/integration_tests/validation/conformance_suite_configurations/efm_reg_pragmatic.py,sha256=U6dew0sIibjZe4r6na912qyIVAjxljh2HDix-8AwvhM,727
749
749
  tests/integration_tests/validation/conformance_suite_configurations/esef_ixbrl_2021.py,sha256=e7GZE8CWPRsD_pSfOJoKa77M_XA6QmqIm2rY3S6P4tM,1102
@@ -1510,7 +1510,7 @@ tests/resources/conformance_suites_expected/efm_current.csv,sha256=9YoKy-kYo_VAy
1510
1510
  tests/resources/conformance_suites_expected/efm_reg_dqc.csv,sha256=0CEItNnnEE_s8uGHA8CidxEVyvOiTCv5nAWpc4dCUmE,9968847
1511
1511
  tests/resources/conformance_suites_expected/efm_reg_pragmatic.csv,sha256=J_sDOjJGDjFnseMU7QIBttvvOjjnPp_WdmrCkjvCu4Y,196
1512
1512
  tests/resources/conformance_suites_timing/dba_current.json,sha256=e5jmGVDcPbaXDbHNK3RQz-_gsozU1dL_J0gcNDzHnjg,1467
1513
- tests/resources/conformance_suites_timing/efm_current.json,sha256=FSgV7GIf9dYk7Hb80meKum9mrUVGN8S5lYHXSnQIKfw,1074260
1513
+ tests/resources/conformance_suites_timing/efm_current.json,sha256=QyaFax_rnONGbGeGwCx-YUQifDp7Gws5csiDfjQuuFI,1105261
1514
1514
  tests/resources/conformance_suites_timing/efm_reg_dqc.json,sha256=4ry0JC8XA-8Bua2E75edknjxcL42Qj6nMZxvjCdW2uc,1708653
1515
1515
  tests/resources/conformance_suites_timing/esef_ixbrl_2021.json,sha256=3UBEba0PStPkAHgYZc6_WAH3_pBTGOpDNRQ0X1hxH74,26836
1516
1516
  tests/resources/conformance_suites_timing/esef_ixbrl_2022.json,sha256=1ifWHng_AENYMwug6h68pqK72EHk6nMq2ZLf7-U9Fh8,21740
@@ -1552,9 +1552,9 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
1552
1552
  tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
1553
1553
  tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
1554
1554
  tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
1555
- arelle_release-2.36.26.dist-info/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
1556
- arelle_release-2.36.26.dist-info/METADATA,sha256=PpBK1fSnvy1v0QdAYNaxTTSqZqfb7UR_6lKONwg47hk,9010
1557
- arelle_release-2.36.26.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
1558
- arelle_release-2.36.26.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1559
- arelle_release-2.36.26.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1560
- arelle_release-2.36.26.dist-info/RECORD,,
1555
+ arelle_release-2.36.27.dist-info/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
1556
+ arelle_release-2.36.27.dist-info/METADATA,sha256=h1D54IXAymwwmAytd4w-uoNt6wrgRDgcx9i7kBBE38k,9010
1557
+ arelle_release-2.36.27.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
1558
+ arelle_release-2.36.27.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
1559
+ arelle_release-2.36.27.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
1560
+ arelle_release-2.36.27.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (76.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -14,9 +14,9 @@
14
14
  <PackageReference Include="FlaUI.TestUtilities" Version="4.0.0" />
15
15
  <PackageReference Include="FlaUI.UIA3.Signed" Version="4.0.0" />
16
16
  <PackageReference Include="JUnitTestLogger" Version="1.1.0" />
17
- <PackageReference Include="JunitXml.TestLogger" Version="6.0.0" />
17
+ <PackageReference Include="JunitXml.TestLogger" Version="6.1.0" />
18
18
  <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
19
- <PackageReference Include="Microsoft.Windows.Compatibility" Version="9.0.2" />
19
+ <PackageReference Include="Microsoft.Windows.Compatibility" Version="9.0.3" />
20
20
  <PackageReference Include="NUnit" Version="4.3.2" />
21
21
  <PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
22
22
  <PackageReference Include="NUnit.Analyzers" Version="4.6.0">
@@ -6,7 +6,7 @@ from tests.integration_tests.validation.conformance_suite_config import (
6
6
  ConformanceSuiteConfig,
7
7
  )
8
8
 
9
- CONFORMANCE_SUITE_ZIP_NAME = 'efm-73d-250219.zip'
9
+ CONFORMANCE_SUITE_ZIP_NAME = 'efm-73-250317.zip'
10
10
 
11
11
  config = ConformanceSuiteConfig(
12
12
  additional_plugins_by_prefix=[(f'conf/{t}', frozenset({'EDGAR/render'})) for t in [
@@ -27,12 +27,7 @@ config = ConformanceSuiteConfig(
27
27
  source=AssetSource.S3_PUBLIC,
28
28
  )
29
29
  ],
30
- expected_failure_ids=frozenset(f'conf/{s}' for s in [
31
- # Test case failure due to EFM 25.1 running against prior conformance suite.
32
- # Failures are expected to be resolved with the release of the 25.1 conformance suite.
33
- "605-instance-syntax/605-20-required-document-elts/605-20-man/605-20-man-testcase.xml:_394gw",
34
- ]),
35
- cache_version_id='vdnIlAvzCgYXhM_5sm6pPDEZKtswihfA',
30
+ cache_version_id='D6XVsgj8noOk9wzCTX91wqwQFq68d0bi',
36
31
  info_url='https://www.sec.gov/structureddata/osdinteractivedatatestsuite',
37
32
  name=PurePath(__file__).stem,
38
33
  plugins=frozenset({