robotframework 6.1.1__zip → 7.0__zip
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.
- {robotframework-6.1.1 → robotframework-7.0}/INSTALL.rst +25 -25
- {robotframework-6.1.1 → robotframework-7.0}/PKG-INFO +6 -8
- {robotframework-6.1.1 → robotframework-7.0}/README.rst +3 -2
- {robotframework-6.1.1 → robotframework-7.0}/setup.py +3 -6
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/__init__.py +4 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/deco.py +60 -14
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/exceptions.py +6 -6
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/interfaces.py +402 -67
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/logger.py +27 -20
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/api/parsing.py +4 -2
- robotframework-7.0/src/robot/api/py.typed +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/conf/gatherfailed.py +2 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/conf/languages.py +0 -9
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/conf/settings.py +21 -14
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/common/storage.js +11 -6
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/htmlfilewriter.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/libdoc.css +10 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/libdoc.html +10 -0
- robotframework-7.0/src/robot/htmldata/rebot/common.css +362 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/doc_formatting.css +13 -7
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/log.css +51 -10
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/log.html +14 -23
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/model.js +2 -4
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/report.css +83 -19
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/report.html +22 -7
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/testdata.js +10 -3
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/view.js +84 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/template.py +3 -3
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/builder.py +0 -8
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/datatypes.py +9 -10
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/htmlutils.py +4 -7
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/jsonbuilder.py +38 -20
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/model.py +21 -28
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/robotbuilder.py +50 -31
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/standardtypes.py +9 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/xmlbuilder.py +35 -20
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/xmlwriter.py +18 -38
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/BuiltIn.py +255 -205
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Collections.py +384 -240
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/DateTime.py +73 -60
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/OperatingSystem.py +6 -5
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Process.py +26 -27
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Remote.py +40 -36
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/String.py +66 -76
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/XML.py +66 -59
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/__init__.py +2 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/__init__.py +5 -5
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/body.py +44 -13
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/configurer.py +15 -11
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/control.py +226 -84
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/filter.py +31 -25
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/itemlist.py +9 -8
- robotframework-7.0/src/robot/model/keyword.py +77 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/message.py +19 -10
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/modelobject.py +25 -7
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/namepatterns.py +3 -25
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/stats.py +9 -15
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/tags.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/testcase.py +15 -27
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/testsuite.py +17 -26
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/visitor.py +35 -8
- robotframework-7.0/src/robot/output/console/dotted.py +90 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/console/quiet.py +3 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/console/verbose.py +61 -61
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/debugfile.py +39 -24
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/filelogger.py +18 -15
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/librarylogger.py +3 -2
- robotframework-7.0/src/robot/output/listeners.py +753 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/logger.py +216 -80
- robotframework-7.0/src/robot/output/loggerapi.py +215 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/loggerhelper.py +23 -56
- robotframework-7.0/src/robot/output/output.py +185 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/stdoutlogsplitter.py +8 -5
- robotframework-7.0/src/robot/output/xmllogger.py +459 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/blocklexers.py +17 -13
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/context.py +12 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/lexer.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/settings.py +6 -3
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/statementlexers.py +39 -10
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/tokens.py +27 -29
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/model/blocks.py +19 -6
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/model/statements.py +193 -94
- robotframework-7.0/src/robot/parsing/model/visitor.py +100 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/rebot.py +2 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/expandkeywordmatcher.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/jsbuildingcontext.py +8 -6
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/jsmodelbuilders.py +88 -61
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/logreportwriters.py +16 -10
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/outputwriter.py +18 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/resultwriter.py +4 -4
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/stringcache.py +3 -3
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/xunitwriter.py +15 -21
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/__init__.py +3 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/configurer.py +12 -9
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/executionresult.py +56 -8
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/flattenkeywordmatcher.py +48 -9
- robotframework-7.0/src/robot/result/keywordremover.py +207 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/merger.py +1 -1
- robotframework-7.0/src/robot/result/model.py +1185 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/modeldeprecation.py +9 -3
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/resultbuilder.py +46 -36
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/xmlelementhandlers.py +83 -43
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/run.py +2 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/__init__.py +14 -4
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/__init__.py +2 -1
- robotframework-7.0/src/robot/running/arguments/argumentconverter.py +100 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/argumentmapper.py +26 -24
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/argumentparser.py +82 -60
- robotframework-7.0/src/robot/running/arguments/argumentresolver.py +158 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/argumentspec.py +83 -116
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/argumentvalidator.py +33 -27
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/customconverters.py +15 -12
- robotframework-7.0/src/robot/running/arguments/embedded.py +145 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/arguments/typeconverters.py +233 -213
- robotframework-7.0/src/robot/running/arguments/typeinfo.py +317 -0
- robotframework-7.0/src/robot/running/arguments/typeinfoparser.py +219 -0
- robotframework-7.0/src/robot/running/arguments/typevalidator.py +60 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/bodyrunner.py +147 -129
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/builder/builders.py +2 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/builder/parsers.py +10 -11
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/builder/settings.py +9 -17
- robotframework-7.0/src/robot/running/builder/transformers.py +535 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/context.py +113 -31
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/dynamicmethods.py +62 -34
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/importer.py +27 -49
- robotframework-7.0/src/robot/running/invalidkeyword.py +67 -0
- robotframework-7.0/src/robot/running/keywordfinder.py +91 -0
- robotframework-7.0/src/robot/running/keywordimplementation.py +164 -0
- robotframework-7.0/src/robot/running/librarykeyword.py +392 -0
- robotframework-7.0/src/robot/running/librarykeywordrunner.py +250 -0
- robotframework-7.0/src/robot/running/libraryscopes.py +115 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/model.py +195 -377
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/namespace.py +124 -137
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/outputcapture.py +20 -12
- robotframework-7.0/src/robot/running/resourcemodel.py +448 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/statusreporter.py +16 -13
- robotframework-7.0/src/robot/running/suiterunner.py +265 -0
- robotframework-7.0/src/robot/running/testlibraries.py +500 -0
- robotframework-7.0/src/robot/running/userkeywordrunner.py +260 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/testdoc.py +18 -13
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/__init__.py +53 -35
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/connectioncache.py +64 -59
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/dotdict.py +3 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/encodingsniffer.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/escaping.py +19 -19
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/importer.py +2 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/markupwriters.py +23 -15
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/misc.py +1 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/normalizing.py +9 -24
- robotframework-7.0/src/robot/utils/notset.py +33 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/platform.py +15 -5
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robotio.py +9 -9
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robotpath.py +1 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robottime.py +122 -90
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robottypes.py +21 -31
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/setter.py +0 -5
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/text.py +7 -4
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/unic.py +2 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/__init__.py +2 -2
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/assigner.py +17 -19
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/evaluation.py +20 -17
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/filesetter.py +80 -80
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/replacer.py +33 -36
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/scopes.py +17 -12
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/search.py +66 -41
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/store.py +14 -16
- robotframework-7.0/src/robot/variables/tablesetter.py +164 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/variables.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/version.py +1 -1
- {robotframework-6.1.1 → robotframework-7.0}/src/robotframework.egg-info/PKG-INFO +6 -8
- {robotframework-6.1.1 → robotframework-7.0}/src/robotframework.egg-info/SOURCES.txt +10 -8
- {robotframework-6.1.1 → robotframework-7.0}/tasks.py +6 -6
- robotframework-6.1.1/src/robot/htmldata/rebot/common.css +0 -239
- robotframework-6.1.1/src/robot/libraries/Reserved.py +0 -48
- robotframework-6.1.1/src/robot/model/keyword.py +0 -173
- robotframework-6.1.1/src/robot/output/console/dotted.py +0 -90
- robotframework-6.1.1/src/robot/output/listenerarguments.py +0 -165
- robotframework-6.1.1/src/robot/output/listenermethods.py +0 -113
- robotframework-6.1.1/src/robot/output/listeners.py +0 -174
- robotframework-6.1.1/src/robot/output/output.py +0 -95
- robotframework-6.1.1/src/robot/output/xmllogger.py +0 -354
- robotframework-6.1.1/src/robot/parsing/model/visitor.py +0 -67
- robotframework-6.1.1/src/robot/result/keywordremover.py +0 -183
- robotframework-6.1.1/src/robot/result/model.py +0 -957
- robotframework-6.1.1/src/robot/running/arguments/argumentconverter.py +0 -79
- robotframework-6.1.1/src/robot/running/arguments/argumentresolver.py +0 -131
- robotframework-6.1.1/src/robot/running/arguments/embedded.py +0 -146
- robotframework-6.1.1/src/robot/running/arguments/typevalidator.py +0 -56
- robotframework-6.1.1/src/robot/running/builder/transformers.py +0 -642
- robotframework-6.1.1/src/robot/running/handlers.py +0 -321
- robotframework-6.1.1/src/robot/running/handlerstore.py +0 -66
- robotframework-6.1.1/src/robot/running/librarykeywordrunner.py +0 -238
- robotframework-6.1.1/src/robot/running/libraryscopes.py +0 -97
- robotframework-6.1.1/src/robot/running/modelcombiner.py +0 -32
- robotframework-6.1.1/src/robot/running/suiterunner.py +0 -248
- robotframework-6.1.1/src/robot/running/testlibraries.py +0 -423
- robotframework-6.1.1/src/robot/running/usererrorhandler.py +0 -75
- robotframework-6.1.1/src/robot/running/userkeyword.py +0 -111
- robotframework-6.1.1/src/robot/running/userkeywordrunner.py +0 -274
- robotframework-6.1.1/src/robot/variables/tablesetter.py +0 -156
- {robotframework-6.1.1 → robotframework-7.0}/AUTHORS.rst +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/BUILD.rst +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/CONTRIBUTING.rst +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/COPYRIGHT.txt +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/LICENSE.txt +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/MANIFEST.in +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/setup.cfg +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/__main__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/conf/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/errors.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/common/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/common/js_disabled.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/jsonwriter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.highlight.min.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.min.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.tablesorter.min.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/jquery.tmpl.min.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/lib/jsxcompressor.min.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/doc_formatting.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/print.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/libdoc/pygments.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/fileloading.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/log.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/print.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/rebot/util.js +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/testdoc/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/testdoc/testdoc.css +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/htmldata/testdoc/testdoc.html +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdoc.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/consoleviewer.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/htmlwriter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/jsonwriter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/output.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libdocpkg/writer.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Dialogs.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Easter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Screenshot.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/Telnet.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/libraries/dialogs_py.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/fixture.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/metadata.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/modifier.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/statistics.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/suitestatistics.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/tagsetter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/tagstatistics.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/model/totalstatistics.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/console/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/console/highlighting.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/output/pyloggingconf.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/lexer/tokenizer.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/model/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/parser/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/parser/blockparsers.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/parser/fileparser.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/parser/parser.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/parsing/suitestructure.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/pythonpathsetter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/jsexecutionresult.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/reporting/jswriter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/executionerrors.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/messagefilter.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/suiteteardownfailed.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/result/visitor.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/builder/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/randomizer.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/runkwregister.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/signalhandler.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/status.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/timeouts/__init__.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/timeouts/posix.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/running/timeouts/windows.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/application.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/argumentparser.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/asserts.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/charwidth.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/compress.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/encoding.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/error.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/etreewrapper.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/filereader.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/frange.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/htmlformatters.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/markuputils.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/match.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/recommendations.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/restreader.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robotenv.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/robotinspect.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/sortable.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/utils/typehints.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/finders.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/notfound.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robot/variables/resolvable.py +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robotframework.egg-info/dependency_links.txt +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robotframework.egg-info/entry_points.txt +0 -0
- {robotframework-6.1.1 → robotframework-7.0}/src/robotframework.egg-info/top_level.txt +0 -0
|
@@ -28,13 +28,13 @@ is having Python or its alternative implementation `PyPy <https://pypy.org>`_
|
|
|
28
28
|
installed. Another recommended precondition is having the pip_ package manager
|
|
29
29
|
available.
|
|
30
30
|
|
|
31
|
-
Robot Framework requires Python 3.
|
|
31
|
+
Robot Framework requires Python 3.8 or newer. The latest version that supports
|
|
32
|
+
Python 3.6 and 3.7 is `Robot Framework 6.1.1`__. If you need to use Python 2,
|
|
32
33
|
`Jython <http://jython.org>`_ or `IronPython <http://ironpython.net>`_,
|
|
33
34
|
you can use `Robot Framework 4.1.3`__.
|
|
34
|
-
The forthcoming Robot Framework 7.0 will require `Python 3.8 or newer`__.
|
|
35
35
|
|
|
36
|
+
__ https://github.com/robotframework/robotframework/blob/v6.1.1/INSTALL.rst
|
|
36
37
|
__ https://github.com/robotframework/robotframework/blob/v4.1.3/INSTALL.rst
|
|
37
|
-
__ https://github.com/robotframework/robotframework/issues/4294
|
|
38
38
|
|
|
39
39
|
Installing Python on Linux
|
|
40
40
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -50,7 +50,7 @@ command in a terminal:
|
|
|
50
50
|
.. sourcecode:: bash
|
|
51
51
|
|
|
52
52
|
$ python --version
|
|
53
|
-
Python 3.
|
|
53
|
+
Python 3.10.13
|
|
54
54
|
|
|
55
55
|
Notice that if your distribution provides also older Python 2, running `python`
|
|
56
56
|
may use that. To use Python 3, you can use `python3` command or even more version
|
|
@@ -60,10 +60,10 @@ one to use:
|
|
|
60
60
|
|
|
61
61
|
.. sourcecode:: bash
|
|
62
62
|
|
|
63
|
-
$ python3.
|
|
64
|
-
Python 3.
|
|
65
|
-
$ python3.
|
|
66
|
-
Python 3.
|
|
63
|
+
$ python3.11 --version
|
|
64
|
+
Python 3.11.7
|
|
65
|
+
$ python3.12 --version
|
|
66
|
+
Python 3.12.1
|
|
67
67
|
|
|
68
68
|
Installing Robot Framework directly under the system provided Python
|
|
69
69
|
has a risk that possible problems can affect the whole Python installation
|
|
@@ -92,7 +92,7 @@ added to `PATH`, you can open the command prompt and execute `python --version`:
|
|
|
92
92
|
.. sourcecode:: batch
|
|
93
93
|
|
|
94
94
|
C:\>python --version
|
|
95
|
-
Python 3.9
|
|
95
|
+
Python 3.10.9
|
|
96
96
|
|
|
97
97
|
If you install multiple Python versions on Windows, the version that is used
|
|
98
98
|
when you execute `python` is the one first in `PATH`. If you need to use others,
|
|
@@ -101,9 +101,9 @@ the easiest way is using the `py launcher`__:
|
|
|
101
101
|
.. sourcecode:: batch
|
|
102
102
|
|
|
103
103
|
C:\>py --version
|
|
104
|
-
Python 3.9
|
|
105
|
-
C:\>py -3.
|
|
106
|
-
Python 3.
|
|
104
|
+
Python 3.10.9
|
|
105
|
+
C:\>py -3.12 --version
|
|
106
|
+
Python 3.12.1
|
|
107
107
|
|
|
108
108
|
__ https://docs.python.org/3/using/windows.html
|
|
109
109
|
__ https://docs.python.org/3/using/windows.html#windows-full
|
|
@@ -203,18 +203,18 @@ Examples on Linux:
|
|
|
203
203
|
.. sourcecode:: bash
|
|
204
204
|
|
|
205
205
|
$ pip --version
|
|
206
|
-
pip
|
|
207
|
-
$ python3.
|
|
208
|
-
pip
|
|
206
|
+
pip 23.2.1 from ... (python 3.10)
|
|
207
|
+
$ python3.12 -m pip --version
|
|
208
|
+
pip 23.3.1 from ... (python 3.12)
|
|
209
209
|
|
|
210
210
|
Examples on Windows:
|
|
211
211
|
|
|
212
212
|
.. sourcecode:: batch
|
|
213
213
|
|
|
214
214
|
C:\> pip --version
|
|
215
|
-
pip
|
|
216
|
-
C:\> py -m 3.
|
|
217
|
-
pip
|
|
215
|
+
pip 23.2.1 from ... (python 3.10)
|
|
216
|
+
C:\> py -m 3.12 -m pip --version
|
|
217
|
+
pip 23.3.2 from ... (python 3.12)
|
|
218
218
|
|
|
219
219
|
In the subsequent sections pip is always run using the `pip` command. You may
|
|
220
220
|
need to use some of the other approaches explained above in your environment.
|
|
@@ -241,10 +241,10 @@ __ PyPI_
|
|
|
241
241
|
pip install --upgrade --pre robotframework
|
|
242
242
|
|
|
243
243
|
# Install a specific version
|
|
244
|
-
pip install robotframework==
|
|
244
|
+
pip install robotframework==7.0
|
|
245
245
|
|
|
246
246
|
# Install separately downloaded package (no network connection needed)
|
|
247
|
-
pip install robotframework-
|
|
247
|
+
pip install robotframework-7.0-py3-none-any.whl
|
|
248
248
|
|
|
249
249
|
# Install latest (possibly unreleased) code directly from GitHub
|
|
250
250
|
pip install https://github.com/robotframework/robotframework/archive/master.zip
|
|
@@ -283,7 +283,7 @@ the following command:
|
|
|
283
283
|
.. sourcecode:: bash
|
|
284
284
|
|
|
285
285
|
$ robot --version
|
|
286
|
-
Robot Framework
|
|
286
|
+
Robot Framework 7.0 (Python 3.10.3 on linux)
|
|
287
287
|
|
|
288
288
|
If running these commands fails with a message saying that the command is
|
|
289
289
|
not found or recognized, a good first step is double-checking the PATH_
|
|
@@ -296,11 +296,11 @@ version.
|
|
|
296
296
|
|
|
297
297
|
.. sourcecode:: bash
|
|
298
298
|
|
|
299
|
-
$ python3.
|
|
300
|
-
Robot Framework
|
|
299
|
+
$ python3.12 -m robot --version
|
|
300
|
+
Robot Framework 7.0 (Python 3.12.1 on linux)
|
|
301
301
|
|
|
302
|
-
C:\>py -3.
|
|
303
|
-
Robot Framework
|
|
302
|
+
C:\>py -3.11 -m robot --version
|
|
303
|
+
Robot Framework 7.0 (Python 3.11.7 on win32)
|
|
304
304
|
|
|
305
305
|
Virtual environments
|
|
306
306
|
--------------------
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.0
|
|
4
4
|
Summary: Generic automation framework for acceptance testing and robotic process automation (RPA)
|
|
5
5
|
Home-page: https://robotframework.org
|
|
6
6
|
Author: Pekka Klärck
|
|
@@ -10,9 +10,8 @@ Download-URL: https://pypi.org/project/robotframework
|
|
|
10
10
|
Project-URL: Source, https://github.com/robotframework/robotframework
|
|
11
11
|
Project-URL: Issue Tracker, https://github.com/robotframework/robotframework/issues
|
|
12
12
|
Project-URL: Documentation, https://robotframework.org/robotframework
|
|
13
|
-
Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-
|
|
13
|
+
Project-URL: Release Notes, https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-7.0.rst
|
|
14
14
|
Project-URL: Slack, http://slack.robotframework.org
|
|
15
|
-
Project-URL: Twitter, https://twitter.com/robotframework
|
|
16
15
|
Description: Robot Framework
|
|
17
16
|
===============
|
|
18
17
|
|
|
@@ -64,10 +63,12 @@ Description: Robot Framework
|
|
|
64
63
|
For more detailed installation instructions, including installing Python, see
|
|
65
64
|
`INSTALL.rst <https://github.com/robotframework/robotframework/blob/master/INSTALL.rst>`__.
|
|
66
65
|
|
|
67
|
-
Robot Framework requires Python 3.
|
|
66
|
+
Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
|
|
67
|
+
The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
|
|
68
68
|
If you need to use Python 2, `Jython <http://jython.org>`_ or
|
|
69
69
|
`IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
|
|
70
70
|
|
|
71
|
+
__ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
|
|
71
72
|
__ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
|
|
72
73
|
|
|
73
74
|
Example
|
|
@@ -132,7 +133,6 @@ Description: Robot Framework
|
|
|
132
133
|
- `Forum <https://forum.robotframework.org/>`_
|
|
133
134
|
- `robotframework-users
|
|
134
135
|
<https://groups.google.com/group/robotframework-users/>`_ mailing list
|
|
135
|
-
- `@robotframework <https://twitter.com/robotframework>`_ on Twitter
|
|
136
136
|
|
|
137
137
|
Contributing
|
|
138
138
|
------------
|
|
@@ -171,8 +171,6 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
171
171
|
Classifier: Operating System :: OS Independent
|
|
172
172
|
Classifier: Programming Language :: Python :: 3
|
|
173
173
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
174
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
175
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
176
174
|
Classifier: Programming Language :: Python :: 3.8
|
|
177
175
|
Classifier: Programming Language :: Python :: 3.9
|
|
178
176
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -184,5 +182,5 @@ Classifier: Topic :: Software Development :: Testing
|
|
|
184
182
|
Classifier: Topic :: Software Development :: Testing :: Acceptance
|
|
185
183
|
Classifier: Topic :: Software Development :: Testing :: BDD
|
|
186
184
|
Classifier: Framework :: Robot Framework
|
|
187
|
-
Requires-Python: >=3.
|
|
185
|
+
Requires-Python: >=3.8
|
|
188
186
|
Description-Content-Type: text/x-rst
|
|
@@ -49,10 +49,12 @@ you can simply run::
|
|
|
49
49
|
For more detailed installation instructions, including installing Python, see
|
|
50
50
|
`<INSTALL.rst>`__.
|
|
51
51
|
|
|
52
|
-
Robot Framework requires Python 3.
|
|
52
|
+
Robot Framework requires Python 3.8 or newer and runs also on `PyPy <http://pypy.org>`_.
|
|
53
|
+
The latest version that supports Python 3.6 and 3.7 is `Robot Framework 6.1.1`__.
|
|
53
54
|
If you need to use Python 2, `Jython <http://jython.org>`_ or
|
|
54
55
|
`IronPython <http://ironpython.net>`_, you can use `Robot Framework 4.1.3`__.
|
|
55
56
|
|
|
57
|
+
__ https://github.com/robotframework/robotframework/tree/v6.1.1#readme
|
|
56
58
|
__ https://github.com/robotframework/robotframework/tree/v4.1.3#readme
|
|
57
59
|
|
|
58
60
|
Example
|
|
@@ -117,7 +119,6 @@ Support and Contact
|
|
|
117
119
|
- `Forum <https://forum.robotframework.org/>`_
|
|
118
120
|
- `robotframework-users
|
|
119
121
|
<https://groups.google.com/group/robotframework-users/>`_ mailing list
|
|
120
|
-
- `@robotframework <https://twitter.com/robotframework>`_ on Twitter
|
|
121
122
|
|
|
122
123
|
Contributing
|
|
123
124
|
------------
|
|
@@ -6,7 +6,7 @@ from setuptools import find_packages, setup
|
|
|
6
6
|
|
|
7
7
|
# Version number typically updated by running `invoke set-version <version>`.
|
|
8
8
|
# Run `invoke --help set-version` or see tasks.py for details.
|
|
9
|
-
VERSION = '
|
|
9
|
+
VERSION = '7.0'
|
|
10
10
|
with open(join(dirname(abspath(__file__)), 'README.rst')) as f:
|
|
11
11
|
LONG_DESCRIPTION = f.read()
|
|
12
12
|
base_url = 'https://github.com/robotframework/robotframework/blob/master'
|
|
@@ -22,8 +22,6 @@ License :: OSI Approved :: Apache Software License
|
|
|
22
22
|
Operating System :: OS Independent
|
|
23
23
|
Programming Language :: Python :: 3
|
|
24
24
|
Programming Language :: Python :: 3 :: Only
|
|
25
|
-
Programming Language :: Python :: 3.6
|
|
26
|
-
Programming Language :: Python :: 3.7
|
|
27
25
|
Programming Language :: Python :: 3.8
|
|
28
26
|
Programming Language :: Python :: 3.9
|
|
29
27
|
Programming Language :: Python :: 3.10
|
|
@@ -42,7 +40,7 @@ KEYWORDS = ('robotframework automation testautomation rpa '
|
|
|
42
40
|
'testing acceptancetesting atdd bdd')
|
|
43
41
|
PACKAGE_DATA = [join('htmldata', directory, pattern)
|
|
44
42
|
for directory in ('rebot', 'libdoc', 'testdoc', 'lib', 'common')
|
|
45
|
-
for pattern in ('*.html', '*.css', '*.js')]
|
|
43
|
+
for pattern in ('*.html', '*.css', '*.js')] + ['api/py.typed']
|
|
46
44
|
|
|
47
45
|
|
|
48
46
|
setup(
|
|
@@ -57,7 +55,6 @@ setup(
|
|
|
57
55
|
'Documentation': 'https://robotframework.org/robotframework',
|
|
58
56
|
'Release Notes': f'https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-{VERSION}.rst',
|
|
59
57
|
'Slack': 'http://slack.robotframework.org',
|
|
60
|
-
'Twitter': 'https://twitter.com/robotframework',
|
|
61
58
|
},
|
|
62
59
|
download_url = 'https://pypi.org/project/robotframework',
|
|
63
60
|
license = 'Apache License 2.0',
|
|
@@ -66,7 +63,7 @@ setup(
|
|
|
66
63
|
long_description_content_type = 'text/x-rst',
|
|
67
64
|
keywords = KEYWORDS,
|
|
68
65
|
platforms = 'any',
|
|
69
|
-
python_requires='>=3.
|
|
66
|
+
python_requires='>=3.8',
|
|
70
67
|
classifiers = CLASSIFIERS,
|
|
71
68
|
package_dir = {'': 'src'},
|
|
72
69
|
package_data = {'robot': PACKAGE_DATA},
|
|
@@ -61,6 +61,9 @@ Currently exposed APIs are:
|
|
|
61
61
|
returned by the :func:`~robot.result.resultbuilder.ExecutionResult` or
|
|
62
62
|
an executed :class:`~robot.running.model.TestSuite`.
|
|
63
63
|
|
|
64
|
+
* :class:`~robot.running.arguments.typeinfo.TypeInfo` class for parsing
|
|
65
|
+
type hints and converting values based on them. New in Robot Framework 7.0.
|
|
66
|
+
|
|
64
67
|
* :class:`~robot.conf.languages.Languages` and :class:`~robot.conf.languages.Language`
|
|
65
68
|
classes for external tools that need to work with different translations.
|
|
66
69
|
The latter is also the base class to use with custom translations.
|
|
@@ -81,6 +84,6 @@ from robot.parsing import (get_tokens, get_resource_tokens, get_init_tokens,
|
|
|
81
84
|
get_model, get_resource_model, get_init_model, Token)
|
|
82
85
|
from robot.reporting import ResultWriter
|
|
83
86
|
from robot.result import ExecutionResult, ResultVisitor
|
|
84
|
-
from robot.running import TestSuite, TestSuiteBuilder
|
|
87
|
+
from robot.running import TestSuite, TestSuiteBuilder, TypeInfo
|
|
85
88
|
|
|
86
89
|
from .exceptions import ContinuableFailure, Failure, FatalError, Error, SkipExecution
|
|
@@ -13,10 +13,23 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
|
-
import
|
|
16
|
+
from typing import Any, Callable, Sequence, TypeVar, Union, overload
|
|
17
17
|
|
|
18
|
+
from .interfaces import TypeHints
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
|
|
21
|
+
# Current annotations report `attr-defined` errors. This can be solved once Python 3.10
|
|
22
|
+
# becomes the minimum version (error-free conditional typing proved too complex).
|
|
23
|
+
# See: https://discuss.python.org/t/questions-related-to-typing-overload-style/38130
|
|
24
|
+
F = TypeVar('F', bound=Callable[..., Any]) # Any function.
|
|
25
|
+
K = TypeVar('K', bound=Callable[..., Any]) # Keyword function.
|
|
26
|
+
L = TypeVar('L', bound=type) # Library class.
|
|
27
|
+
KeywordDecorator = Callable[[K], K]
|
|
28
|
+
LibraryDecorator = Callable[[L], L]
|
|
29
|
+
Converter = Union[Callable[[Any], Any], Callable[[Any, Any], Any]]
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def not_keyword(func: F) -> F:
|
|
20
33
|
"""Decorator to disable exposing functions or methods as keywords.
|
|
21
34
|
|
|
22
35
|
Examples::
|
|
@@ -41,8 +54,22 @@ def not_keyword(func):
|
|
|
41
54
|
not_keyword.robot_not_keyword = True
|
|
42
55
|
|
|
43
56
|
|
|
57
|
+
@overload
|
|
58
|
+
def keyword(func: K, /) -> K:
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@overload
|
|
63
|
+
def keyword(name: 'str | None' = None,
|
|
64
|
+
tags: Sequence[str] = (),
|
|
65
|
+
types: 'TypeHints | None' = ()) -> KeywordDecorator:
|
|
66
|
+
...
|
|
67
|
+
|
|
68
|
+
|
|
44
69
|
@not_keyword
|
|
45
|
-
def keyword(name
|
|
70
|
+
def keyword(name: 'K | str | None' = None,
|
|
71
|
+
tags: Sequence[str] = (),
|
|
72
|
+
types: 'TypeHints | None' = ()) -> 'K | KeywordDecorator':
|
|
46
73
|
"""Decorator to set custom name, tags and argument types to keywords.
|
|
47
74
|
|
|
48
75
|
This decorator creates ``robot_name``, ``robot_tags`` and ``robot_types``
|
|
@@ -84,10 +111,10 @@ def keyword(name=None, tags=(), types=()):
|
|
|
84
111
|
def no_conversion(length, case_insensitive=False):
|
|
85
112
|
# ...
|
|
86
113
|
"""
|
|
87
|
-
if
|
|
114
|
+
if callable(name):
|
|
88
115
|
return keyword()(name)
|
|
89
116
|
|
|
90
|
-
def decorator(func):
|
|
117
|
+
def decorator(func: F) -> F:
|
|
91
118
|
func.robot_name = name
|
|
92
119
|
func.robot_tags = tags
|
|
93
120
|
func.robot_types = types
|
|
@@ -96,15 +123,34 @@ def keyword(name=None, tags=(), types=()):
|
|
|
96
123
|
return decorator
|
|
97
124
|
|
|
98
125
|
|
|
126
|
+
@overload
|
|
127
|
+
def library(cls: L, /) -> L:
|
|
128
|
+
...
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
@overload
|
|
132
|
+
def library(scope: 'str | None' = None,
|
|
133
|
+
version: 'str | None' = None,
|
|
134
|
+
converters: 'dict[type, Converter] | None' = None,
|
|
135
|
+
doc_format: 'str | None' = None,
|
|
136
|
+
listener: 'Any | None' = None,
|
|
137
|
+
auto_keywords: bool = False) -> LibraryDecorator:
|
|
138
|
+
...
|
|
139
|
+
|
|
140
|
+
|
|
99
141
|
@not_keyword
|
|
100
|
-
def library(scope
|
|
101
|
-
|
|
142
|
+
def library(scope: 'L | str | None' = None,
|
|
143
|
+
version: 'str | None' = None,
|
|
144
|
+
converters: 'dict[type, Converter] | None' = None,
|
|
145
|
+
doc_format: 'str | None' = None,
|
|
146
|
+
listener: 'Any | None' = None,
|
|
147
|
+
auto_keywords: bool = False) -> 'L | LibraryDecorator':
|
|
102
148
|
"""Class decorator to control keyword discovery and other library settings.
|
|
103
149
|
|
|
104
|
-
|
|
105
|
-
``ROBOT_AUTO_KEYWORDS = False`` to the decorated library. In that
|
|
106
|
-
only methods decorated explicitly with the :func:`keyword` decorator
|
|
107
|
-
keywords. If that is not desired, automatic keyword discovery can be
|
|
150
|
+
Disables automatic keyword detection by setting class attribute
|
|
151
|
+
``ROBOT_AUTO_KEYWORDS = False`` to the decorated library by default. In that
|
|
152
|
+
mode only methods decorated explicitly with the :func:`keyword` decorator
|
|
153
|
+
become keywords. If that is not desired, automatic keyword discovery can be
|
|
108
154
|
enabled by using ``auto_keywords=True``.
|
|
109
155
|
|
|
110
156
|
Arguments ``scope``, ``version``, ``converters``, ``doc_format`` and ``listener``
|
|
@@ -112,7 +158,7 @@ def library(scope=None, version=None, converters=None, doc_format=None, listener
|
|
|
112
158
|
using class attributes ``ROBOT_LIBRARY_SCOPE``, ``ROBOT_LIBRARY_VERSION``,
|
|
113
159
|
``ROBOT_LIBRARY_CONVERTERS``, ``ROBOT_LIBRARY_DOC_FORMAT`` and
|
|
114
160
|
``ROBOT_LIBRARY_LISTENER``, respectively. These attributes are only set if
|
|
115
|
-
the related arguments are given and they override possible existing attributes
|
|
161
|
+
the related arguments are given, and they override possible existing attributes
|
|
116
162
|
in the decorated class.
|
|
117
163
|
|
|
118
164
|
Examples::
|
|
@@ -135,10 +181,10 @@ def library(scope=None, version=None, converters=None, doc_format=None, listener
|
|
|
135
181
|
The ``@library`` decorator is new in Robot Framework 3.2.
|
|
136
182
|
The ``converters`` argument is new in Robot Framework 5.0.
|
|
137
183
|
"""
|
|
138
|
-
if
|
|
184
|
+
if isinstance(scope, type):
|
|
139
185
|
return library()(scope)
|
|
140
186
|
|
|
141
|
-
def decorator(cls):
|
|
187
|
+
def decorator(cls: L) -> L:
|
|
142
188
|
if scope is not None:
|
|
143
189
|
cls.ROBOT_LIBRARY_SCOPE = scope
|
|
144
190
|
if version is not None:
|
|
@@ -31,12 +31,12 @@ class Failure(AssertionError):
|
|
|
31
31
|
"""
|
|
32
32
|
ROBOT_SUPPRESS_NAME = True
|
|
33
33
|
|
|
34
|
-
def __init__(self, message, html=False):
|
|
34
|
+
def __init__(self, message: str, html: bool = False):
|
|
35
35
|
"""
|
|
36
36
|
:param message: Exception message.
|
|
37
37
|
:param html: When ``True``, message is considered to be HTML and not escaped.
|
|
38
38
|
"""
|
|
39
|
-
|
|
39
|
+
super().__init__(message if not html else '*HTML* ' + message)
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
class ContinuableFailure(Failure):
|
|
@@ -57,12 +57,12 @@ class Error(RuntimeError):
|
|
|
57
57
|
"""
|
|
58
58
|
ROBOT_SUPPRESS_NAME = True
|
|
59
59
|
|
|
60
|
-
def __init__(self, message, html=False):
|
|
60
|
+
def __init__(self, message: str, html: bool = False):
|
|
61
61
|
"""
|
|
62
62
|
:param message: Exception message.
|
|
63
63
|
:param html: When ``True``, message is considered to be HTML and not escaped.
|
|
64
64
|
"""
|
|
65
|
-
|
|
65
|
+
super().__init__(message if not html else '*HTML* ' + message)
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
class FatalError(Error):
|
|
@@ -76,9 +76,9 @@ class SkipExecution(Exception):
|
|
|
76
76
|
ROBOT_SKIP_EXECUTION = True
|
|
77
77
|
ROBOT_SUPPRESS_NAME = True
|
|
78
78
|
|
|
79
|
-
def __init__(self, message, html=False):
|
|
79
|
+
def __init__(self, message: str, html: bool = False):
|
|
80
80
|
"""
|
|
81
81
|
:param message: Exception message.
|
|
82
82
|
:param html: When ``True``, message is considered to be HTML and not escaped.
|
|
83
83
|
"""
|
|
84
|
-
|
|
84
|
+
super().__init__(message if not html else '*HTML* ' + message)
|