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.
- arelle/CntlrCmdLine.py +5 -1
- arelle/ModelObjectFactory.py +18 -2
- arelle/_version.py +2 -2
- arelle/plugin/validate/EDINET/Constants.py +6 -0
- arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +134 -7
- arelle/plugin/validate/EDINET/Statement.py +139 -0
- arelle/plugin/validate/EDINET/rules/contexts.py +5 -10
- arelle/plugin/validate/EDINET/rules/edinet.py +89 -51
- arelle/plugin/validate/EDINET/rules/gfm.py +41 -0
- {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/METADATA +3 -1
- {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/RECORD +15 -99
- arelle/archive/CustomLogger.py +0 -43
- arelle/archive/LoadEFMvalidate.py +0 -32
- arelle/archive/LoadSavePreLbCsv.py +0 -26
- arelle/archive/LoadValidate.cs +0 -31
- arelle/archive/LoadValidate.py +0 -36
- arelle/archive/LoadValidateCmdLine.java +0 -69
- arelle/archive/LoadValidatePostedZip.java +0 -57
- arelle/archive/LoadValidateWebService.java +0 -34
- arelle/archive/SaveTableToExelle.py +0 -140
- arelle/archive/TR3toTR4.py +0 -88
- arelle/archive/plugin/ESEF_2022/__init__.py +0 -47
- arelle/archive/plugin/bigInstance.py +0 -394
- arelle/archive/plugin/cmdWebServerExtension.py +0 -43
- arelle/archive/plugin/crashTest.py +0 -38
- arelle/archive/plugin/functionsXmlCreation.py +0 -106
- arelle/archive/plugin/hello_i18n.pot +0 -26
- arelle/archive/plugin/hello_i18n.py +0 -32
- arelle/archive/plugin/importTestChild1.py +0 -21
- arelle/archive/plugin/importTestChild2.py +0 -22
- arelle/archive/plugin/importTestGrandchild1.py +0 -21
- arelle/archive/plugin/importTestGrandchild2.py +0 -21
- arelle/archive/plugin/importTestImported1.py +0 -23
- arelle/archive/plugin/importTestImported11.py +0 -22
- arelle/archive/plugin/importTestParent.py +0 -48
- arelle/archive/plugin/instanceInfo.py +0 -306
- arelle/archive/plugin/loadFromOIM-2018.py +0 -1282
- arelle/archive/plugin/locale/fr/LC_MESSAGES/hello_i18n.po +0 -25
- arelle/archive/plugin/objectmaker.py +0 -285
- arelle/archive/plugin/packagedImportTest/__init__.py +0 -47
- arelle/archive/plugin/packagedImportTest/importTestChild1.py +0 -21
- arelle/archive/plugin/packagedImportTest/importTestChild2.py +0 -22
- arelle/archive/plugin/packagedImportTest/importTestGrandchild1.py +0 -21
- arelle/archive/plugin/packagedImportTest/importTestGrandchild2.py +0 -21
- arelle/archive/plugin/packagedImportTest/importTestImported1.py +0 -24
- arelle/archive/plugin/packagedImportTest/importTestImported11.py +0 -21
- arelle/archive/plugin/packagedImportTest/subdir/importTestImported111.py +0 -21
- arelle/archive/plugin/packagedImportTest/subdir/subsubdir/importTestImported1111.py +0 -21
- arelle/archive/plugin/sakaCalendar.py +0 -215
- arelle/archive/plugin/saveInstanceInfoset.py +0 -121
- arelle/archive/plugin/sphinx/FormulaGenerator.py +0 -823
- arelle/archive/plugin/sphinx/SphinxContext.py +0 -404
- arelle/archive/plugin/sphinx/SphinxEvaluator.py +0 -783
- arelle/archive/plugin/sphinx/SphinxMethods.py +0 -1287
- arelle/archive/plugin/sphinx/SphinxParser.py +0 -1093
- arelle/archive/plugin/sphinx/SphinxValidator.py +0 -163
- arelle/archive/plugin/sphinx/US-GAAP Ratios Example.xsr +0 -52
- arelle/archive/plugin/sphinx/__init__.py +0 -285
- arelle/archive/plugin/streamingExtensions.py +0 -335
- arelle/archive/plugin/updateTableLB.py +0 -242
- arelle/archive/plugin/validate/SBRnl/CustomLoader.py +0 -19
- arelle/archive/plugin/validate/SBRnl/DTS.py +0 -305
- arelle/archive/plugin/validate/SBRnl/Dimensions.py +0 -357
- arelle/archive/plugin/validate/SBRnl/Document.py +0 -799
- arelle/archive/plugin/validate/SBRnl/Filing.py +0 -467
- arelle/archive/plugin/validate/SBRnl/__init__.py +0 -75
- arelle/archive/plugin/validate/SBRnl/config.xml +0 -26
- arelle/archive/plugin/validate/SBRnl/sbr-nl-taxonomies.xml +0 -754
- arelle/archive/plugin/validate/USBestPractices.py +0 -570
- arelle/archive/plugin/validate/USCorpAction.py +0 -557
- arelle/archive/plugin/validate/USSecTagging.py +0 -337
- arelle/archive/plugin/validate/XDC/__init__.py +0 -77
- arelle/archive/plugin/validate/XDC/config.xml +0 -20
- arelle/archive/plugin/validate/XFsyntax/__init__.py +0 -64
- arelle/archive/plugin/validate/XFsyntax/xf.py +0 -2227
- arelle/archive/plugin/validate/calc2.py +0 -536
- arelle/archive/plugin/validateSchemaLxml.py +0 -156
- arelle/archive/plugin/validateTableInfoset.py +0 -52
- arelle/archive/us-gaap-dei-docType-extraction-frm.xml +0 -90
- arelle/archive/us-gaap-dei-ratio-cash-frm.xml +0 -150
- arelle/examples/plugin/formulaSuiteConverter.py +0 -212
- arelle/examples/plugin/functionsCustom.py +0 -59
- arelle/examples/plugin/hello_dolly.py +0 -64
- arelle/examples/plugin/multi.py +0 -58
- arelle/examples/plugin/rssSaveOim.py +0 -96
- arelle/examples/plugin/validate/XYZ/DisclosureSystems.py +0 -2
- arelle/examples/plugin/validate/XYZ/PluginValidationDataExtension.py +0 -10
- arelle/examples/plugin/validate/XYZ/ValidationPluginExtension.py +0 -50
- arelle/examples/plugin/validate/XYZ/__init__.py +0 -75
- arelle/examples/plugin/validate/XYZ/resources/config.xml +0 -16
- arelle/examples/plugin/validate/XYZ/rules/__init__.py +0 -0
- arelle/examples/plugin/validate/XYZ/rules/rules01.py +0 -110
- arelle/examples/plugin/validate/XYZ/rules/rules02.py +0 -59
- arelle/scripts-macOS/startWebServer.command +0 -3
- arelle/scripts-unix/startWebServer.sh +0 -1
- arelle/scripts-windows/startWebServer.bat +0 -5
- {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/WHEEL +0 -0
- {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/entry_points.txt +0 -0
- {arelle_release-2.37.47.dist-info → arelle_release-2.37.49.dist-info}/licenses/LICENSE.md +0 -0
- {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".*(<|<|<|<)[A-Za-z_]+[A-Za-z0-9_:]*[^>]*(/>|>|>|/>).*", 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('&','&'))
|
|
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.
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
410
|
-
arelle/plugin/validate/EDINET/rules/edinet.py,sha256=
|
|
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=
|
|
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.
|
|
768
|
-
arelle_release-2.37.
|
|
769
|
-
arelle_release-2.37.
|
|
770
|
-
arelle_release-2.37.
|
|
771
|
-
arelle_release-2.37.
|
|
772
|
-
arelle_release-2.37.
|
|
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,,
|
arelle/archive/CustomLogger.py
DELETED
|
@@ -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()
|
arelle/archive/LoadValidate.cs
DELETED
|
@@ -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
|
-
}
|
arelle/archive/LoadValidate.py
DELETED
|
@@ -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
|
-
}
|