omxtra 0.0.0.dev526__tar.gz → 0.0.0.dev528__tar.gz
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.
- {omxtra-0.0.0.dev526/omxtra.egg-info → omxtra-0.0.0.dev528}/PKG-INFO +2 -2
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/__init__.py +1 -1
- omxtra-0.0.0.dev528/omxtra/formats/goyaml/_amalg.py +6 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/ast.py +57 -55
- omxtra-0.0.0.dev528/omxtra/formats/goyaml/decode.py +1807 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/parsing.py +173 -170
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/scanning.py +2 -2
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/tokens.py +18 -18
- omxtra-0.0.0.dev528/omxtra/io/pipelines/_amalg.py +12 -0
- omxtra-0.0.0.dev528/omxtra/io/pipelines/bytes/buffering.py +19 -0
- {omxtra-0.0.0.dev526/omxtra/io/pipelines/handlers → omxtra-0.0.0.dev528/omxtra/io/pipelines/bytes}/decoders.py +1 -1
- omxtra-0.0.0.dev528/omxtra/io/pipelines/bytes/queues.py +56 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/core.py +308 -166
- {omxtra-0.0.0.dev526/omxtra/io/pipelines → omxtra-0.0.0.dev528/omxtra/io/pipelines/drivers}/asyncio.py +3 -3
- {omxtra-0.0.0.dev526/omxtra/io/pipelines → omxtra-0.0.0.dev528/omxtra/io/pipelines/flow}/bytes.py +1 -14
- {omxtra-0.0.0.dev526/omxtra/io/pipelines → omxtra-0.0.0.dev528/omxtra/io/pipelines/flow}/flow.py +18 -24
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/handlers/flatmap.py +16 -4
- omxtra-0.0.0.dev528/omxtra/io/pipelines/handlers/fns.py +178 -0
- omxtra-0.0.0.dev528/omxtra/io/pipelines/handlers/queues.py +99 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/client/responses.py +4 -1
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/decoders.py +28 -3
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/requests.py +1 -3
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/responses.py +5 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/server/requests.py +12 -2
- omxtra-0.0.0.dev528/omxtra/io/pipelines/sched/types.py +26 -0
- omxtra-0.0.0.dev528/omxtra/scripts/lib/formats/goyaml.py +8467 -0
- omxtra-0.0.0.dev528/omxtra/scripts/lib/io/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/scripts/lib/io/pipelines.py +4498 -0
- omxtra-0.0.0.dev528/omxtra/specs/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/specs/proto/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/specs/proto/_antlr/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/sql/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/sql/parsing/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/sql/parsing/_antlr/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/text/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/__init__.py +0 -19
- omxtra-0.0.0.dev528/omxtra/text/abnf/docs/__init__.py +0 -0
- omxtra-0.0.0.dev528/omxtra/text/abnf/lr.py +810 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/parsing.py +15 -5
- omxtra-0.0.0.dev528/omxtra/text/antlr/cli/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528/omxtra.egg-info}/PKG-INFO +2 -2
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra.egg-info/SOURCES.txt +25 -4
- omxtra-0.0.0.dev528/omxtra.egg-info/requires.txt +1 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/pyproject.toml +2 -2
- omxtra-0.0.0.dev526/omxtra.egg-info/requires.txt +0 -1
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/LICENSE +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/MANIFEST.in +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/README.md +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/.omlish-manifests.json +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/README.md +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/__about__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/all.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/LICENSE +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/all.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/api.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/core.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/events.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/files.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/runner.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bluelet/sockets.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/bridge.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/asyncs/flavors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/concurrent/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/concurrent/threadlets.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/defs.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/dynamic.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/LICENSE +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/goyaml/errors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/Json.g4 +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/_antlr/JsonLexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/_antlr/JsonListener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/_antlr/JsonParser.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/_antlr/JsonVisitor.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json/_antlr/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/Json5.g4 +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/_antlr/Json5Lexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/_antlr/Json5Listener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/_antlr/Json5Parser.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/_antlr/Json5Visitor.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/_antlr/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/formats/json5/parsing.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/io/pipelines/handlers → omxtra-0.0.0.dev528/omxtra/io/pipelines/bytes}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/io/pipelines/http → omxtra-0.0.0.dev528/omxtra/io/pipelines/drivers}/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/errors.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/io/pipelines/http/client → omxtra-0.0.0.dev528/omxtra/io/pipelines/flow}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/io/pipelines/http/server → omxtra-0.0.0.dev528/omxtra/io/pipelines/flow2}/__init__.py +0 -0
- /omxtra-0.0.0.dev526/omxtra/specs/__init__.py → /omxtra-0.0.0.dev528/omxtra/io/pipelines/flow2/types.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/specs/proto → omxtra-0.0.0.dev528/omxtra/io/pipelines/handlers}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/specs/proto/_antlr → omxtra-0.0.0.dev528/omxtra/io/pipelines/http}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/sql → omxtra-0.0.0.dev528/omxtra/io/pipelines/http/client}/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/client/requests.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/client/responses2.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/client/responses3.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/sql/parsing → omxtra-0.0.0.dev528/omxtra/io/pipelines/http/server}/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/server/responses.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/pipelines/http/sse.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/sql/parsing/_antlr → omxtra-0.0.0.dev528/omxtra/io/pipelines/sched}/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/io/trampoline.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/text → omxtra-0.0.0.dev528/omxtra/scripts}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/text/abnf/docs → omxtra-0.0.0.dev528/omxtra/scripts/lib}/__init__.py +0 -0
- {omxtra-0.0.0.dev526/omxtra/text/antlr/cli → omxtra-0.0.0.dev528/omxtra/scripts/lib/formats}/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/Protobuf3.g4 +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/_antlr/Protobuf3Lexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/_antlr/Protobuf3Listener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/_antlr/Protobuf3Parser.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/_antlr/Protobuf3Visitor.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/nodes.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/specs/proto/parsing.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/alchemy/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/alchemy/asyncs.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/Minisql.g4 +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/_antlr/MinisqlLexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/_antlr/MinisqlListener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/_antlr/MinisqlParser.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/_antlr/MinisqlVisitor.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/sql/parsing/parsing.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/LICENSE +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/_dataclasses.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/base.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/core.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/docs/rfc5234.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/docs/rfc7405.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/errors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/grammars.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/internal.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/matches.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/meta.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/ops.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/opto.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/utils.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/abnf/visitors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/BufferedTokenStream.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/CommonTokenFactory.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/CommonTokenStream.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/FileStream.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/InputStream.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/IntervalSet.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/LICENSE.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/LL1Analyzer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/Lexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/ListTokenSource.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/Parser.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/ParserInterpreter.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/ParserRuleContext.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/PredictionContext.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/Recognizer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/RuleContext.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/StdinStream.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/Token.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/TokenStreamRewriter.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/Utils.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/_all.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/_pygrun.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATN.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNConfig.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNConfigSet.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNDeserializationOptions.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNDeserializer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNSimulator.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNState.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ATNType.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/LexerATNSimulator.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/LexerAction.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/LexerActionExecutor.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/ParserATNSimulator.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/PredictionMode.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/SemanticContext.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/Transition.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/atn/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/dfa/DFA.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/dfa/DFASerializer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/dfa/DFAState.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/dfa/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/error/DiagnosticErrorListener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/error/ErrorListener.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/error/ErrorStrategy.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/error/Errors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/error/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/Chunk.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/ParseTreeMatch.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/ParseTreePattern.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/ParseTreePatternMatcher.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/RuleTagToken.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/TokenTagToken.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/Tree.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/Trees.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/tree/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/xpath/XPath.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/xpath/XPathLexer.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/_runtime/xpath/__init__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/cli/__main__.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/cli/cli.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/cli/consts.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/cli/gen.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/delimit.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/dot.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/errors.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/input.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/parsing.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/runtime.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra/text/antlr/utils.py +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra.egg-info/dependency_links.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra.egg-info/entry_points.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/omxtra.egg-info/top_level.txt +0 -0
- {omxtra-0.0.0.dev526 → omxtra-0.0.0.dev528}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: omxtra
|
|
3
|
-
Version: 0.0.0.
|
|
3
|
+
Version: 0.0.0.dev528
|
|
4
4
|
Summary: omxtra
|
|
5
5
|
Author: wrmsr
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -14,7 +14,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
14
14
|
Requires-Python: >=3.13
|
|
15
15
|
Description-Content-Type: text/markdown
|
|
16
16
|
License-File: LICENSE
|
|
17
|
-
Requires-Dist: omlish==0.0.0.
|
|
17
|
+
Requires-Dist: omlish==0.0.0.dev528
|
|
18
18
|
Dynamic: license-file
|
|
19
19
|
|
|
20
20
|
# Overview
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
A *manual*, near-direct, 'lite'-compatible translation of go-yaml (see LICENSE file):
|
|
3
3
|
|
|
4
|
-
https://github.com/goccy/go-yaml/tree/
|
|
4
|
+
https://github.com/goccy/go-yaml/tree/8dd51ebb7f36f616b85f7b0e54539afa4341f22a
|
|
5
5
|
|
|
6
6
|
The primary reasons for.. doing this.. are as follows:
|
|
7
7
|
|
|
@@ -11,7 +11,6 @@ from omlish.lite.abstract import Abstract
|
|
|
11
11
|
from omlish.lite.check import check
|
|
12
12
|
from omlish.lite.dataclasses import dataclass_field_required
|
|
13
13
|
|
|
14
|
-
from . import tokens
|
|
15
14
|
from .errors import EofYamlError
|
|
16
15
|
from .errors import YamlError
|
|
17
16
|
from .errors import YamlErrorOr
|
|
@@ -20,6 +19,9 @@ from .tokens import YamlNumberType
|
|
|
20
19
|
from .tokens import YamlPosition
|
|
21
20
|
from .tokens import YamlToken
|
|
22
21
|
from .tokens import YamlTokenType
|
|
22
|
+
from .tokens import yaml_detect_line_break_char
|
|
23
|
+
from .tokens import yaml_literal_block_header
|
|
24
|
+
from .tokens import yaml_to_number
|
|
23
25
|
|
|
24
26
|
|
|
25
27
|
##
|
|
@@ -240,14 +242,14 @@ class BaseYamlNode(YamlNode, Abstract):
|
|
|
240
242
|
return None
|
|
241
243
|
|
|
242
244
|
|
|
243
|
-
def
|
|
245
|
+
def yaml_add_comment_string(base: str, node: 'CommentGroupYamlNode') -> str:
|
|
244
246
|
return f'{base} {node.string()}'
|
|
245
247
|
|
|
246
248
|
|
|
247
249
|
##
|
|
248
250
|
|
|
249
251
|
|
|
250
|
-
def
|
|
252
|
+
def yaml_read_node(p: str, node: YamlNode) -> YamlErrorOr[int]:
|
|
251
253
|
s = node.string()
|
|
252
254
|
read_len = node.read_len()
|
|
253
255
|
remain = len(s) - read_len
|
|
@@ -263,7 +265,7 @@ def read_yaml_node(p: str, node: YamlNode) -> YamlErrorOr[int]:
|
|
|
263
265
|
return size
|
|
264
266
|
|
|
265
267
|
|
|
266
|
-
def
|
|
268
|
+
def yaml_check_line_break(t: YamlToken) -> bool:
|
|
267
269
|
if t.prev is not None:
|
|
268
270
|
lbc = '\n'
|
|
269
271
|
prev = t.prev
|
|
@@ -338,7 +340,7 @@ class YamlAsts:
|
|
|
338
340
|
@classmethod
|
|
339
341
|
def integer(cls, tk: YamlToken) -> 'IntegerYamlNode':
|
|
340
342
|
v: ta.Any = None
|
|
341
|
-
if (num :=
|
|
343
|
+
if (num := yaml_to_number(tk.value)) is not None:
|
|
342
344
|
v = num.value
|
|
343
345
|
|
|
344
346
|
return IntegerYamlNode(
|
|
@@ -350,7 +352,7 @@ class YamlAsts:
|
|
|
350
352
|
@classmethod
|
|
351
353
|
def float_(cls, tk: YamlToken) -> 'FloatYamlNode':
|
|
352
354
|
v: float = 0.
|
|
353
|
-
if (num :=
|
|
355
|
+
if (num := yaml_to_number(tk.value)) is not None and num.type == YamlNumberType.FLOAT:
|
|
354
356
|
if isinstance(num.value, float):
|
|
355
357
|
v = num.value
|
|
356
358
|
|
|
@@ -526,7 +528,7 @@ class DocumentYamlNode(BaseYamlNode):
|
|
|
526
528
|
|
|
527
529
|
# read implements (io.Reader).Read
|
|
528
530
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
529
|
-
return
|
|
531
|
+
return yaml_read_node(p, self)
|
|
530
532
|
|
|
531
533
|
# type returns DocumentNodeType
|
|
532
534
|
def type(self) -> YamlNodeType:
|
|
@@ -567,7 +569,7 @@ class NullYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
567
569
|
|
|
568
570
|
# read implements(io.Reader).Read
|
|
569
571
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
570
|
-
return
|
|
572
|
+
return yaml_read_node(p, self)
|
|
571
573
|
|
|
572
574
|
# type returns NullType
|
|
573
575
|
def type(self) -> YamlNodeType:
|
|
@@ -592,7 +594,7 @@ class NullYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
592
594
|
return self.comment.string()
|
|
593
595
|
return ''
|
|
594
596
|
if self.comment is not None:
|
|
595
|
-
return
|
|
597
|
+
return yaml_add_comment_string('null', self.comment)
|
|
596
598
|
return self.string_without_comment()
|
|
597
599
|
|
|
598
600
|
def string_without_comment(self) -> str:
|
|
@@ -618,7 +620,7 @@ class IntegerYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
618
620
|
|
|
619
621
|
# read implements(io.Reader).Read
|
|
620
622
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
621
|
-
return
|
|
623
|
+
return yaml_read_node(p, self)
|
|
622
624
|
|
|
623
625
|
# type returns IntegerType
|
|
624
626
|
def type(self) -> YamlNodeType:
|
|
@@ -639,7 +641,7 @@ class IntegerYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
639
641
|
# String int64 to text
|
|
640
642
|
def string(self) -> str:
|
|
641
643
|
if self.comment is not None:
|
|
642
|
-
return
|
|
644
|
+
return yaml_add_comment_string(self.token.value, self.comment)
|
|
643
645
|
return self.string_without_comment()
|
|
644
646
|
|
|
645
647
|
def string_without_comment(self) -> str:
|
|
@@ -666,7 +668,7 @@ class FloatYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
666
668
|
|
|
667
669
|
# read implements(io.Reader).Read
|
|
668
670
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
669
|
-
return
|
|
671
|
+
return yaml_read_node(p, self)
|
|
670
672
|
|
|
671
673
|
# type returns FloatType
|
|
672
674
|
def type(self) -> YamlNodeType:
|
|
@@ -687,7 +689,7 @@ class FloatYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
687
689
|
# String float64 to text
|
|
688
690
|
def string(self) -> str:
|
|
689
691
|
if self.comment is not None:
|
|
690
|
-
return
|
|
692
|
+
return yaml_add_comment_string(self.token.value, self.comment)
|
|
691
693
|
return self.string_without_comment()
|
|
692
694
|
|
|
693
695
|
def string_without_comment(self) -> str:
|
|
@@ -774,7 +776,7 @@ class StringYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
774
776
|
|
|
775
777
|
# read implements(io.Reader).Read
|
|
776
778
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
777
|
-
return
|
|
779
|
+
return yaml_read_node(p, self)
|
|
778
780
|
|
|
779
781
|
# type returns StringType
|
|
780
782
|
def type(self) -> YamlNodeType:
|
|
@@ -801,19 +803,19 @@ class StringYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
801
803
|
if self.token.type == YamlTokenType.SINGLE_QUOTE:
|
|
802
804
|
quoted = _yaml_escape_single_quote(self.value)
|
|
803
805
|
if self.comment is not None:
|
|
804
|
-
return
|
|
806
|
+
return yaml_add_comment_string(quoted, self.comment)
|
|
805
807
|
return quoted
|
|
806
808
|
elif self.token.type == YamlTokenType.DOUBLE_QUOTE:
|
|
807
809
|
quoted = _yaml_strconv_quote(self.value)
|
|
808
810
|
if self.comment is not None:
|
|
809
|
-
return
|
|
811
|
+
return yaml_add_comment_string(quoted, self.comment)
|
|
810
812
|
return quoted
|
|
811
813
|
|
|
812
|
-
lbc =
|
|
814
|
+
lbc = yaml_detect_line_break_char(self.value)
|
|
813
815
|
if lbc in self.value:
|
|
814
816
|
# This block assumes that the line breaks in this inside scalar content and the Outside scalar content are
|
|
815
817
|
# the same. It works mostly, but inconsistencies occur if line break characters are mixed.
|
|
816
|
-
header =
|
|
818
|
+
header = yaml_literal_block_header(self.value)
|
|
817
819
|
space = ' ' * (self.token.position.column - 1)
|
|
818
820
|
indent = ' ' * self.token.position.indent_num
|
|
819
821
|
values: ta.List[str] = []
|
|
@@ -824,7 +826,7 @@ class StringYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
824
826
|
elif len(self.value) > 0 and (self.value[0] == '{' or self.value[0] == '['):
|
|
825
827
|
return f"'{self.value}'"
|
|
826
828
|
if self.comment is not None:
|
|
827
|
-
return
|
|
829
|
+
return yaml_add_comment_string(self.value, self.comment)
|
|
828
830
|
return self.value
|
|
829
831
|
|
|
830
832
|
def string_without_comment(self) -> str:
|
|
@@ -835,11 +837,11 @@ class StringYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
835
837
|
quoted = _yaml_strconv_quote(self.value)
|
|
836
838
|
return quoted
|
|
837
839
|
|
|
838
|
-
lbc =
|
|
840
|
+
lbc = yaml_detect_line_break_char(self.value)
|
|
839
841
|
if lbc in self.value:
|
|
840
842
|
# This block assumes that the line breaks in this inside scalar content and the Outside scalar content are
|
|
841
843
|
# the same. It works mostly, but inconsistencies occur if line break characters are mixed.
|
|
842
|
-
header =
|
|
844
|
+
header = yaml_literal_block_header(self.value)
|
|
843
845
|
space = ' ' * (self.token.position.column - 1)
|
|
844
846
|
indent = ' ' * self.token.position.indent_num
|
|
845
847
|
values: ta.List[str] = []
|
|
@@ -881,7 +883,7 @@ class LiteralYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
881
883
|
|
|
882
884
|
# read implements(io.Reader).Read
|
|
883
885
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
884
|
-
return
|
|
886
|
+
return yaml_read_node(p, self)
|
|
885
887
|
|
|
886
888
|
# type returns LiteralType
|
|
887
889
|
def type(self) -> YamlNodeType:
|
|
@@ -931,7 +933,7 @@ class MergeKeyYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
931
933
|
|
|
932
934
|
# read implements(io.Reader).Read
|
|
933
935
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
934
|
-
return
|
|
936
|
+
return yaml_read_node(p, self)
|
|
935
937
|
|
|
936
938
|
# type returns MergeKeyType
|
|
937
939
|
def type(self) -> YamlNodeType:
|
|
@@ -976,7 +978,7 @@ class BoolYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
976
978
|
|
|
977
979
|
# read implements(io.Reader).Read
|
|
978
980
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
979
|
-
return
|
|
981
|
+
return yaml_read_node(p, self)
|
|
980
982
|
|
|
981
983
|
# type returns BoolType
|
|
982
984
|
def type(self) -> YamlNodeType:
|
|
@@ -997,7 +999,7 @@ class BoolYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
997
999
|
# String boolean to text
|
|
998
1000
|
def string(self) -> str:
|
|
999
1001
|
if self.comment is not None:
|
|
1000
|
-
return
|
|
1002
|
+
return yaml_add_comment_string(self.token.value, self.comment)
|
|
1001
1003
|
return self.string_without_comment()
|
|
1002
1004
|
|
|
1003
1005
|
def string_without_comment(self) -> str:
|
|
@@ -1023,7 +1025,7 @@ class InfinityYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1023
1025
|
|
|
1024
1026
|
# read implements(io.Reader).Read
|
|
1025
1027
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1026
|
-
return
|
|
1028
|
+
return yaml_read_node(p, self)
|
|
1027
1029
|
|
|
1028
1030
|
# type returns InfinityType
|
|
1029
1031
|
def type(self) -> YamlNodeType:
|
|
@@ -1044,7 +1046,7 @@ class InfinityYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1044
1046
|
# String infinity to text
|
|
1045
1047
|
def string(self) -> str:
|
|
1046
1048
|
if self.comment is not None:
|
|
1047
|
-
return
|
|
1049
|
+
return yaml_add_comment_string(self.token.value, self.comment)
|
|
1048
1050
|
return self.string_without_comment()
|
|
1049
1051
|
|
|
1050
1052
|
def string_without_comment(self) -> str:
|
|
@@ -1069,7 +1071,7 @@ class NanYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1069
1071
|
|
|
1070
1072
|
# read implements(io.Reader).Read
|
|
1071
1073
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1072
|
-
return
|
|
1074
|
+
return yaml_read_node(p, self)
|
|
1073
1075
|
|
|
1074
1076
|
# type returns NanType
|
|
1075
1077
|
def type(self) -> YamlNodeType:
|
|
@@ -1090,7 +1092,7 @@ class NanYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1090
1092
|
# String returns .nan
|
|
1091
1093
|
def string(self) -> str:
|
|
1092
1094
|
if self.comment is not None:
|
|
1093
|
-
return
|
|
1095
|
+
return yaml_add_comment_string(self.token.value, self.comment)
|
|
1094
1096
|
return self.string_without_comment()
|
|
1095
1097
|
|
|
1096
1098
|
def string_without_comment(self) -> str:
|
|
@@ -1115,7 +1117,7 @@ class MapYamlNode(Abstract):
|
|
|
1115
1117
|
raise NotImplementedError
|
|
1116
1118
|
|
|
1117
1119
|
|
|
1118
|
-
|
|
1120
|
+
YAML_START_RANGE_INDEX = -1
|
|
1119
1121
|
|
|
1120
1122
|
|
|
1121
1123
|
# MapNodeIter is an iterator for ranging over a MapNode
|
|
@@ -1184,7 +1186,7 @@ class MappingYamlNode(BaseYamlNode):
|
|
|
1184
1186
|
|
|
1185
1187
|
# read implements(io.Reader).Read
|
|
1186
1188
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1187
|
-
return
|
|
1189
|
+
return yaml_read_node(p, self)
|
|
1188
1190
|
|
|
1189
1191
|
# type returns MappingType
|
|
1190
1192
|
def type(self) -> YamlNodeType:
|
|
@@ -1207,7 +1209,7 @@ class MappingYamlNode(BaseYamlNode):
|
|
|
1207
1209
|
values.append(value.string().lstrip(' '))
|
|
1208
1210
|
map_text = f'{{{", ".join(values)}}}'
|
|
1209
1211
|
if comment_mode and self.comment is not None:
|
|
1210
|
-
return
|
|
1212
|
+
return yaml_add_comment_string(map_text, self.comment)
|
|
1211
1213
|
return map_text
|
|
1212
1214
|
|
|
1213
1215
|
def block_style_string(self, comment_mode: bool) -> str:
|
|
@@ -1230,7 +1232,7 @@ class MappingYamlNode(BaseYamlNode):
|
|
|
1230
1232
|
def string(self) -> str:
|
|
1231
1233
|
if len(self.values) == 0:
|
|
1232
1234
|
if self.comment is not None:
|
|
1233
|
-
return
|
|
1235
|
+
return yaml_add_comment_string('{}', self.comment)
|
|
1234
1236
|
return '{}'
|
|
1235
1237
|
|
|
1236
1238
|
comment_mode = True
|
|
@@ -1242,7 +1244,7 @@ class MappingYamlNode(BaseYamlNode):
|
|
|
1242
1244
|
# map_range implements MapNode protocol
|
|
1243
1245
|
def map_range(self) -> MapYamlNodeIter:
|
|
1244
1246
|
return MapYamlNodeIter(
|
|
1245
|
-
idx=
|
|
1247
|
+
idx=YAML_START_RANGE_INDEX,
|
|
1246
1248
|
values=self.values,
|
|
1247
1249
|
)
|
|
1248
1250
|
|
|
@@ -1262,7 +1264,7 @@ class MappingKeyYamlNode(MapKeyYamlNode, BaseYamlNode):
|
|
|
1262
1264
|
|
|
1263
1265
|
# read implements(io.Reader).Read
|
|
1264
1266
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1265
|
-
return
|
|
1267
|
+
return yaml_read_node(p, self)
|
|
1266
1268
|
|
|
1267
1269
|
# type returns MappingKeyType
|
|
1268
1270
|
def type(self) -> YamlNodeType:
|
|
@@ -1321,7 +1323,7 @@ class MappingValueYamlNode(BaseYamlNode):
|
|
|
1321
1323
|
|
|
1322
1324
|
# read implements(io.Reader).Read
|
|
1323
1325
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1324
|
-
return
|
|
1326
|
+
return yaml_read_node(p, self)
|
|
1325
1327
|
|
|
1326
1328
|
# type returns MappingValueType
|
|
1327
1329
|
def type(self) -> YamlNodeType:
|
|
@@ -1364,7 +1366,7 @@ class MappingValueYamlNode(BaseYamlNode):
|
|
|
1364
1366
|
|
|
1365
1367
|
def to_string(self) -> str:
|
|
1366
1368
|
space = ' ' * (check.not_none(self.key.get_token()).position.column - 1)
|
|
1367
|
-
if
|
|
1369
|
+
if yaml_check_line_break(check.not_none(self.key.get_token())):
|
|
1368
1370
|
space = f'\n{space}'
|
|
1369
1371
|
|
|
1370
1372
|
key_indent_level = check.not_none(self.key.get_token()).position.indent_level
|
|
@@ -1418,7 +1420,7 @@ class MappingValueYamlNode(BaseYamlNode):
|
|
|
1418
1420
|
# map_range implements MapNode protocol
|
|
1419
1421
|
def map_range(self) -> MapYamlNodeIter:
|
|
1420
1422
|
return MapYamlNodeIter(
|
|
1421
|
-
idx=
|
|
1423
|
+
idx=YAML_START_RANGE_INDEX,
|
|
1422
1424
|
values=[self],
|
|
1423
1425
|
)
|
|
1424
1426
|
|
|
@@ -1507,7 +1509,7 @@ class SequenceYamlNode(BaseYamlNode, ArrayYamlNode):
|
|
|
1507
1509
|
|
|
1508
1510
|
# read implements(io.Reader).Read
|
|
1509
1511
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1510
|
-
return
|
|
1512
|
+
return yaml_read_node(p, self)
|
|
1511
1513
|
|
|
1512
1514
|
# type returns SequenceType
|
|
1513
1515
|
def type(self) -> YamlNodeType:
|
|
@@ -1531,7 +1533,7 @@ class SequenceYamlNode(BaseYamlNode, ArrayYamlNode):
|
|
|
1531
1533
|
|
|
1532
1534
|
seq_text = f'[{", ".join(values)}]'
|
|
1533
1535
|
if self.comment is not None:
|
|
1534
|
-
return
|
|
1536
|
+
return yaml_add_comment_string(seq_text, self.comment)
|
|
1535
1537
|
|
|
1536
1538
|
return seq_text
|
|
1537
1539
|
|
|
@@ -1597,7 +1599,7 @@ class SequenceYamlNode(BaseYamlNode, ArrayYamlNode):
|
|
|
1597
1599
|
# array_range implements ArrayNode protocol
|
|
1598
1600
|
def array_range(self) -> ta.Optional[ArrayYamlNodeIter]:
|
|
1599
1601
|
return ArrayYamlNodeIter(
|
|
1600
|
-
idx=
|
|
1602
|
+
idx=YAML_START_RANGE_INDEX,
|
|
1601
1603
|
values=ta.cast('ta.List[YamlNode]', self.values),
|
|
1602
1604
|
)
|
|
1603
1605
|
|
|
@@ -1647,7 +1649,7 @@ class SequenceEntryYamlNode(BaseYamlNode):
|
|
|
1647
1649
|
return self.string()
|
|
1648
1650
|
|
|
1649
1651
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1650
|
-
return
|
|
1652
|
+
return yaml_read_node(p, self)
|
|
1651
1653
|
|
|
1652
1654
|
|
|
1653
1655
|
# sequence_entry creates SequenceEntryNode instance.
|
|
@@ -1680,7 +1682,7 @@ class SequenceMergeValueYamlNode(MapYamlNode):
|
|
|
1680
1682
|
|
|
1681
1683
|
# map_range returns MapNodeIter instance.
|
|
1682
1684
|
def map_range(self) -> MapYamlNodeIter:
|
|
1683
|
-
ret = MapYamlNodeIter(values=[], idx=
|
|
1685
|
+
ret = MapYamlNodeIter(values=[], idx=YAML_START_RANGE_INDEX)
|
|
1684
1686
|
for value in self.values:
|
|
1685
1687
|
it = value.map_range()
|
|
1686
1688
|
ret.values.extend(it.values)
|
|
@@ -1711,7 +1713,7 @@ class AnchorYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1711
1713
|
|
|
1712
1714
|
# read implements(io.Reader).Read
|
|
1713
1715
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1714
|
-
return
|
|
1716
|
+
return yaml_read_node(p, self)
|
|
1715
1717
|
|
|
1716
1718
|
# type returns AnchorType
|
|
1717
1719
|
def type(self) -> YamlNodeType:
|
|
@@ -1781,7 +1783,7 @@ class AliasYamlNode(ScalarYamlNode, BaseYamlNode):
|
|
|
1781
1783
|
|
|
1782
1784
|
# read implements(io.Reader).Read
|
|
1783
1785
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1784
|
-
return
|
|
1786
|
+
return yaml_read_node(p, self)
|
|
1785
1787
|
|
|
1786
1788
|
# type returns AliasType
|
|
1787
1789
|
def type(self) -> YamlNodeType:
|
|
@@ -1828,7 +1830,7 @@ class DirectiveYamlNode(BaseYamlNode):
|
|
|
1828
1830
|
|
|
1829
1831
|
# read implements(io.Reader).Read
|
|
1830
1832
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1831
|
-
return
|
|
1833
|
+
return yaml_read_node(p, self)
|
|
1832
1834
|
|
|
1833
1835
|
# type returns DirectiveType
|
|
1834
1836
|
def type(self) -> YamlNodeType:
|
|
@@ -1877,7 +1879,7 @@ class TagYamlNode(ScalarYamlNode, BaseYamlNode, ArrayYamlNode):
|
|
|
1877
1879
|
|
|
1878
1880
|
# read implements(io.Reader).Read
|
|
1879
1881
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1880
|
-
return
|
|
1882
|
+
return yaml_read_node(p, self)
|
|
1881
1883
|
|
|
1882
1884
|
# type returns TagType
|
|
1883
1885
|
def type(self) -> YamlNodeType:
|
|
@@ -1933,7 +1935,7 @@ class CommentYamlNode(BaseYamlNode):
|
|
|
1933
1935
|
|
|
1934
1936
|
# read implements(io.Reader).Read
|
|
1935
1937
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1936
|
-
return
|
|
1938
|
+
return yaml_read_node(p, self)
|
|
1937
1939
|
|
|
1938
1940
|
# type returns CommentType
|
|
1939
1941
|
def type(self) -> YamlNodeType:
|
|
@@ -1966,7 +1968,7 @@ class CommentGroupYamlNode(BaseYamlNode):
|
|
|
1966
1968
|
|
|
1967
1969
|
# read implements(io.Reader).Read
|
|
1968
1970
|
def read(self, p: str) -> YamlErrorOr[int]:
|
|
1969
|
-
return
|
|
1971
|
+
return yaml_read_node(p, self)
|
|
1970
1972
|
|
|
1971
1973
|
# type returns CommentType
|
|
1972
1974
|
def type(self) -> YamlNodeType:
|
|
@@ -1995,7 +1997,7 @@ class CommentGroupYamlNode(BaseYamlNode):
|
|
|
1995
1997
|
space = ' ' * col
|
|
1996
1998
|
for comment in self.comments:
|
|
1997
1999
|
spc = space
|
|
1998
|
-
if
|
|
2000
|
+
if yaml_check_line_break(check.not_none(comment.token)):
|
|
1999
2001
|
spc = f'\n{spc}'
|
|
2000
2002
|
values.append(spc + comment.string())
|
|
2001
2003
|
return '\n'.join(values)
|
|
@@ -2107,7 +2109,7 @@ class FilterYamlAstWalker(YamlAstVisitor):
|
|
|
2107
2109
|
|
|
2108
2110
|
|
|
2109
2111
|
@dc.dataclass()
|
|
2110
|
-
class
|
|
2112
|
+
class YamlParentFinder:
|
|
2111
2113
|
target: YamlNode
|
|
2112
2114
|
|
|
2113
2115
|
def walk(self, parent: YamlNode, node: ta.Optional[YamlNode]) -> ta.Optional[YamlNode]:
|
|
@@ -2169,8 +2171,8 @@ class ParentFinder:
|
|
|
2169
2171
|
|
|
2170
2172
|
|
|
2171
2173
|
# Parent get parent node from child node.
|
|
2172
|
-
def
|
|
2173
|
-
finder =
|
|
2174
|
+
def yaml_parent(root: YamlNode, child: YamlNode) -> ta.Optional[YamlNode]:
|
|
2175
|
+
finder = YamlParentFinder(target=child)
|
|
2174
2176
|
return finder.walk(root, root)
|
|
2175
2177
|
|
|
2176
2178
|
|
|
@@ -2178,14 +2180,14 @@ def parent(root: YamlNode, child: YamlNode) -> ta.Optional[YamlNode]:
|
|
|
2178
2180
|
|
|
2179
2181
|
|
|
2180
2182
|
# Filter returns a list of nodes that match the given type.
|
|
2181
|
-
def
|
|
2183
|
+
def yaml_filter(typ: YamlNodeType, node: YamlNode) -> ta.List[YamlNode]:
|
|
2182
2184
|
walker = FilterYamlAstWalker(typ=typ)
|
|
2183
2185
|
yaml_ast_walk(walker, node)
|
|
2184
2186
|
return walker.results
|
|
2185
2187
|
|
|
2186
2188
|
|
|
2187
2189
|
# FilterFile returns a list of nodes that match the given type.
|
|
2188
|
-
def
|
|
2190
|
+
def yaml_filter_file(typ: YamlNodeType, file: YamlFile) -> ta.List[YamlNode]:
|
|
2189
2191
|
results: ta.List[YamlNode] = []
|
|
2190
2192
|
for doc in file.docs:
|
|
2191
2193
|
walker = FilterYamlAstWalker(typ=typ)
|