os.path.sep is unreliable in Windows ("\" in official python, "/" in MSYS2)
With this change os.pathsep is used instead to get the path separator:
":" (*nix) or ";" (Windows)
All of the removed `from __future__ import` were needed in older
versions of Python (mostly 2.5.x and below) but later became mandatory
in most versions of Python 3 hence are not necessary anymore.
More specifically, according to __future__.py[1]:
- unicode_literals is part of Python since versions 2.6.0 and 3.0.0;
- print_function is part of Python since versions 2.6.0 and 3.0.0;
- absolute_import is part of Python since versions 2.5.0 and 3.0.0;
- division is part of Python since versions 2.2.0 and 3.0.0;
Get rid of those unnecessary imports to slightly clean up the codebase.
[1] https://github.com/python/cpython/blob/master/Lib/__future__.py
GRC reads paths from various sources, including the GRC_BLOCKS_PATH
environment variable. It can happen that paths appear twice in the list,
causing warnings about findings blocks twice.
This deduplicates the paths in the config object.