summaryrefslogtreecommitdiffstats
path: root/SCons/Node/Python.py
Commit message (Collapse)AuthorAgeFilesLines
* Followon to PR #4348: more bool fixesMats Wichmann2023-06-161-2/+2
| | | | | | | | | | | | | | Manually fixed up some things related to bool, e.g. simple functions which just did "return 1" were interpreted by the tool as returning int, when bool was really the intent. Functions/methods named like "is*", "has*", "exists", "rexists" (and others) are now pretty consistently marked as returning bool. A couple of minor alignments of branched definitions, and a couple of docstring adjustments made. If Tools which had old heading style were touched, they got the new style. Signed-off-by: Mats Wichmann <mats@linux.com>
* Add some cheap return and parameter annotationsMats Wichmann2023-05-011-7/+7
| | | | | | | | | | | | | | | | | Use: https://github.com/JelleZijlstra/autotyping to add "safe" return annotations. Where a parameter has a default value that is an obvious scalar type (bool, int, str, etc.) add those annotations as well. Also fixed two small bugs that popped up when sanity-checking with mypy. One in FortranCommon, where a return had been previously annotated to be a tuple of Action, which should be ActionBase - Action is the factory function, not the base class. The other was a typo in the error raised in _add_cppdefines - the message was formatted with the value of "define" which should have been "defines". Signed-off-by: Mats Wichmann <mats@linux.com>
* Minor doc update for Value nodes [skip appveyor]Mats Wichmann2022-10-211-4/+11
| | | | | | | | | | | | Add a "changed in version 4.0" for a past change. Fiddled some docstrings. Tweaked docstring for env.Tool as well - proximity in the files was the motivation (it's just above in Environment.xml) - trying to get to a consistent added/changed notation format, following the Sphinx docstring directive style. Signed-off-by: Mats Wichmann <mats@linux.com>
* Use super call instead of direct class callMats Wichmann2022-03-151-1/+1
| | | | | | | | | - super used where direct call to superclass existed - convert a few older-style super() (two-argument) uses - in a few places, where there was an intersection with a super change, variables that override a builtin (e.g. "dict") were renamed. Signed-off-by: Mats Wichmann <mats@linux.com>
* Drop overridden changed_since_last_build method in Value classMats Wichmann2021-05-061-7/+0
| | | | | | | | | | | Value defined this method, but the __init__ methos also does "self.changed_since_last_build = 6" to set an index into the decider map, meaning no instance of Value will ever see that function. The map index will cause picking the "real" function, changed_since_last_build_python(), which has identical impl to the now removed method. Signed-off-by: Mats Wichmann <mats@linux.com>
* Merge pull request #3384 from dragon512/fix/valuenode-contentWilliam Deegan2020-12-141-1/+2
|\ | | | | Fix value node when used as part of a build on python3
| * Fix value node when used as part of a build on python3Unknown2020-06-151-1/+2
| |
* | [PR #3815] change per reveiw: drop unneeded try block in Python nodeMats Wichmann2020-10-131-7/+2
| | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* | Drop some more Py2 compat thingsMats Wichmann2020-10-131-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Change exception type in a a couple of try block to what could go wrong, Py3 would not raise UniCodeDecodeError for these cases One try-import of StringIO module sconsign does not need a decode that was claimed as compat hack Remove some sys.version_info checks Use more modern way to get Python details in test frawmework AddMethod updated and RenameFunction dropped - it had become a one-liner and had no clients other than AddMethod (never exposed as public) Signed-off-by: Mats Wichmann <mats@linux.com>
* | Update some copyright strings and drop __revision__ [skip appveyor]Mats Wichmann2020-09-231-9/+3
|/ | | | | | | | | | | | | | | | | | Touches the first and second levels of SCons (except SCons.Tool), not tests or docs which remain TODO. Make sure docstring is first non-comment content, eliminate cases where docstring is set elsewhere but assigns to __doc__ - this approach of course worked inside Python, but confuses various tools. Some module-level docstrings modified a bit, in particular the convention of having the name of the module as the first line is dropped, replaced by a summary description going there instead - this improves the look in the API Docs, which otherwise display something like: SCons.Foo - SCons.Foo Signed-off-by: Mats Wichmann <mats@linux.com>
* Reorganize the repo. Moved src/engine/SCons to ./SCons to be more in line ↵William Deegan2020-05-061-0/+215
with current python packaging practices