This toolkit lets you fix common issues for ESEF iXBRL filings with the click on a Button!
- Inline CSS
Inline CSS can be a hazard for ESEF Block tagging, since the styles are taken into the tagged data when the escape atrribute was set to true for a tag. This can result in misleading representation of the data, since CSS styles can be interpreted differently in different engines and with a lack of specification of which engine to use by the regulator. This fixup removes the inline-css and adds them back in in a optmized set of classes, resulting in "clean" tag contents when rerenderd by any engine, only based on the "sematic" html structure of the data.
- (Upcomming) External link removal
- (Upcomming) Optimize Data-URL Placements for ESEF Block Tags
Make sure you have python 3 installed.
Install the dependencies:
pip3 install -r packages/worker/requirements.txtAll you need to do is to use the cli.sh script and pass two arguments:
./cli.sh "<input zip path>" "<output zip path>"In case you want to leave no traces, add in the flag --undercover
To deploy the service you will need docker and docker-compose installed on your system.
Start by cloning the repository:
git clone git@github.com:antonheitz/esef-fixup.git
cd esef-fixupBuild the containers:
./service.sh buildStart the containers:
./service.sh startStop the containers:
./service.sh stopDelete the containers:
./service.sh cleanupThere are a few simple routes to use to interact:
Add a job (and upload a file). This will return the id of the job:
curl -X POST -F file=@</path/to/esef/file> localhost:3001/api/jobs/addCheck all Jobs and status:
curl localhost:3001/api/jobs/dataStart the Job you want to run:
curl -X POST localhost:3001/api/jobs/start/<job-id>After the status is "DONE", you can download the output zip:
curl localhost:3001/api/files/final/<job-id>/<file-name> --output </path/to/ouput/filename>