Skip to content

Commit

Permalink
fix(refactor): multiple fixups using ruff linter; more testing.
Browse files Browse the repository at this point in the history
Converting to using the ruff linter and its rulesets. Fixed a number
of issues.

admin.py:

  sort imports

  use immutable tuples as default value markers for parameters where a
     None value is valid.

  reduced some loops to list comprehensions for performance

  used ternary to simplify some if statements

  named some variables to make them less magic
     (e.g. _default_savepoint_setting = 1000)

  fixed some tests for argument counts < 2 becomes != 2 so 3 is an
     error.

  moved exception handlers outside of loops for performance where
     exception handler will abort loop anyway.

  renamed variables called 'id' or 'dir' as they shadow builtin
     commands.

  fix translations of form _("string %s" % value) -> _("string %s") %
     value so translation will be looked up with the key before
     substitution.

  end dicts, tuples with a trailing comma to reduce missing comma
     errors if modified

  simplified sorted(list(self.setting.keys())) to
     sorted(self.setting.keys()) as sorted consumes whole list.

  in if conditions put compared variable on left and threshold condition
     on right. (no yoda conditions)

  multiple noqa: suppression

  removed unneeded noqa as lint rulesets are a bit different

  do_get - refactor output printing logic: Use fast return if not
     special formatting is requested; use isinstance with a tuple
     rather than two isinstance calls; cleaned up flow and removed
     comments on algorithm as it can be easily read from the code.

  do_filter, do_find - refactor output printing logic. Reduce
      duplicate code.

  do_find - renamed variable 'value' that was set inside a loop. The
     loop index variable was also named 'value'.

  do_pragma - added hint to use list subcommand if setting was not
     found. Replaced condition 'type(x) is bool' with 'isinstance(x,
     bool)' for various types.

test_admin.py

  added testing for do_list

  better test coverage for do_get includes: -S and -d for multilinks,
     error case for -d with non-link.

  better testing for do_find including all output modes

  better testing for do_filter including all output modes

  fixed expected output for do_pragma that now includes hint to use
     pragma list if setting not found.
  • Loading branch information
rouilj committed Mar 1, 2024
1 parent e387cf7 commit ebfcfbd
Show file tree
Hide file tree
Showing 2 changed files with 374 additions and 196 deletions.

0 comments on commit ebfcfbd

Please sign in to comment.