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

Files changed (100) hide show
  1. arelle/CntlrCmdLine.py +5 -1
  2. arelle/ModelObjectFactory.py +18 -2
  3. arelle/_version.py +2 -2
  4. arelle/plugin/validate/EDINET/Constants.py +6 -0
  5. arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +134 -7
  6. arelle/plugin/validate/EDINET/Statement.py +139 -0
  7. arelle/plugin/validate/EDINET/rules/contexts.py +5 -10
  8. arelle/plugin/validate/EDINET/rules/edinet.py +89 -51
  9. arelle/plugin/validate/EDINET/rules/gfm.py +41 -0
  10. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/METADATA +3 -1
  11. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/RECORD +15 -99
  12. arelle/archive/CustomLogger.py +0 -43
  13. arelle/archive/LoadEFMvalidate.py +0 -32
  14. arelle/archive/LoadSavePreLbCsv.py +0 -26
  15. arelle/archive/LoadValidate.cs +0 -31
  16. arelle/archive/LoadValidate.py +0 -36
  17. arelle/archive/LoadValidateCmdLine.java +0 -69
  18. arelle/archive/LoadValidatePostedZip.java +0 -57
  19. arelle/archive/LoadValidateWebService.java +0 -34
  20. arelle/archive/SaveTableToExelle.py +0 -140
  21. arelle/archive/TR3toTR4.py +0 -88
  22. arelle/archive/plugin/ESEF_2022/__init__.py +0 -47
  23. arelle/archive/plugin/bigInstance.py +0 -394
  24. arelle/archive/plugin/cmdWebServerExtension.py +0 -43
  25. arelle/archive/plugin/crashTest.py +0 -38
  26. arelle/archive/plugin/functionsXmlCreation.py +0 -106
  27. arelle/archive/plugin/hello_i18n.pot +0 -26
  28. arelle/archive/plugin/hello_i18n.py +0 -32
  29. arelle/archive/plugin/importTestChild1.py +0 -21
  30. arelle/archive/plugin/importTestChild2.py +0 -22
  31. arelle/archive/plugin/importTestGrandchild1.py +0 -21
  32. arelle/archive/plugin/importTestGrandchild2.py +0 -21
  33. arelle/archive/plugin/importTestImported1.py +0 -23
  34. arelle/archive/plugin/importTestImported11.py +0 -22
  35. arelle/archive/plugin/importTestParent.py +0 -48
  36. arelle/archive/plugin/instanceInfo.py +0 -306
  37. arelle/archive/plugin/loadFromOIM-2018.py +0 -1282
  38. arelle/archive/plugin/locale/fr/LC_MESSAGES/hello_i18n.po +0 -25
  39. arelle/archive/plugin/objectmaker.py +0 -285
  40. arelle/archive/plugin/packagedImportTest/__init__.py +0 -47
  41. arelle/archive/plugin/packagedImportTest/importTestChild1.py +0 -21
  42. arelle/archive/plugin/packagedImportTest/importTestChild2.py +0 -22
  43. arelle/archive/plugin/packagedImportTest/importTestGrandchild1.py +0 -21
  44. arelle/archive/plugin/packagedImportTest/importTestGrandchild2.py +0 -21
  45. arelle/archive/plugin/packagedImportTest/importTestImported1.py +0 -24
  46. arelle/archive/plugin/packagedImportTest/importTestImported11.py +0 -21
  47. arelle/archive/plugin/packagedImportTest/subdir/importTestImported111.py +0 -21
  48. arelle/archive/plugin/packagedImportTest/subdir/subsubdir/importTestImported1111.py +0 -21
  49. arelle/archive/plugin/sakaCalendar.py +0 -215
  50. arelle/archive/plugin/saveInstanceInfoset.py +0 -121
  51. arelle/archive/plugin/sphinx/FormulaGenerator.py +0 -823
  52. arelle/archive/plugin/sphinx/SphinxContext.py +0 -404
  53. arelle/archive/plugin/sphinx/SphinxEvaluator.py +0 -783
  54. arelle/archive/plugin/sphinx/SphinxMethods.py +0 -1287
  55. arelle/archive/plugin/sphinx/SphinxParser.py +0 -1093
  56. arelle/archive/plugin/sphinx/SphinxValidator.py +0 -163
  57. arelle/archive/plugin/sphinx/US-GAAP Ratios Example.xsr +0 -52
  58. arelle/archive/plugin/sphinx/__init__.py +0 -285
  59. arelle/archive/plugin/streamingExtensions.py +0 -335
  60. arelle/archive/plugin/updateTableLB.py +0 -242
  61. arelle/archive/plugin/validate/SBRnl/CustomLoader.py +0 -19
  62. arelle/archive/plugin/validate/SBRnl/DTS.py +0 -305
  63. arelle/archive/plugin/validate/SBRnl/Dimensions.py +0 -357
  64. arelle/archive/plugin/validate/SBRnl/Document.py +0 -799
  65. arelle/archive/plugin/validate/SBRnl/Filing.py +0 -467
  66. arelle/archive/plugin/validate/SBRnl/__init__.py +0 -75
  67. arelle/archive/plugin/validate/SBRnl/config.xml +0 -26
  68. arelle/archive/plugin/validate/SBRnl/sbr-nl-taxonomies.xml +0 -754
  69. arelle/archive/plugin/validate/USBestPractices.py +0 -570
  70. arelle/archive/plugin/validate/USCorpAction.py +0 -557
  71. arelle/archive/plugin/validate/USSecTagging.py +0 -337
  72. arelle/archive/plugin/validate/XDC/__init__.py +0 -77
  73. arelle/archive/plugin/validate/XDC/config.xml +0 -20
  74. arelle/archive/plugin/validate/XFsyntax/__init__.py +0 -64
  75. arelle/archive/plugin/validate/XFsyntax/xf.py +0 -2227
  76. arelle/archive/plugin/validate/calc2.py +0 -536
  77. arelle/archive/plugin/validateSchemaLxml.py +0 -156
  78. arelle/archive/plugin/validateTableInfoset.py +0 -52
  79. arelle/archive/us-gaap-dei-docType-extraction-frm.xml +0 -90
  80. arelle/archive/us-gaap-dei-ratio-cash-frm.xml +0 -150
  81. arelle/examples/plugin/formulaSuiteConverter.py +0 -212
  82. arelle/examples/plugin/functionsCustom.py +0 -59
  83. arelle/examples/plugin/hello_dolly.py +0 -64
  84. arelle/examples/plugin/multi.py +0 -58
  85. arelle/examples/plugin/rssSaveOim.py +0 -96
  86. arelle/examples/plugin/validate/XYZ/DisclosureSystems.py +0 -2
  87. arelle/examples/plugin/validate/XYZ/PluginValidationDataExtension.py +0 -10
  88. arelle/examples/plugin/validate/XYZ/ValidationPluginExtension.py +0 -50
  89. arelle/examples/plugin/validate/XYZ/__init__.py +0 -75
  90. arelle/examples/plugin/validate/XYZ/resources/config.xml +0 -16
  91. arelle/examples/plugin/validate/XYZ/rules/__init__.py +0 -0
  92. arelle/examples/plugin/validate/XYZ/rules/rules01.py +0 -110
  93. arelle/examples/plugin/validate/XYZ/rules/rules02.py +0 -59
  94. arelle/scripts-macOS/startWebServer.command +0 -3
  95. arelle/scripts-unix/startWebServer.sh +0 -1
  96. arelle/scripts-windows/startWebServer.bat +0 -5
  97. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/WHEEL +0 -0
  98. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/entry_points.txt +0 -0
  99. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/licenses/LICENSE.md +0 -0
  100. {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/top_level.txt +0 -0
@@ -3,8 +3,10 @@ See COPYRIGHT.md for copyright information.
3
3
  """
4
4
  from __future__ import annotations
5
5
 
6
+ import os
6
7
  from collections import defaultdict
7
8
  from datetime import timedelta
9
+ from lxml.etree import XML, DTD
8
10
  from typing import Any, cast, Iterable
9
11
 
10
12
  import regex
@@ -28,6 +30,7 @@ from arelle.utils.validate.Validation import Validation
28
30
  from arelle.utils.validate.ValidationUtil import etreeIterWithDepth
29
31
  from ..DisclosureSystems import (DISCLOSURE_SYSTEM_EDINET)
30
32
  from ..PluginValidationDataExtension import PluginValidationDataExtension
33
+ from ..Constants import xhtmlDtdExtension
31
34
 
32
35
  _: TypeGetText
33
36
 
@@ -349,6 +352,44 @@ def rule_gfm_1_2_13(
349
352
  )
350
353
 
351
354
 
355
+ @validation(
356
+ hook=ValidationHook.XBRL_FINALLY,
357
+ disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
358
+ )
359
+ def rule_gfm_1_2_14(
360
+ pluginData: PluginValidationDataExtension,
361
+ val: ValidateXbrl,
362
+ *args: Any,
363
+ **kwargs: Any,
364
+ ) -> Iterable[Validation]:
365
+ """
366
+ EDINET.EC5700W: [GFM.1.2.14] The content of an element with a data type of nonnum:textBlockItemType is not well-formed XML
367
+ (a format that conforms to XML grammar, such as all start and end tags being paired, and the end tag of a nested tag not coming after the end tag of its parent tag, etc.).
368
+ Please modify it so that it is well-formed.
369
+ """
370
+ CDATApattern = regex.compile(r"<!\[CDATA\[(.+)\]\]")
371
+ dtd = DTD(os.path.join(val.modelXbrl.modelManager.cntlr.configDir, xhtmlDtdExtension))
372
+ htmlBodyTemplate = "<body><div>\n{0}\n</div></body>\n"
373
+ namedEntityPattern = regex.compile("&[_A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]"
374
+ r"[_\-\.:"
375
+ "\xB7A-Za-z0-9\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u0300-\u036F\u203F-\u2040]*;")
376
+ XMLpattern = regex.compile(r".*(<|&lt;|&#x3C;|&#60;)[A-Za-z_]+[A-Za-z0-9_:]*[^>]*(/>|>|&gt;|/&gt;).*", regex.DOTALL)
377
+
378
+ for fact in val.modelXbrl.facts:
379
+ concept = fact.concept
380
+ if not fact.isNil and concept is not None and concept.isTextBlock and XMLpattern.match(fact.value):
381
+ for xmlText in [fact.value] + CDATApattern.findall(fact.value):
382
+ xmlBodyWithoutEntities = htmlBodyTemplate.format(namedEntityPattern.sub("", xmlText).replace('&','&amp;'))
383
+ textblockXml = XML(xmlBodyWithoutEntities)
384
+ if not dtd.validate(textblockXml):
385
+ yield Validation.warning(
386
+ codes='EDINET.EC5700W.GFM.1.2.14',
387
+ msg=_('The content of an element with a data type of nonnum:textBlockItemType is not well-formed XML (a format that conforms to XML grammar, '
388
+ 'such as all start and end tags being in pairs, and the end tag of a nested tag not coming after the end tag of its parent tag). '
389
+ 'Correct the content so that it is well-formed.'),
390
+ modelObject = fact
391
+ )
392
+
352
393
 
353
394
  @validation(
354
395
  hook=ValidationHook.XBRL_FINALLY,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.47
3
+ Version: 2.37.49
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -50,7 +50,9 @@ Requires-Dist: PyMySQL==1.*; extra == "db"
50
50
  Requires-Dist: pyodbc<6,>=4; extra == "db"
51
51
  Requires-Dist: rdflib<8,>=5; extra == "db"
52
52
  Provides-Extra: efm
53
+ Requires-Dist: aniso8601==10.*; extra == "efm"
53
54
  Requires-Dist: holidays==0.*; extra == "efm"
55
+ Requires-Dist: Matplotlib==3.*; extra == "efm"
54
56
  Requires-Dist: pytz; extra == "efm"
55
57
  Provides-Extra: esef
56
58
  Requires-Dist: tinycss2==1.*; extra == "esef"
@@ -1,7 +1,7 @@
1
1
  arelle/Aspect.py,sha256=Pn9I91D1os1RTVj6htuxTfRzVMhmVDtrbKvV_zy9xMI,5470
2
2
  arelle/BetaFeatures.py,sha256=T_tPac-FiozHyYLCemt0RoHJ1JahUE71L-0tHmIRKpE,858
3
3
  arelle/Cntlr.py,sha256=nwE_qIQMTa5R3sr_dLP6s3srLhiEA5zDOqfas2pDxoA,31691
4
- arelle/CntlrCmdLine.py,sha256=BHph7DWV9m87i23btO1G7l9KFt9F1EnMsorKRY9NdG8,90348
4
+ arelle/CntlrCmdLine.py,sha256=LrlPhfCvOIrq7gKtAb4CMEWk4ofmjEVLyjHyUCYYPJg,90514
5
5
  arelle/CntlrComServer.py,sha256=h1KPf31uMbErpxTZn_iklDqUMGFgQnjZkFkFjd8gtLQ,1888
6
6
  arelle/CntlrProfiler.py,sha256=2VQJudiUhxryVypxjODx2ccP1-n60icTiWs5lSEokhQ,972
7
7
  arelle/CntlrQuickBooks.py,sha256=BMqd5nkNQOZyNFPefkTeWUUDCYNS6BQavaG8k1Lepu4,31543
@@ -42,7 +42,7 @@ arelle/ModelFormulaObject.py,sha256=-eb0lBYciEeAvvGduIs3AHGNGrxge9_0g1cVT6UUgvc,
42
42
  arelle/ModelInstanceObject.py,sha256=fUiDb6aS2ls0GkrVxxkPyZqEr-RI4qsGQJjKkAK2tUk,74246
43
43
  arelle/ModelManager.py,sha256=QUNcD2LC_YyyGFU8bFTSuzIGI1qpOK55KBlQ697Ep1I,11075
44
44
  arelle/ModelObject.py,sha256=Rttkhv-PtfneZyDYsG5FDh98BzT97ameTmwNdqFaOv0,18657
45
- arelle/ModelObjectFactory.py,sha256=XuNF4Re3p00tODCdyspfar_DNCXfARqCaLEkntgAZ0g,8750
45
+ arelle/ModelObjectFactory.py,sha256=0yEtkmyOmSjhUK1I4b3eINxtYKsysakntoWn4VAqLeg,9172
46
46
  arelle/ModelRelationshipSet.py,sha256=0ykYbdAxl-MxDOZlJ6f6yGzGQ6vqKFIimHrw0khxtjw,24811
47
47
  arelle/ModelRenderingObject.py,sha256=iPhSUlSBG-FLzAfIdUW06UZDgTCaZJ4K2mxvAtSe2BU,76021
48
48
  arelle/ModelRssItem.py,sha256=GzFkmluOlFsVcrxn9HAyOAcuE7rcHUOGkp4Q6F2IlT8,7713
@@ -125,78 +125,9 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
125
125
  arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
126
126
  arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
127
127
  arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- arelle/_version.py,sha256=xztzzCsSO6dI_xsGmGG8v1j6UZRVyDBfVwKeEk-vY9M,515
128
+ arelle/_version.py,sha256=Ee0guntzPFkQ3dVGjmJhql2UxZBI6xicDkHrMXRgOlk,515
129
129
  arelle/typing.py,sha256=PRe-Fxwr2SBqYYUVPCJ3E7ddDX0_oOISNdT5Q97EbRM,1246
130
130
  arelle/api/Session.py,sha256=27HVuK3Bz1_21l4_RLn1IQg6v0MNsUEYrHajymyWwxI,7429
131
- arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
132
- arelle/archive/LoadEFMvalidate.py,sha256=HR1ZJmOvWGUlWEsWd0tGCa2TTtZSNzeL6tgN1TFfrl0,986
133
- arelle/archive/LoadSavePreLbCsv.py,sha256=mekr1R6OE5d3xdUCZIVfSeolyet0HO8R6wsHnW4eyaA,767
134
- arelle/archive/LoadValidate.cs,sha256=C5nIDlGcgGKMmMJQ8MQ1Mxy1bEVVHlsL3mhN84Qp5XI,850
135
- arelle/archive/LoadValidate.py,sha256=WC8WneJY2bKbN1ALHdW7uQQ9_hnZH1Wqv7OPd8hJG2I,1235
136
- arelle/archive/LoadValidateCmdLine.java,sha256=UwuqFsD59z0QMlBL5MQiGnNWY0gRIs6ZEcqWXdxLG8s,2027
137
- arelle/archive/LoadValidatePostedZip.java,sha256=H4-uyJ24nrqwP4iYXzvoLBsG7_QYtbPExJhmEHGLSPU,1667
138
- arelle/archive/LoadValidateWebService.java,sha256=KOaN5BGxdwELNJ4vhtAoXO3K1x7rR6cbSFC8IfGhevY,971
139
- arelle/archive/SaveTableToExelle.py,sha256=fgaBQnY0yZj5-vzr00wpj1tglYKsB0xwwSB1Zhry6Zg,6590
140
- arelle/archive/TR3toTR4.py,sha256=piSKeRoO_AJ7RTfAmiELd9gytycSLGt7FVCeutl9VQY,3683
141
- arelle/archive/us-gaap-dei-docType-extraction-frm.xml,sha256=qvfWTxQF5d2WCmD4uGWkBT5t8ZilGt2tk8NIllNT-nQ,4887
142
- arelle/archive/us-gaap-dei-ratio-cash-frm.xml,sha256=yqLvimVpRclSFK0JkZD36znQZt9jYebwGxQ3HgrtMwE,8375
143
- arelle/archive/plugin/bigInstance.py,sha256=IFJkswAHZYDxKjc0nvx6OlDePYOmKVWZ3qRFJxJQuEQ,15905
144
- arelle/archive/plugin/cmdWebServerExtension.py,sha256=FXpW8zn1KkbufV0vrL7l2aWkDqOEjoSdFd-HYaTAttw,1431
145
- arelle/archive/plugin/crashTest.py,sha256=HWq29cgnAOFg7B2KTFsRjdZ38MDOi2hRSOubLH5Gxio,1224
146
- arelle/archive/plugin/functionsXmlCreation.py,sha256=OMyu4-nH7sW5H4AmqxZExFO6DAjqSeppWLr-wpkwUrk,4781
147
- arelle/archive/plugin/hello_i18n.pot,sha256=pRLe5Ge-bU81jVoTzzalMEWpD9GjGJ81hb70jejdcvU,665
148
- arelle/archive/plugin/hello_i18n.py,sha256=lXKTogx6y48Ksm-pqkaWwsj6Ny_Setgp6UROXJ6VNMc,1018
149
- arelle/archive/plugin/importTestChild1.py,sha256=SWouJCuEY5c5t9GHT69KdgMltjcVZc_bWA8rzNCXLVU,532
150
- arelle/archive/plugin/importTestChild2.py,sha256=63h43Ppo8OjD22xbNbziRLyMfQuDTCWmr-PPOzYZevM,601
151
- arelle/archive/plugin/importTestGrandchild1.py,sha256=C0Ps6QwNZyZ1ixBAq-yWFaAM0IGAnrN51AxmZVhzod4,564
152
- arelle/archive/plugin/importTestGrandchild2.py,sha256=SJOcH9nj3af7B4JvYTJCJEnblOvawygZ0mxaUomxG3g,553
153
- arelle/archive/plugin/importTestImported1.py,sha256=a3zUgQBvK5pD_-45Cu4LuQuM9ciOfdF4d5Sf3D4BMtI,660
154
- arelle/archive/plugin/importTestImported11.py,sha256=f1sJIWT-7SPPjyVe24txadBhJ-QvTqNiAKMVu1OAjG4,640
155
- arelle/archive/plugin/importTestParent.py,sha256=iqQNl_6FfxN8Cg6Jv6wolHDgvpRr_m3J_WDy7iRqW1o,1898
156
- arelle/archive/plugin/instanceInfo.py,sha256=IepzBZx7sg2oQu7o0qRmH2dm3c7g38bC-TMliYesUT0,16777
157
- arelle/archive/plugin/loadFromOIM-2018.py,sha256=nclJG6IXzo26jKInEtAGJP6-y928EUE8U7wJ7taZTzY,76435
158
- arelle/archive/plugin/objectmaker.py,sha256=oPxlHT1Qj09VoRCDU1-QYNmQ1ec_sGpG5xKJn1QrV84,13884
159
- arelle/archive/plugin/sakaCalendar.py,sha256=xlTgl1jb9MMrwNBVMPE0tbye1A9INJrQHhBb1Io1yKc,9278
160
- arelle/archive/plugin/saveInstanceInfoset.py,sha256=NU6Yiez1ZCo0jfxLNV_l6KXBAwXiIzcYoBhd1Msh9_s,5902
161
- arelle/archive/plugin/streamingExtensions.py,sha256=8Z7KqOsYIZIrzvC5bE7NM8ZIQjvloP31oLHPo_cgf9k,16472
162
- arelle/archive/plugin/updateTableLB.py,sha256=C5n_iFNyoYSGjJTrvkux5qNkUGyLqSznnYveInAMK3Q,13067
163
- arelle/archive/plugin/validateSchemaLxml.py,sha256=UzjwX-lVxn9sxHrb4NONOtezjvxO4drQI1WXOwh32Ug,8079
164
- arelle/archive/plugin/validateTableInfoset.py,sha256=wFZzmK3pas2zAGo6KNQaOkocSJg7OXLjLcd0QLh4kJs,2719
165
- arelle/archive/plugin/ESEF_2022/__init__.py,sha256=rbc2Lwuk_B3Gsp4XVOmZHYXVnT-aPVZn9toyXf198Uc,1624
166
- arelle/archive/plugin/locale/fr/LC_MESSAGES/hello_i18n.po,sha256=85XCd5eIjEMyOKORCczSlG2KmJwdf5VoCHRrX_Wdz6Y,690
167
- arelle/archive/plugin/packagedImportTest/__init__.py,sha256=N0asl5fTLvDtB4KOXcBNXu6osvh4CUquGJu0b8tz-ew,1726
168
- arelle/archive/plugin/packagedImportTest/importTestChild1.py,sha256=aIobvy30zQsCkjMd1rXKYAqZO1Q-HxRJWI4Vwfpdvt0,523
169
- arelle/archive/plugin/packagedImportTest/importTestChild2.py,sha256=Ae5XeMfl0U1qR6Pet9xxs7nSWvTIzmWHhRdhYAAGqsY,592
170
- arelle/archive/plugin/packagedImportTest/importTestGrandchild1.py,sha256=lrE50e-Y1EpCsEmqx8CRtR2R1MW54p7lYct9S9aywOM,540
171
- arelle/archive/plugin/packagedImportTest/importTestGrandchild2.py,sha256=94DJm7-EBsh1ckXfriVxCifxNpoRUMACU8d_qfDn5h4,540
172
- arelle/archive/plugin/packagedImportTest/importTestImported1.py,sha256=hj7sa7zHbIWl5pVkKeXDpMr5MCzIMxcLZh2Aw9-qWmk,673
173
- arelle/archive/plugin/packagedImportTest/importTestImported11.py,sha256=rUDYpJ8WxwTejHV1941B-OmKGaCqfW946Q6nsLMwQK0,547
174
- arelle/archive/plugin/packagedImportTest/subdir/importTestImported111.py,sha256=qWnN63FsazbASD1j1ieDcRvgBZRadQvca88tB6o7QTo,565
175
- arelle/archive/plugin/packagedImportTest/subdir/subsubdir/importTestImported1111.py,sha256=GCzaIDW2V0dzMcZARKtNWU2Ee-QEsN4f-WkJAJL5a4Y,572
176
- arelle/archive/plugin/sphinx/FormulaGenerator.py,sha256=ZodCD8aeRO-JtgT-3UmZudxgvqrNJanrpRmFgrWaLnM,38126
177
- arelle/archive/plugin/sphinx/SphinxContext.py,sha256=lQFo4ViAF4pvCOBXTseQ5HVfXVGUuDd2iBTodHkL1Ek,19516
178
- arelle/archive/plugin/sphinx/SphinxEvaluator.py,sha256=-LLiaOTjGp1sunRcZCTNqSU6eUrcdirjbQhpsbWRKFw,35742
179
- arelle/archive/plugin/sphinx/SphinxMethods.py,sha256=HeFlEZ28vpD_6IUt8Y39YrjGBTkOAC8NBHZ0sDhTHtk,49810
180
- arelle/archive/plugin/sphinx/SphinxParser.py,sha256=vJOu7crIi4hxC9HOWUgJzTBj_rni7ThBw5Fnk9dGSFI,48753
181
- arelle/archive/plugin/sphinx/SphinxValidator.py,sha256=-wg8QHKOHzs4DjQRSDRcAuKRGxWtsYStlrvIgi0Ud-w,8510
182
- arelle/archive/plugin/sphinx/US-GAAP Ratios Example.xsr,sha256=Xg8vvPGBVUzcegfzvfSolKy2b54WOc8oNs8uhcMtD74,1415
183
- arelle/archive/plugin/sphinx/__init__.py,sha256=1iBd3heR-tL2YhVltFkNZGSzdsoZ126TbkzzSZEAI3s,14425
184
- arelle/archive/plugin/validate/USBestPractices.py,sha256=6aDbqZGzZpfJzSXTACaJ_ZlZrxiVh7CYFqKs2LM8z9s,37672
185
- arelle/archive/plugin/validate/USCorpAction.py,sha256=yrhOl6-oyxFlF53fwk5Eq3eWtkZy54U90DuXMAt_Ux4,31361
186
- arelle/archive/plugin/validate/USSecTagging.py,sha256=nEdXmamySaxJA0mrcKTG5Q47Y1qwkYLh3vWwLIGXUu0,18563
187
- arelle/archive/plugin/validate/calc2.py,sha256=Ar2Vb6mrIjeAEyIcTWsvFVT2iXMkfFYaON0--213dkk,31467
188
- arelle/archive/plugin/validate/SBRnl/CustomLoader.py,sha256=43JQDv3i4pMluKdlEQJJgOpKzH691b5KfYpLlvJgPAw,1165
189
- arelle/archive/plugin/validate/SBRnl/DTS.py,sha256=1AHWzlzM3vsxJWZ4x3Rhsbna_1fquDqdwi5Loe4x-oc,19781
190
- arelle/archive/plugin/validate/SBRnl/Dimensions.py,sha256=I1XwRkJz95KbWH7wiJlBWJCeCvsmYCnFDi7OJy0Ukt8,21682
191
- arelle/archive/plugin/validate/SBRnl/Document.py,sha256=ppjwK1IdGqg4mbEVr9sOJmKSIyvMhq2bwlbGANO2k0g,59358
192
- arelle/archive/plugin/validate/SBRnl/Filing.py,sha256=72BIZqFNFOWnFMAMcVNCYX8AtRCIj7e58Kho3hiCK5Q,29571
193
- arelle/archive/plugin/validate/SBRnl/__init__.py,sha256=oP6BkOHkf-oEvu0gra6fW0pR3yDzvlm7yPnSkmfGHfc,2448
194
- arelle/archive/plugin/validate/SBRnl/config.xml,sha256=Ni4Y5unvQK382BZxuc9KdD3V5Bxp5t2QgZDkaP3dUek,940
195
- arelle/archive/plugin/validate/SBRnl/sbr-nl-taxonomies.xml,sha256=la4DliyRACGNGUXnjpVtoQxpf0jLpbyrvFKLYNqjw14,24212
196
- arelle/archive/plugin/validate/XDC/__init__.py,sha256=BgM5t9rxH_fuAvawF8PmTuLGc5Xd3AEPOcpHxxinn6E,3288
197
- arelle/archive/plugin/validate/XDC/config.xml,sha256=lU9f2BgDZb698zVfD_XjbS4xpOPxl1HUGOSCtqS-i70,637
198
- arelle/archive/plugin/validate/XFsyntax/__init__.py,sha256=f5D-jpD6iiJXM31PXQKXI-Y_ES4nyP_7W-8KQ99hLIE,2313
199
- arelle/archive/plugin/validate/XFsyntax/xf.py,sha256=WnhBqWKOYtl8LI-BzhU48uNCqgn4hkMfRwYtYFmxXkk,66728
200
131
  arelle/config/creationSoftwareNames.json,sha256=5MK7XUjfDJ9OpRCCHXeOErJ1SlTBZji4WEcEOdOacx0,3128
201
132
  arelle/config/disclosuresystems.xml,sha256=8lBSGCOuVsVxttmpqkPlURBzaiGpPm8b8aYtxKRsKnk,16617
202
133
  arelle/config/disclosuresystems.xsd,sha256=_b7Fy3-R4L7oVouwokSrUOtswjoas1yuCo4czKL7sKc,4212
@@ -215,19 +146,6 @@ arelle/config/xhtml1_1-strict-ix.dtd,sha256=qcZAFkndssIBRDlu3DzoKODBi6WzPb82XAev
215
146
  arelle/conformance/CSVTestcaseLoader.py,sha256=nWlRWcpFdPNfwiXpAzPX3w_zCPf8SCcEcy-wV-m7kF0,3493
216
147
  arelle/doc/messagesCatalog.xml,sha256=7j66ZzmbPh_W6-t3aAvWYq5oUk6Xj2BtCyBL4o_qssM,335579
217
148
  arelle/doc/messagesCatalog.xsd,sha256=bBILAsbw7x7ulIeycgLMFMrCpCXkyjA3Ny1qxuMAIls,1151
218
- arelle/examples/plugin/formulaSuiteConverter.py,sha256=zxYEItJQ32LdrgpFRRNwt7hIT8ah41T1f5gKITxzzJs,10074
219
- arelle/examples/plugin/functionsCustom.py,sha256=-IroFcZJ9NLqe9qH1S-v25GXzTSUZQU0iNQPReWMnuY,2546
220
- arelle/examples/plugin/hello_dolly.py,sha256=6mj85TlEt_C2y0vlfZ0_c3VeAcyog_lUz5dYLS9khe0,2458
221
- arelle/examples/plugin/multi.py,sha256=LPu4BB1wanejVJAT8thLpYIjv4kuCm7nPaGXezzW70s,1600
222
- arelle/examples/plugin/rssSaveOim.py,sha256=-6pMdjgrcvdKAiTIFK1qDj7El4HFXJIIuCnIna6RAI8,4297
223
- arelle/examples/plugin/validate/XYZ/DisclosureSystems.py,sha256=6HxGoe6ioXoRg_0-iDlzckfN3RgS6fJRWivElH1gLFI,72
224
- arelle/examples/plugin/validate/XYZ/PluginValidationDataExtension.py,sha256=JoaZ8wubDLTFJe7zbDnKham5vr6r3fOO1VzZ-LdMghY,235
225
- arelle/examples/plugin/validate/XYZ/ValidationPluginExtension.py,sha256=AAEko9mLTcRPwc4JG1fBkjvzuhBvDpn-tTctwrLLMPQ,1690
226
- arelle/examples/plugin/validate/XYZ/__init__.py,sha256=uReCvbrDPUlLRLJckOc1DdJsncNukxHRXZ3O5W0ay_A,2493
227
- arelle/examples/plugin/validate/XYZ/resources/config.xml,sha256=lcNWbfGMupREzaWRiuW49sCKmPL5llOtGQ5QZ_avQ0o,682
228
- arelle/examples/plugin/validate/XYZ/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
229
- arelle/examples/plugin/validate/XYZ/rules/rules01.py,sha256=jiAF70gKpnH8omtFZupX5vabhpa4Bz7LWjKHc1A5o2c,3279
230
- arelle/examples/plugin/validate/XYZ/rules/rules02.py,sha256=CqrLC0o3MxQb0BUweKy6NEBggoIc2PAcRplj_4BQq88,1834
231
149
  arelle/formula/FactAspectsCache.py,sha256=YKEVZSIfP0NRB7Vxweg3ylyxKIDSZMdaTrASjgeYrpw,2706
232
150
  arelle/formula/FormulaConsisAsser.py,sha256=hO4GZwozM5cGl1xTU6OwoF3LlaMxAEB5Oy0rJh7uyG0,7567
233
151
  arelle/formula/FormulaEvaluator.py,sha256=WKNyJz1Os9gsKedJXLNC9y9u11Ea4_JQ-RAI7gSFmPU,82600
@@ -394,22 +312,23 @@ arelle/plugin/validate/DBA/rules/tm.py,sha256=ui9oKBqlAForwkQ9kk9KBiUogTJE5pv1Rb
394
312
  arelle/plugin/validate/DBA/rules/tr.py,sha256=4TootFjl0HXsKZk1XNBCyj-vnjRs4lg35hfiz_b_4wU,14684
395
313
  arelle/plugin/validate/EBA/__init__.py,sha256=x3zXNcdSDJ3kHfL7kMs0Ve0Vs9oWbzNFVf1TK4Avmy8,45924
396
314
  arelle/plugin/validate/EBA/config.xml,sha256=37wMVUAObK-XEqakqD8zPNog20emYt4a_yfL1AKubF8,2022
397
- arelle/plugin/validate/EDINET/Constants.py,sha256=ENqevcx-d8ZMBbboxbbBnQpbyY-rzHX7_1SSuAaw75s,988
315
+ arelle/plugin/validate/EDINET/Constants.py,sha256=QgNO3ZcTfJPMIGogS4Xuyz2BtISJ_PxYP2GmNbshx8c,1136
398
316
  arelle/plugin/validate/EDINET/ControllerPluginData.py,sha256=PrEhllue_lh-sLeUy9w8I9XLMLgpo5eW-c7ZKgNyGLE,6256
399
317
  arelle/plugin/validate/EDINET/DisclosureSystems.py,sha256=3rKG42Eg-17Xx_KXU_V5yHW6I3LTwQunvf4a44C9k_4,36
400
318
  arelle/plugin/validate/EDINET/InstanceType.py,sha256=aLKb4-AJ6nDZKMOLCp7u08E9VD64ExeZy9_oGth-LTk,3207
401
319
  arelle/plugin/validate/EDINET/ManifestInstance.py,sha256=SkQV-aOsYn3CTgCkH4IXNdM3QKoiz8okwb29ftMtV3Q,6882
402
- arelle/plugin/validate/EDINET/PluginValidationDataExtension.py,sha256=A_iJox9SEWCsSWwhlno6I3VUysdAhFrtsMSNO9CcJ7c,5508
320
+ arelle/plugin/validate/EDINET/PluginValidationDataExtension.py,sha256=3EhtXN_7q3SBgqiHNzuGwlEe-yT4x1hL1t1jtZG9cYE,10983
321
+ arelle/plugin/validate/EDINET/Statement.py,sha256=0Mw5IB7LMtvUZ-2xKZfxmq67xF_dCgJo3eNLweLFRHU,9350
403
322
  arelle/plugin/validate/EDINET/UploadContents.py,sha256=L0u5171cLBKX7NT-_szRqOfkiy4Gv1xPsfpPVgPhtu0,409
404
323
  arelle/plugin/validate/EDINET/ValidationPluginExtension.py,sha256=oMY0ntLr1qIh3uMi1W_M-bT5bhXPDx048X3oDFP5zOY,2042
405
324
  arelle/plugin/validate/EDINET/__init__.py,sha256=OZ7gMknCHd0M-9nt8UOmjEZW50YQzbvSLongr9O7Yi0,3022
406
325
  arelle/plugin/validate/EDINET/resources/config.xml,sha256=7uT4GcRgk5veMLpFhPPQJxbGKiQvM52P8EMrjn0qd0g,646
407
326
  arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml,sha256=997I3RGTLg5OY3vn5hQxVFAAxOmDSOYpuyQe6VnWSY0,16285
408
327
  arelle/plugin/validate/EDINET/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
- arelle/plugin/validate/EDINET/rules/contexts.py,sha256=feNqSFhfOxPeV0jpSdmwULtY-__eimHtclVKtCyrLZg,7715
410
- arelle/plugin/validate/EDINET/rules/edinet.py,sha256=2PP47pJDz1jgZ4FcWS6fcBU6NIL2Paj37tBjy17FoKk,9827
328
+ arelle/plugin/validate/EDINET/rules/contexts.py,sha256=anmkmrrb8kSZRYhrgkh1dlZC1rpCgCtJqZ2TnsBMP5s,7458
329
+ arelle/plugin/validate/EDINET/rules/edinet.py,sha256=pgTmG32uEG8dDPVaBIYE_wN-hKV5AFZL0_wB11L0xHQ,11733
411
330
  arelle/plugin/validate/EDINET/rules/frta.py,sha256=N0YglHYZuLD2IuwE26viR2ViwUYjneBuMFU9vlrS0aQ,7616
412
- arelle/plugin/validate/EDINET/rules/gfm.py,sha256=4EKMho6eX-Ygl8yMBVabHQpbC-wxMvi067ubN9mp27U,21982
331
+ arelle/plugin/validate/EDINET/rules/gfm.py,sha256=udaGzYmKiCudXGE7yA_ej-Tcs3JDaUxHbR87ZITUPLA,24568
413
332
  arelle/plugin/validate/EDINET/rules/manifests.py,sha256=MoT9R_a4BzuYdQVbF7RC5wz134Ve68svSdJ3NlpO_AU,4026
414
333
  arelle/plugin/validate/EDINET/rules/upload.py,sha256=k1o12K_vMN2N5bAXPxLRwyKjghoOGrgfLijE_j_5ilQ,19811
415
334
  arelle/plugin/validate/ESEF/Const.py,sha256=JujF_XV-_TNsxjGbF-8SQS4OOZIcJ8zhCMnr-C1O5Ho,22660
@@ -745,9 +664,6 @@ arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html,sha256=ycs11OSP
745
664
  arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll,sha256=R-Xf_J9tYjTe4pZEN6FaOEy9mQ73lMjRzrOdBk-n3C4,197120
746
665
  arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl,sha256=tmkATyDWsKAA3NgvlNGhOOdTWdBD91X1BgAHmybd_lY,151
747
666
  arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl,sha256=JrSZRngZFHtw8Svpzl68AVoffCuzzqG0zs3Zxe8UUoM,24094
748
- arelle/scripts-macOS/startWebServer.command,sha256=KXLSwAwchDZBlL-k9PYXdf39RNBtte4vV076_kIz2Ow,91
749
- arelle/scripts-unix/startWebServer.sh,sha256=_0puRzaGkdMZoFn3R7hDti9a3ryN6kTZAXwLweeZU1s,42
750
- arelle/scripts-windows/startWebServer.bat,sha256=qmnF1yrjNo__bi4QodONWlN0qHShVLTKptJQYyZtgcY,122
751
667
  arelle/utils/Contexts.py,sha256=j9uSBAXGkunlJGC9SscCbb1cj3oU_J3b_yjdhj2B4a4,1714
752
668
  arelle/utils/EntryPointDetection.py,sha256=4RzercL0xE4PJrwoeUYq3S-E7PMSD-IspyS9bwK2RYM,4722
753
669
  arelle/utils/Equivalence.py,sha256=Ac6sENvh-WHJlBJneV_-6n_MF2C1filHETkUEiucLJg,525
@@ -764,9 +680,9 @@ arelle/utils/validate/ValidationUtil.py,sha256=9vmSvShn-EdQy56dfesyV8JjSRVPj7txr
764
680
  arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
765
681
  arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
766
682
  arelle/webserver/bottle.py,sha256=P-JECd9MCTNcxCnKoDUvGcoi03ezYVOgoWgv2_uH-6M,362
767
- arelle_release-2.37.47.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
768
- arelle_release-2.37.47.dist-info/METADATA,sha256=YqUy_T7g_QnlcZG9bw4jw9RKuriEGVtBnn_vkEqrdnw,9137
769
- arelle_release-2.37.47.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
770
- arelle_release-2.37.47.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
771
- arelle_release-2.37.47.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
772
- arelle_release-2.37.47.dist-info/RECORD,,
683
+ arelle_release-2.37.49.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
684
+ arelle_release-2.37.49.dist-info/METADATA,sha256=l7IqnpMRntF6T7qKQ6jhMMGggWKen61_a-bAVs7PI6Y,9231
685
+ arelle_release-2.37.49.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
686
+ arelle_release-2.37.49.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
687
+ arelle_release-2.37.49.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
688
+ arelle_release-2.37.49.dist-info/RECORD,,
@@ -1,43 +0,0 @@
1
- '''
2
- This module is an example Arelle controller in non-interactive mode
3
-
4
- See COPYRIGHT.md for copyright information.
5
- '''
6
- from __future__ import print_function
7
- from arelle import Cntlr
8
- from arelle.ValidateXbrlCalcs import ValidateCalcsMode
9
-
10
- class CntlrCustomLoggingExample(Cntlr.Cntlr):
11
-
12
- def __init__(self):
13
- # no logFileName parameter to prevent default logger from starting
14
- super().__init__()
15
-
16
- def run(self):
17
- # start custom logger
18
- CustomLogHandler(self)
19
-
20
- modelXbrl = self.modelManager.load("c:\\temp\\test.xbrl")
21
-
22
- self.modelManager.validateCalcs = ValidateCalcsMode.XBRL_v2_1
23
-
24
- self.modelManager.validate()
25
-
26
- self.modelManager.close()
27
-
28
- self.close()
29
-
30
- import logging
31
- class CustomLogHandler(logging.Handler):
32
- def __init__(self, cntlr):
33
- logger = logging.getLogger("arelle")
34
- self.level = logging.DEBUG
35
- self.setFormatter(logging.Formatter("[%(messageCode)s] %(message)s - %(file)s %(sourceLine)s"))
36
- logger.addHandler(self)
37
-
38
- def emit(self, logRecord):
39
- # just print to standard output (e.g., terminal window)
40
- print(self.format(logRecord))
41
-
42
- if __name__ == "__main__":
43
- CntlrCustomLoggingExample().run()
@@ -1,32 +0,0 @@
1
- '''
2
- This module is an example Arelle controller in non-interactive mode
3
-
4
- See COPYRIGHT.md for copyright information.
5
- '''
6
- from arelle import Cntlr
7
- from arelle.ValidateXbrlCalcs import ValidateCalcsMode
8
-
9
- class CntlrEfmValidateExample(Cntlr.Cntlr):
10
-
11
- def __init__(self):
12
- super().__init__(logFileName="c:\\temp\\test-log.txt")
13
-
14
- def run(self):
15
- # select SEC Edgar Filer Manual validation before validation (causes file name and contents checking
16
- self.modelManager.validateDisclosureSystem = True
17
- self.modelManager.disclosureSystem.select("efm")
18
-
19
- modelXbrl = self.modelManager.load("c:\\temp\\test.xbrl")
20
-
21
- self.modelManager.validateCalcs = ValidateCalcsMode.XBRL_v2_1
22
-
23
- # perfrom XBRL 2.1, dimensions, calculation and SEC EFM validation
24
- self.modelManager.validate()
25
-
26
- # close the loaded instance
27
- self.modelManager.close()
28
-
29
- self.close()
30
-
31
- if __name__ == "__main__":
32
- CntlrEfmValidateExample().run()
@@ -1,26 +0,0 @@
1
- '''
2
- This module is an example Arelle controller in non-interactive mode
3
-
4
- See COPYRIGHT.md for copyright information.
5
- '''
6
- from arelle import Cntlr
7
- from arelle.ViewCsvRelationshipSet import viewRelationshipSet
8
-
9
- class CntlrCsvPreLbExample(Cntlr.Cntlr):
10
-
11
- def __init__(self):
12
- super().__init__(logFileName="c:\\temp\\test-log.txt")
13
-
14
- def run(self):
15
- modelXbrl = self.modelManager.load("c:\\temp\\test.xbrl")
16
-
17
- # output presentation linkbase tree as a csv file
18
- viewRelationshipSet(modelXbrl, "c:\\temp\\test-pre.csv", "Presentation", "http://www.xbrl.org/2003/arcrole/parent-child")
19
-
20
- # close the loaded instance
21
- self.modelManager.close()
22
-
23
- self.close()
24
-
25
- if __name__ == "__main__":
26
- CntlrCsvPreLbExample().run()
@@ -1,31 +0,0 @@
1
- using System;
2
- using System.Collections.Generic;
3
- using System.Linq;
4
- using System.Text;
5
- using System.Net;
6
- using System.IO;
7
- using System.Diagnostics;
8
-
9
- namespace ArelleCsharpProject
10
- {
11
- class LoadValidate
12
- {
13
- static void Main(string[] args)
14
- {
15
- string restAPIstr =
16
- "http://localhost:8080/rest/xbrl/" +
17
- "C:/Users/John%20Doe/Samples/instance0010000.xbrl" +
18
- "/validation/xbrl?media=text";
19
-
20
- HttpWebRequest req = WebRequest.Create(restAPIstr) as HttpWebRequest;
21
-
22
- string line;
23
- using (HttpWebResponse resp = req.GetResponse() as HttpWebResponse)
24
- {
25
- StreamReader reader = new StreamReader(resp.GetResponseStream());
26
- while ((line = reader.ReadLine()) != null)
27
- Debug.WriteLine(line);
28
- }
29
- }
30
- }
31
- }
@@ -1,36 +0,0 @@
1
- '''
2
- This module is an example Arelle controller in non-interactive mode
3
-
4
- See COPYRIGHT.md for copyright information.
5
- '''
6
- from arelle import Cntlr
7
- from arelle.ValidateXbrlCalcs import ValidateCalcsMode
8
-
9
- # this is the controller class
10
- class CntlrValidateExample(Cntlr.Cntlr):
11
-
12
- # init sets up the default controller for logging to a file (instead of to terminal window)
13
- def __init__(self):
14
- # initialize superclass with default file logger
15
- super().__init__(logFileName="c:\\temp\\test-log.txt", logFileMode="w")
16
-
17
- def run(self):
18
- # create the modelXbrl by load instance and discover DTS
19
- modelXbrl = self.modelManager.load("c:\\temp\\test.xbrl")
20
-
21
- # select validation of calculation linkbase using infer decimals option
22
- self.modelManager.validateCalcs = ValidateCalcsMode.XBRL_v2_1
23
-
24
- # perfrom XBRL 2.1, dimensions, calculation
25
- self.modelManager.validate()
26
-
27
- # close the loaded instance
28
- self.modelManager.close()
29
-
30
- # close controller and application
31
- self.close()
32
-
33
- # if python is initiated as a main program, start the controller
34
- if __name__ == "__main__":
35
- # create the controller and start it running
36
- CntlrValidateExample().run()
@@ -1,69 +0,0 @@
1
- import java.io.BufferedInputStream;
2
- import java.io.BufferedReader;
3
- import java.io.IOException;
4
- import java.io.InputStream;
5
- import java.io.InputStreamReader;
6
-
7
- public class LoadValidateCmdLine {
8
- public static void main(String[] args) throws IOException {
9
- Runtime r = Runtime.getRuntime();
10
- String arelleExe = "\"C:\\Program Files\\Arelle\\arelleCmdLine.exe\"";
11
- // XDG_CONFIG_HOME is optional, when omitted it defaults to "~/.config"
12
- String arelleXdgConfigHome = "C:\\Users\\hermfi~1\\appdir\\local";
13
- String fileBase = "C:\\Users\\John Doe\\samples\\";
14
- String [] fileNames = {
15
- "instance0000010.xml",
16
- "instance0010000.xml"
17
- //"instance0020000.xml",
18
- //"instance0040000.xml",
19
- //"instance0060000.xml",
20
- //"instance0080000.xml",
21
- //"instance0100000.xml",
22
- //"instance0120000.xml",
23
- //"instance0165000.xml"
24
- };
25
- for (String fileName : fileNames) {
26
- try {
27
- System.out.println("File: " + fileName);
28
- String cmdLine =
29
- arelleExe +
30
- " --file " +
31
- "\"" + fileBase + fileName + "\"" +
32
- " -v";
33
- System.out.println("CmdLine: " + cmdLine);
34
- String[] envp = new String[1];
35
- // XDG_CONFIG_HOME is optional, defaults to "~/.config"
36
- envp[0] = "XDG_CONFIG_HOME=" + arelleXdgConfigHome;
37
- Process p = r.exec(cmdLine, envp);
38
- InputStream in = p.getInputStream();
39
- BufferedInputStream buf = new BufferedInputStream(in);
40
- InputStreamReader inread = new InputStreamReader(buf);
41
- BufferedReader br = new BufferedReader(inread);
42
-
43
- String line;
44
- while ((line = br.readLine()) != null) {
45
- System.out.println(line);
46
- }
47
- try {
48
- if (p.waitFor() != 0) {
49
- System.err.println("exit value = " + p.exitValue());
50
- }
51
- }
52
- catch (InterruptedException e) {
53
- System.err.println(e);
54
- }
55
- finally {
56
- // Close the InputStream
57
- br.close();
58
- inread.close();
59
- buf.close();
60
- in.close();
61
- }
62
- }
63
- catch (IOException e) {
64
- System.err.println(e.getMessage());
65
- }
66
- }
67
- System.out.println("Done");
68
- }
69
- }
@@ -1,57 +0,0 @@
1
- import java.io.BufferedReader;
2
- import java.io.DataOutputStream;
3
- import java.io.File;
4
- import java.io.FileInputStream;
5
- import java.io.IOException;
6
- import java.io.InputStream;
7
- import java.io.InputStreamReader;
8
- import java.io.PrintStream;
9
- import java.net.HttpURLConnection;
10
- import java.net.URL;
11
-
12
- public class LoadValidatePostedZip {
13
- public static void main(String[] args) throws IOException {
14
- String restAPIstr =
15
- "http://localhost:8080/rest/xbrl/" +
16
- "instance-no-formula-link.xml" +
17
- "/validation/xbrl" +
18
- "?media=text" +
19
- "&import=assertionsHtmlSchemaLoc.xml" +
20
- "&formulaAsserResultCounts";
21
- URL url = new URL(restAPIstr);
22
- HttpURLConnection conn =
23
- (HttpURLConnection) url.openConnection();
24
- conn.setRequestMethod("POST");
25
- conn.setRequestProperty("Content-Type",
26
- "application/zip");
27
- conn.setDoOutput(true);
28
- //Send request
29
- File zipFile = new File("C:/temp/test-assertion-example.zip");
30
- InputStream is = new FileInputStream(zipFile);
31
- byte[] zipFileBytes = new byte[1000000];
32
- int countRead = is.read(zipFileBytes, 0, 1000000);
33
- is.close();
34
-
35
- DataOutputStream wr = new DataOutputStream (
36
- conn.getOutputStream ());
37
- wr.write(zipFileBytes, 0, countRead);
38
- wr.flush ();
39
- wr.close ();
40
-
41
- if (conn.getResponseCode() != 200) {
42
- throw new IOException(conn.getResponseMessage());
43
- }
44
-
45
- // Buffer the result into a string
46
- BufferedReader rd = new BufferedReader(
47
- new InputStreamReader(conn.getInputStream()));
48
- StringBuilder sb = new StringBuilder();
49
- String line;
50
- while ((line = rd.readLine()) != null) {
51
- sb.append(line);
52
- System.out.println(line);
53
- }
54
- rd.close();
55
- conn.disconnect();
56
- }
57
- }
@@ -1,34 +0,0 @@
1
- import java.io.BufferedReader;
2
- import java.io.IOException;
3
- import java.io.InputStreamReader;
4
- import java.io.PrintStream;
5
- import java.net.HttpURLConnection;
6
- import java.net.URL;
7
-
8
- public class LoadValidateWebService {
9
- public static void main(String[] args) throws IOException {
10
- String restAPIstr =
11
- "http://localhost:8080/rest/xbrl/" +
12
- "C:/Users/John%20Doe/Samples/instance0010000.xbrl" +
13
- "/validation/xbrl?media=text";
14
- URL url = new URL(restAPIstr);
15
- HttpURLConnection conn =
16
- (HttpURLConnection) url.openConnection();
17
-
18
- if (conn.getResponseCode() != 200) {
19
- throw new IOException(conn.getResponseMessage());
20
- }
21
-
22
- // Buffer the result into a string
23
- BufferedReader rd = new BufferedReader(
24
- new InputStreamReader(conn.getInputStream()));
25
- StringBuilder sb = new StringBuilder();
26
- String line;
27
- while ((line = rd.readLine()) != null) {
28
- sb.append(line);
29
- System.out.println(line);
30
- }
31
- rd.close();
32
- conn.disconnect();
33
- }
34
- }