• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aiidateam / aiida_core / 4926 / 7
70%
develop: 74%

Build:
Build:
LAST BUILD BRANCH: fix_3032_doc_working_importexport
DEFAULT BRANCH: develop
Ran 18 Jan 2019 08:04AM UTC
Files 397
Run time 18s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 Jan 2019 07:45AM UTC coverage: 62.069% (+0.2%) from 61.917%
TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests"

push

travis-ci

web-flow
Redesign the Parser class (#2397)

Now that job calculations are directly implemented as processes, by sub
classing the `CalcJob` process, a lot of functionality has been removed
from the `CalcJobNode` that did not belong there. However, quite a bit
of attributes and methods remain there that are used by the `Parser`
that parses results attached to the node, such as names for retrieved
links. These should, just like the input and output nodes, be specified
on the `Process` class.

We redesign the `Parser` class to get this the information it needs from
the `Process` class which can be gotten through the `CalcJobNode` as a
proxy. Sub sequently, it can directly get information like default
output node labels as well as exit codes from the process class. The
base method that will be called by the engine to trigger parsing of a
retrieved job calculation is the `parse` method. The engine will pass
the nodes that the parser needs for parsing as keyword arguments. The
engine knows which nodes to pass as they have been marked as such by the
`CalcJob` process spec.

The `Parser` class exposes a convenience method `parse_from_node` that
can be called outside of the engine, passing in a `CalcJobNode`. This
will trigger the `parse` method to be called again, but it will be
wrapped in a `calcfunction` ensuring that the produced outputs will be
connected to a `ProcessNode` in the provenance graph.

Finally, what was the `CalculationResultManager` has been renamed to
`CalcJobResultManager` and has been moved to `aiida.orm.utils`. The
interface has also been adapted and it now no longer goes through the
parser class to get the information it needs but rather through the
`CalcJob` class that can be retrieved from the `CalcJobNode` for which
it is constructed.

21427 of 34521 relevant lines covered (62.07%)

0.62 hits per line

Source Files on job 4926.7 (TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests")
  • Tree
  • List 0
  • Changed 40
  • Source Changed 27
  • Coverage Changed 36
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 852
  • Travis Job 4926.7
  • 423523ce on github
  • Prev Job for TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests" on provenance_redesign (#4921.7)
  • Next Job for TEST_AIIDA_BACKEND=sqlalchemy TEST_TYPE="tests" on provenance_redesign (#4928.7)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc