arelle-release 2.36.38__py3-none-any.whl → 2.36.40__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arelle-release might be problematic. Click here for more details.
- arelle/_version.py +2 -2
- arelle/logging/formatters/LogFormatter.py +2 -1
- arelle/plugin/inlineXbrlDocumentSet.py +115 -48
- arelle/rendering/RenderingResolution.py +0 -1
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/METADATA +1 -1
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/RECORD +10 -10
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/WHEEL +0 -0
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/entry_points.txt +0 -0
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/licenses/LICENSE.md +0 -0
- {arelle_release-2.36.38.dist-info → arelle_release-2.36.40.dist-info}/top_level.txt +0 -0
arelle/_version.py
CHANGED
|
@@ -39,7 +39,8 @@ def logRefsFileLines(refs: list[dict[str, Any]]) -> str:
|
|
|
39
39
|
for ref in refs:
|
|
40
40
|
href = ref.get("href")
|
|
41
41
|
if href:
|
|
42
|
-
|
|
42
|
+
hrefWithoutFakeIxdsPrefix = href.rpartition("_IXDS#?#")[2]
|
|
43
|
+
fileLines[hrefWithoutFakeIxdsPrefix.partition("#")[0]].add(ref.get("sourceLine") or 0)
|
|
43
44
|
return ", ".join(file + " " + ', '.join(str(line)
|
|
44
45
|
for line in sorted(lines, key=lambda l: l)
|
|
45
46
|
if line)
|
|
@@ -19,91 +19,141 @@ manifest file (such as JP FSA) that identifies inline XBRL documents.
|
|
|
19
19
|
|
|
20
20
|
### Command Line Usage
|
|
21
21
|
|
|
22
|
-
- **
|
|
22
|
+
- **Load from a ZIP file**:
|
|
23
|
+
|
|
24
|
+
Simple:
|
|
25
|
+
```bash
|
|
26
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Verbose:
|
|
30
|
+
```bash
|
|
31
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}]}]'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- **Load from a directory**:
|
|
35
|
+
|
|
36
|
+
Simple:
|
|
23
37
|
```bash
|
|
24
|
-
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file
|
|
38
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file filing-documents-directory
|
|
25
39
|
```
|
|
26
|
-
This command loads all inline XBRL documents within a zip file as an Inline XBRL Document Set.
|
|
27
40
|
|
|
28
|
-
|
|
41
|
+
Verbose:
|
|
29
42
|
```bash
|
|
30
43
|
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "filing-documents-directory"}]}]'
|
|
31
44
|
```
|
|
32
|
-
This command loads all inline XBRL documents within a specified directory.
|
|
33
45
|
|
|
34
|
-
- **
|
|
46
|
+
- **Load multiple documents**:
|
|
47
|
+
|
|
48
|
+
Simple:
|
|
35
49
|
```bash
|
|
36
|
-
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '
|
|
50
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file 'document-1.html|document-2.html'
|
|
37
51
|
```
|
|
38
|
-
Load two inline XBRL documents using the default Target Document.
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
Verbose:
|
|
41
54
|
```bash
|
|
42
|
-
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file1": "document-1.html", "file2": "document-2.html"}]
|
|
55
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file1": "document-1.html", "file2": "document-2.html"}]}]'
|
|
43
56
|
```
|
|
44
|
-
Load two inline XBRL documents using the `DKGAAP` Target Document.
|
|
45
57
|
|
|
46
|
-
- **
|
|
58
|
+
- **Specify target document**:
|
|
59
|
+
|
|
60
|
+
- **Default target**:
|
|
61
|
+
|
|
62
|
+
Simple:
|
|
63
|
+
```bash
|
|
64
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip --inlineTarget "(default)"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Verbose:
|
|
68
|
+
```bash
|
|
69
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}], "ixdsTarget": "(default)"}]'
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
- **Named target (e.g., DKGAAP)**:
|
|
73
|
+
|
|
74
|
+
Simple:
|
|
75
|
+
```bash
|
|
76
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file report.zip --inlineTarget DKGAAP
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Verbose:
|
|
80
|
+
```bash
|
|
81
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report.zip"}], "ixdsTarget": "DKGAAP"}]'
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
- **Load multiple IXDS sets**:
|
|
85
|
+
|
|
47
86
|
```bash
|
|
48
|
-
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "
|
|
87
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file '[{"ixds": [{"file": "report-1.zip"}]}, {"ixds": [{"file": "report-2.zip"}]}]'
|
|
49
88
|
```
|
|
50
|
-
Load two separate Inline XBRL Document Sets.
|
|
51
89
|
|
|
52
|
-
- **
|
|
90
|
+
- **Extract XML instance**:
|
|
91
|
+
|
|
53
92
|
```bash
|
|
54
|
-
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file
|
|
93
|
+
python arelleCmdLine.py --plugins inlineXbrlDocumentSet --file reports/report.html --saveInstance
|
|
55
94
|
```
|
|
56
|
-
Extract and save the XML Instance of the default Target Document from an Inline XBRL Document Set.
|
|
57
95
|
|
|
58
96
|
### GUI Usage
|
|
59
97
|
|
|
60
|
-
- **
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
98
|
+
- **Load IXDS documents**:
|
|
99
|
+
|
|
100
|
+
1. Go to the File menu.
|
|
101
|
+
2. Select "Open File Inline Doc Set".
|
|
102
|
+
3. Ctrl/Cmd-click to select multiple files as an IXDS.
|
|
103
|
+
|
|
104
|
+
- **Save XML instance**:
|
|
64
105
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
3. Select `Save target document` to save the XML Instance.
|
|
106
|
+
1. Load the IXDS.
|
|
107
|
+
2. Open the Tools menu.
|
|
108
|
+
3. Select "Save target document" to export the XML instance.
|
|
69
109
|
|
|
70
110
|
## Additional Notes
|
|
71
111
|
|
|
72
|
-
- Windows
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
-
|
|
112
|
+
- On Windows, escape quotes and backslashes when using verbose JSON:
|
|
113
|
+
```pwsh
|
|
114
|
+
.\\arelleCmdLine.exe --plugins inlineXbrlDocumentSet --file
|
|
115
|
+
"[{""ixds"":[{""file"":""C:\\\\report.zip""}], ""ixdsTarget"":""DKGAAP""}]"
|
|
116
|
+
```
|
|
117
|
+
- If no "ixdsTarget" is specified in JSON, all targets are loaded.
|
|
118
|
+
- "(default)" matches the default IXDS target (i.e., no target defined in the instance).
|
|
119
|
+
- Use "--encodeSavedXmlChars" to apply EDGAR-style encoding to non-ASCII characters.
|
|
120
|
+
- The extracted XML instance is saved in the same directory with the suffix "_extracted.xbrl".
|
|
78
121
|
"""
|
|
79
122
|
from __future__ import annotations
|
|
80
123
|
|
|
124
|
+
import os
|
|
125
|
+
import zipfile
|
|
126
|
+
from collections import defaultdict
|
|
127
|
+
from optparse import SUPPRESS_HELP
|
|
81
128
|
from typing import BinaryIO
|
|
82
129
|
|
|
83
|
-
|
|
84
|
-
from
|
|
85
|
-
from arelle.ValidateDuplicateFacts import DeduplicationType
|
|
130
|
+
import regex as re
|
|
131
|
+
from lxml.etree import XML, XMLSyntaxError
|
|
86
132
|
|
|
87
|
-
|
|
133
|
+
from arelle import FileSource, ModelXbrl, ValidateDuplicateFacts, ValidateXbrlDimensions, XbrlConst
|
|
88
134
|
from arelle.CntlrCmdLine import filesourceEntrypointFiles
|
|
89
|
-
from arelle.PrototypeDtsObject import LocPrototype, ArcPrototype
|
|
90
135
|
from arelle.FileSource import archiveFilenameParts, archiveFilenameSuffixes
|
|
136
|
+
from arelle.ModelDocument import ModelDocument, ModelDocumentReference, Type, create, inlineIxdsDiscover, load
|
|
91
137
|
from arelle.ModelInstanceObject import ModelInlineFootnote
|
|
92
138
|
from arelle.ModelObject import ModelObject
|
|
93
|
-
from arelle.ModelDocument import ModelDocument, ModelDocumentReference, Type, load, create, inlineIxdsDiscover
|
|
94
139
|
from arelle.ModelValue import INVALIDixVALUE, qname
|
|
95
140
|
from arelle.PluginManager import pluginClassMethods
|
|
141
|
+
from arelle.PrototypeDtsObject import ArcPrototype, LocPrototype
|
|
96
142
|
from arelle.PythonUtil import attrdict
|
|
143
|
+
from arelle.RuntimeOptions import RuntimeOptions
|
|
97
144
|
from arelle.UrlUtil import isHttpUrl
|
|
145
|
+
from arelle.ValidateDuplicateFacts import DeduplicationType
|
|
98
146
|
from arelle.ValidateFilingText import CDATApattern
|
|
99
147
|
from arelle.Version import authorLabel, copyrightLabel
|
|
100
|
-
from arelle.XmlUtil import
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
148
|
+
from arelle.XmlUtil import (
|
|
149
|
+
addChild,
|
|
150
|
+
copyIxFootnoteHtml,
|
|
151
|
+
elementFragmentIdentifier,
|
|
152
|
+
setXmlns,
|
|
153
|
+
xmlnsprefix,
|
|
154
|
+
)
|
|
155
|
+
from arelle.XmlValidate import NONE, VALID
|
|
156
|
+
from arelle.XmlValidate import validate as xmlValidate
|
|
107
157
|
|
|
108
158
|
DEFAULT_TARGET = "(default)"
|
|
109
159
|
IXDS_SURROGATE = "_IXDS#?#" # surrogate (fake) file name for inline XBRL doc set (IXDS)
|
|
@@ -469,9 +519,6 @@ def discoverInlineXbrlDocumentSet(modelDocument, *args, **kwargs):
|
|
|
469
519
|
return False # not discoverable by this plug-in
|
|
470
520
|
|
|
471
521
|
def fileOpenMenuEntender(cntlr, menu, *args, **kwargs):
|
|
472
|
-
# install DialogURL for GUI menu operation of runOpenWebInlineDocumentSetMenuCommand
|
|
473
|
-
global DialogURL
|
|
474
|
-
from arelle import DialogURL
|
|
475
522
|
# Extend menu with an item for the savedts plugin
|
|
476
523
|
menu.insert_command(2, label="Open Web Inline Doc Set",
|
|
477
524
|
underline=0,
|
|
@@ -496,6 +543,7 @@ def runOpenFileInlineDocumentSetMenuCommand(cntlr, runInBackground=False, saveTa
|
|
|
496
543
|
runOpenInlineDocumentSetMenuCommand(cntlr, filenames, runInBackground, saveTargetFiling)
|
|
497
544
|
|
|
498
545
|
def runOpenWebInlineDocumentSetMenuCommand(cntlr, runInBackground=False, saveTargetFiling=False):
|
|
546
|
+
from arelle import DialogURL
|
|
499
547
|
url = DialogURL.askURL(cntlr.parent, buttonSEC=True, buttonRSS=True)
|
|
500
548
|
if url:
|
|
501
549
|
runOpenInlineDocumentSetMenuCommand(cntlr, re.split(r",\s*|\s+", url), runInBackground, saveTargetFiling)
|
|
@@ -682,10 +730,29 @@ def commandLineOptionExtender(parser, *args, **kwargs):
|
|
|
682
730
|
choices=[a.value for a in ValidateDuplicateFacts.DeduplicationType],
|
|
683
731
|
dest="deduplicateIxbrlFacts",
|
|
684
732
|
help=SUPPRESS_HELP)
|
|
733
|
+
parser.add_option("--inlineTarget",
|
|
734
|
+
action="store",
|
|
735
|
+
dest="inlineTarget",
|
|
736
|
+
help=_("Specify an inline target to load. By default, all targets are loaded. Use '{}' to select the default target.").format(DEFAULT_TARGET),
|
|
737
|
+
type="string")
|
|
685
738
|
|
|
686
739
|
def commandLineFilingStart(cntlr, options, filesource, entrypointFiles, *args, **kwargs):
|
|
687
740
|
global skipExpectedInstanceComparison
|
|
688
741
|
skipExpectedInstanceComparison = getattr(options, "skipExpectedInstanceComparison", False)
|
|
742
|
+
inlineTarget = getattr(options, "inlineTarget", None)
|
|
743
|
+
if inlineTarget:
|
|
744
|
+
if isinstance(entrypointFiles, dict):
|
|
745
|
+
entrypointFiles = [entrypointFiles]
|
|
746
|
+
if isinstance(entrypointFiles, list):
|
|
747
|
+
for i, entry in enumerate(entrypointFiles):
|
|
748
|
+
entryTarget = entry.get("ixdsTarget")
|
|
749
|
+
if entryTarget and entryTarget != inlineTarget:
|
|
750
|
+
raise RuntimeError(_("Conflicting ixds targets specified: inlineTarget '{}', ixdsTarget '{}'").format(inlineTarget, entryTarget))
|
|
751
|
+
ixds = entry.get("ixds")
|
|
752
|
+
if ixds is None:
|
|
753
|
+
entry = {"ixds": [entry]}
|
|
754
|
+
entrypointFiles[i] = entry
|
|
755
|
+
entry["ixdsTarget"] = inlineTarget
|
|
689
756
|
if isinstance(entrypointFiles, list):
|
|
690
757
|
# check for any inlineDocumentSet in list
|
|
691
758
|
for entrypointFile in entrypointFiles:
|
|
@@ -845,7 +912,7 @@ def discoverIxdsDts(modelXbrl):
|
|
|
845
912
|
|
|
846
913
|
class TargetChoiceDialog:
|
|
847
914
|
def __init__(self,parent, choices):
|
|
848
|
-
from tkinter import
|
|
915
|
+
from tkinter import Listbox, StringVar, Toplevel
|
|
849
916
|
parentGeometry = re.match(r"(\d+)x(\d+)[+]?([-]?\d+)[+]?([-]?\d+)", parent.geometry())
|
|
850
917
|
dialogX = int(parentGeometry.group(3))
|
|
851
918
|
dialogY = int(parentGeometry.group(4))
|
|
@@ -151,7 +151,6 @@ def resolveTableAxesStructure(view, strctMdlTable, tblBrkdnRelSet):
|
|
|
151
151
|
view.dataRows += strctMdlBreakdown.leafNodeCount
|
|
152
152
|
elif axis == "z":
|
|
153
153
|
view.zAxisBreakdowns = len(axisBrkdnRels)
|
|
154
|
-
break # 2nd and following breakdown nodes resolved by cartesianProductExpander within resolveDefinition
|
|
155
154
|
if not axisBrkdnRels: # no breakdown rels
|
|
156
155
|
strctMdlBreakdown = resolveDefinition(view, strctMdlTable, None, 1, facts, 0, axisBrkdnRels, axis=axis)
|
|
157
156
|
strctMdlBreakdown.setHasOpenNode()
|
|
@@ -123,7 +123,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
|
|
|
123
123
|
arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
|
|
124
124
|
arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
|
|
125
125
|
arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
|
-
arelle/_version.py,sha256=
|
|
126
|
+
arelle/_version.py,sha256=hgthf8XNOi-RSg8qhbjpBzxfrpMrmaWCPsI9vsJzSyE,515
|
|
127
127
|
arelle/typing.py,sha256=Ct5lrNKRow_o9CraMEXNza8nFsJ_iGIKoUeGfPs2dxI,1084
|
|
128
128
|
arelle/api/Session.py,sha256=O8zpg7MJys9uxwwHf8OsSlZxpPdq7A3ONyY39Q4A3Kc,6218
|
|
129
129
|
arelle/archive/CustomLogger.py,sha256=v_JXOCQLDZcfaFWzxC9FRcEf9tQi4rCI4Sx7jCuAVQI,1231
|
|
@@ -284,7 +284,7 @@ arelle/locale/fr/LC_MESSAGES/arelle.mo,sha256=HsXvnKEsnhqJqH6H9SlGBy451fnQTaizbZ
|
|
|
284
284
|
arelle/locale/fr/LC_MESSAGES/fr.po,sha256=D2WHLI9NktcxgmGx91fRLNLoVjvO3Z0jjS9AJlroOCE,168077
|
|
285
285
|
arelle/locale/ru/LC_MESSAGES/arelle.mo,sha256=i004xdiJMpXus5DnSz2y708H5vPt78Pu5ApkrdC9Fqw,375378
|
|
286
286
|
arelle/locale/ru/LC_MESSAGES/ru.po,sha256=pPACN6dXlimkr2KJ5l-B0fv4PhlijWAz3fVYJ5h3SaM,449579
|
|
287
|
-
arelle/logging/formatters/LogFormatter.py,sha256=
|
|
287
|
+
arelle/logging/formatters/LogFormatter.py,sha256=emXkUWLRZ65-qu9K-BcYrT2ueR8R-YchA8bwPY3yA60,1968
|
|
288
288
|
arelle/logging/handlers/LogHandlerWithXml.py,sha256=xj-m6aNh4gksxP9AjN0xkECxVdx9m7ElCC0lXkhFcUQ,4318
|
|
289
289
|
arelle/logging/handlers/LogToBufferHandler.py,sha256=tTzHRw9tn1Osrpc5rcKxk2iTEE3uIq5wb792z5RVYAs,612
|
|
290
290
|
arelle/logging/handlers/LogToPrintHandler.py,sha256=iT5eTZx5MXJRhI-vZjlenNOSDRgiNXSQhh398Njbje0,1299
|
|
@@ -314,7 +314,7 @@ arelle/plugin/formulaLoader.py,sha256=_pPZQPAZeNjGj85rvH7QRl4gEjYD7Yhxl1JhuV9wOo
|
|
|
314
314
|
arelle/plugin/formulaSaver.py,sha256=STlKyDA-pVUxZoEW57MSu74RdpyHVTxaHvOZyOt0cyg,31385
|
|
315
315
|
arelle/plugin/formulaXPathChecker.py,sha256=sEEeLHx17XSj8eOgFdzYLBp9ZFk2UUYLOEKtaF_pq34,18795
|
|
316
316
|
arelle/plugin/functionsMath.py,sha256=Z8N7ok3w1aOusCQA9QvqYwQ8W1j80bb-_4lVclBnNQM,9037
|
|
317
|
-
arelle/plugin/inlineXbrlDocumentSet.py,sha256=
|
|
317
|
+
arelle/plugin/inlineXbrlDocumentSet.py,sha256=FGGjjt69N3Rl28ZUo35s8sCheYLrtNbcbVROeAx5_W4,55208
|
|
318
318
|
arelle/plugin/loadFromExcel.py,sha256=SebeGTf0tBKv-0fSxAYEFLlh3Olly4x-6XTeh20SymM,124402
|
|
319
319
|
arelle/plugin/loadFromOIM.py,sha256=dJHnX56bmuY40f6vRMsQ7pJmIWcB5N_3jmYWGGnZSdM,903
|
|
320
320
|
arelle/plugin/profileCmdLine.py,sha256=uLL0fGshpiwtzyLKAtW0WuXAvcRtZgxQG6swM0e4BHA,2370
|
|
@@ -431,7 +431,7 @@ arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl,sha256=DYBE4m2gSp-2
|
|
|
431
431
|
arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl,sha256=TRb4zLoXUGKkBU1ZR5KCpMLBpujtNiL_WDdnv4DfBL0,726301
|
|
432
432
|
arelle/rendering/RenderingEvaluator.py,sha256=suQhQsx5KD1QJMGxIiPXGbUOKQMTwg1oSSJlgl8J8kk,17781
|
|
433
433
|
arelle/rendering/RenderingLayout.py,sha256=XSrKiHOBZL-z4qvChpepjh3loxz8G84MCBRXozPxGrE,31082
|
|
434
|
-
arelle/rendering/RenderingResolution.py,sha256=
|
|
434
|
+
arelle/rendering/RenderingResolution.py,sha256=dKz6pxjnGeMHIeX2gcAJHlMjuVp5Vu4P1AHQizg_dKA,54437
|
|
435
435
|
arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd,sha256=BfDzYGRz5zofzjnvVP_ZdTVtddxKdsrYfjZ3dK_hJIQ,1243
|
|
436
436
|
arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd,sha256=52ehWcF5vW5NwrrCpjpi9Qy9An7BnWtcyescLzPgyy4,87677
|
|
437
437
|
arelle/resources/cache/http/www.w3.org/2001/xml.xsd,sha256=YZYPsxMeOAIsqtU2Di8zozgleKs8gM1YvXQyDt5hsgw,8836
|
|
@@ -706,7 +706,7 @@ arelle/utils/validate/ValidationPlugin.py,sha256=_WeRPXZUTCcSN3FLbFwiAe_2pAUTxZZ
|
|
|
706
706
|
arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
707
707
|
arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
708
708
|
arelle/webserver/bottle.py,sha256=676nP8SOB42QscV0WIbXoSV9MwdgvbrzeIApxr6mlUI,171255
|
|
709
|
-
arelle_release-2.36.
|
|
709
|
+
arelle_release-2.36.40.dist-info/licenses/LICENSE.md,sha256=rMbWwFLGzPgLoEjEu8LCmkpWDTqsvfOI-wzLSfeJsis,4107
|
|
710
710
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
711
711
|
tests/integration_tests/download_cache.py,sha256=jVMIVICsZjcVc9DCPPu3fCjF9_cWSS3tqSynhFs3oAM,4097
|
|
712
712
|
tests/integration_tests/integration_test_util.py,sha256=H7mncbv0T9ZeVyrtk9Hohe3k6jgcYykHkt-LGE-Q9aQ,10270
|
|
@@ -1554,8 +1554,8 @@ tests/unit_tests/arelle/oim/test_load.py,sha256=NxiUauQwJVfWAHbbpsMHGSU2d3Br8Pki
|
|
|
1554
1554
|
tests/unit_tests/arelle/plugin/test_plugin_imports.py,sha256=bdhIs9frAnFsdGU113yBk09_jis-z43dwUItMFYuSYM,1064
|
|
1555
1555
|
tests/unit_tests/arelle/plugin/validate/ESEF/ESEF_Current/test_validate_css_url.py,sha256=XHABmejQt7RlZ0udh7v42f2Xb2STGk_fSaIaJ9i2xo0,878
|
|
1556
1556
|
tests/unit_tests/arelle/utils/validate/test_decorator.py,sha256=ZS8FqIY1g-2FCbjF4UYm609dwViax6qBMRJSi0vfuhY,2482
|
|
1557
|
-
arelle_release-2.36.
|
|
1558
|
-
arelle_release-2.36.
|
|
1559
|
-
arelle_release-2.36.
|
|
1560
|
-
arelle_release-2.36.
|
|
1561
|
-
arelle_release-2.36.
|
|
1557
|
+
arelle_release-2.36.40.dist-info/METADATA,sha256=akTrKgQGYl0Uek8ViYdXszy53h_iiI0MUSvTXwsQDUs,9032
|
|
1558
|
+
arelle_release-2.36.40.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
1559
|
+
arelle_release-2.36.40.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
|
|
1560
|
+
arelle_release-2.36.40.dist-info/top_level.txt,sha256=ZYmYGmhW5Jvo3vJ4iXBZPUI29LvYhntom04w90esJvU,13
|
|
1561
|
+
arelle_release-2.36.40.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|