-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
I noticed some code that I would have expected to see a linter complain about, it was wrapped in a try/except though so maybe that's why there was no complaint. It's possible this is just the ruff config working as intended for us.
Here's the difference between ruff and pylint with a fresh terminal:
jt4085@gadi-login-02:~ $ module load conda/analysis3
Loading conda/analysis3-25.08
Loading requirement: singularity
jt4085@gadi-login-02:~ $ ruff check ~/repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py
warning: The top-level linter settings are deprecated in favour of their counterparts in the `lint` section. Please update the following options in `repos/access-nri-intake-catalog/pyproject.toml`:
- 'ignore' -> 'lint.ignore'
- 'select' -> 'lint.select'
- 'isort' -> 'lint.isort'
- 'mccabe' -> 'lint.mccabe'
All checks passed!
jt4085@gadi-login-02:~ $ pylint ~/repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py
************* Module access_nri_intake.source.builders
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:405:0: C0301: Line too long (106/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:407:0: C0301: Line too long (185/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:474:0: C0301: Line too long (222/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:553:0: C0301: Line too long (160/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:554:0: C0301: Line too long (107/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:626:0: C0301: Line too long (104/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:708:0: C0301: Line too long (104/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:709:0: C0301: Line too long (106/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:718:0: C0301: Line too long (104/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:721:0: C0301: Line too long (214/100) (line-too-long)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:545:1: W0511: FIXME refactor to be called Mom6Builder (TBC) (fixme)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:549:5: W0511: FIXME should be able to make one super-pattern, but couldn't (fixme)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:63:0: C0115: Missing class docstring (missing-class-docstring)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:67:0: R0902: Too many instance attributes (9/7) (too-many-instance-attributes)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:76:4: W0102: Dangerous default value {} as argument (dangerous-default-value)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:76:4: W0231: __init__ method from base class 'Builder' is not called (super-init-not-called)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:76:4: R0913: Too many arguments (10/5) (too-many-arguments)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:76:4: R0917: Too many positional arguments (10/5) (too-many-positional-arguments)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:133:4: W0221: Number of parameters was 3 in 'Builder.parse' and is now 1 in overriding 'BaseBuilder.parse' method (arguments-differ)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:155:4: W0221: Number of parameters was 13 in 'Builder.save' and is now 4 in overriding 'BaseBuilder.save' method (arguments-differ)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:177:4: C0202: Class method _parser_catch_invalid should have 'cls' as first argument (bad-classmethod-argument)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:184:15: W0718: Catching too general exception Exception (broad-exception-caught)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:206:32: W0631: Using possibly undefined loop variable 'asset' (undefined-loop-variable)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:210:4: W0221: Number of parameters was 5 in 'Builder.build' and is now 1 in overriding 'BaseBuilder.build' method (arguments-differ)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:281:4: W0102: Dangerous default value FREQUENCIES (builtins.dict) as argument (dangerous-default-value)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:319:4: R0914: Too many local variables (16/15) (too-many-locals)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:369:17: R1735: Consider using '{**dvars.to_var_info_dict(), **additional_info}' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:421:17: R1735: Consider using '{"path": path, "depth": 3, "exclude_patterns": kwargs.get('exclude_patterns') or ['*restart*', '*o2i.nc'], ... }' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:487:17: R1735: Consider using '{"path": path, "depth": 2, "exclude_patterns": kwargs.get('exclude_patterns') or ['*restart*', '*MOM_IC.nc', '*ocean_geometry.nc', '*ocean.stats.nc', '*Vertical_coordinate.nc'], ... }' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:567:17: R1735: Consider using '{"path": path, "depth": 1, "exclude_patterns": kwargs.get('exclude_patterns') or ['*restart*', '*MOM_IC.nc', '*sea_ice_geometry.nc', '*ocean_geometry.nc', '*ocean.stats.nc', '*Vertical_coordinate.nc'], ... }' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:643:17: R1735: Consider using '{"path": path, "depth": 3, "exclude_patterns": kwargs.get('exclude_patterns') or ['*restart*'], ... }' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:769:17: R1735: Consider using '{"path": path, "depth": 1, "exclude_patterns": kwargs.get('exclude_patterns', ['*avg*', '*rst*']), ... }' instead of a call to 'dict'. (use-dict-literal)
repos/access-nri-intake-catalog/src/access_nri_intake/source/builders.py:833:17: R1735: Consider using '{"path": path, "depth": 2, "exclude_patterns": kwargs.get('exclude_patterns', ['*avg*', '*rst*']), ... }' instead of a call to 'dict'. (use-dict-literal)
------------------------------------------------------------------
Your code has been rated at 8.45/10 (previous run: 8.46/10, -0.01)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
Backlog