Skip to content

Commit d2a54ff

Browse files
authored
Merge pull request #327 from tsalo/tst/flake8-black
Use black formatting rules for linting in CI
2 parents 98fa72a + e3496d7 commit d2a54ff

30 files changed

+1722
-1288
lines changed

.circleci/config.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,10 @@ jobs:
9797
pkg-manager: pip-dist
9898
- run:
9999
name: Check style
100-
command: echo "Skipping for now" # |
101-
# isort --check .
102-
# black --check phys2bids
103-
# flake8 ./phys2bids
100+
command: |
101+
isort --check .
102+
black --check phys2bids
103+
flake8 ./phys2bids
104104
105105
merge_coverage:
106106
working_directory: /tmp/src/phys2bids

.pre-commit-config.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ repos:
1010
- id: check-added-large-files
1111
- id: check-case-conflict
1212
- id: check-merge-conflict
13+
- repo: https://github.com/psf/black
14+
rev: 22.10.0
15+
hooks:
16+
- id: black
17+
- repo: https://github.com/pycqa/isort
18+
rev: 5.12.0
19+
hooks:
20+
- id: isort
1321
- repo: https://github.com/pycqa/flake8
1422
rev: 6.0.0
1523
hooks:

docs/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import os
99
import sys
10+
1011
# If extensions (or modules to document with autodoc) are in another directory,
1112
# add these directories to sys.path here. If the directory is relative to the
1213
# documentation root, use os.path.abspath to make it absolute, like shown here.

phys2bids/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
"""Main init for phys2bids package."""
22
from ._version import get_versions
3-
__version__ = get_versions()['version']
3+
4+
__version__ = get_versions()["version"]
45
del get_versions

phys2bids/_version.py

Lines changed: 82 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
# This file helps to compute a version number in source trees obtained from
32
# git-archive tarball (such as those provided by githubs download-from-tag
43
# feature). Distribution tarballs (built by setup.py sdist) and build
@@ -58,28 +57,32 @@ class NotThisMethod(Exception):
5857

5958
def register_vcs_handler(vcs, method): # decorator
6059
"""Mark a method as the handler for a particular VCS."""
60+
6161
def decorate(f):
6262
"""Store f in HANDLERS[vcs][method]."""
6363
if vcs not in HANDLERS:
6464
HANDLERS[vcs] = {}
6565
HANDLERS[vcs][method] = f
6666
return f
67+
6768
return decorate
6869

6970

70-
def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False,
71-
env=None):
71+
def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None):
7272
"""Call the given command(s)."""
7373
assert isinstance(commands, list)
7474
p = None
7575
for c in commands:
7676
try:
7777
dispcmd = str([c] + args)
7878
# remember shell=False, so use git.cmd on windows, not just git
79-
p = subprocess.Popen([c] + args, cwd=cwd, env=env,
80-
stdout=subprocess.PIPE,
81-
stderr=(subprocess.PIPE if hide_stderr
82-
else None))
79+
p = subprocess.Popen(
80+
[c] + args,
81+
cwd=cwd,
82+
env=env,
83+
stdout=subprocess.PIPE,
84+
stderr=(subprocess.PIPE if hide_stderr else None),
85+
)
8386
break
8487
except EnvironmentError:
8588
e = sys.exc_info()[1]
@@ -116,16 +119,22 @@ def versions_from_parentdir(parentdir_prefix, root, verbose):
116119
for i in range(3):
117120
dirname = os.path.basename(root)
118121
if dirname.startswith(parentdir_prefix):
119-
return {"version": dirname[len(parentdir_prefix):],
120-
"full-revisionid": None,
121-
"dirty": False, "error": None, "date": None}
122+
return {
123+
"version": dirname[len(parentdir_prefix) :],
124+
"full-revisionid": None,
125+
"dirty": False,
126+
"error": None,
127+
"date": None,
128+
}
122129
else:
123130
rootdirs.append(root)
124131
root = os.path.dirname(root) # up a level
125132

126133
if verbose:
127-
print("Tried directories %s but none started with prefix %s" %
128-
(str(rootdirs), parentdir_prefix))
134+
print(
135+
"Tried directories %s but none started with prefix %s"
136+
% (str(rootdirs), parentdir_prefix)
137+
)
129138
raise NotThisMethod("rootdir doesn't start with parentdir_prefix")
130139

131140

@@ -181,7 +190,7 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose):
181190
# starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of
182191
# just "foo-1.0". If we see a "tag: " prefix, prefer those.
183192
TAG = "tag: "
184-
tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)])
193+
tags = set([r[len(TAG) :] for r in refs if r.startswith(TAG)])
185194
if not tags:
186195
# Either we're using git < 1.8.3, or there really are no tags. We use
187196
# a heuristic: assume all version tags have a digit. The old git %d
@@ -190,27 +199,34 @@ def git_versions_from_keywords(keywords, tag_prefix, verbose):
190199
# between branches and tags. By ignoring refnames without digits, we
191200
# filter out many common branch names like "release" and
192201
# "stabilization", as well as "HEAD" and "master".
193-
tags = set([r for r in refs if re.search(r'\d', r)])
202+
tags = set([r for r in refs if re.search(r"\d", r)])
194203
if verbose:
195204
print("discarding '%s', no digits" % ",".join(refs - tags))
196205
if verbose:
197206
print("likely tags: %s" % ",".join(sorted(tags)))
198207
for ref in sorted(tags):
199208
# sorting will prefer e.g. "2.0" over "2.0rc1"
200209
if ref.startswith(tag_prefix):
201-
r = ref[len(tag_prefix):]
210+
r = ref[len(tag_prefix) :]
202211
if verbose:
203212
print("picking %s" % r)
204-
return {"version": r,
205-
"full-revisionid": keywords["full"].strip(),
206-
"dirty": False, "error": None,
207-
"date": date}
213+
return {
214+
"version": r,
215+
"full-revisionid": keywords["full"].strip(),
216+
"dirty": False,
217+
"error": None,
218+
"date": date,
219+
}
208220
# no suitable tags, so version is "0+unknown", but full hex is still there
209221
if verbose:
210222
print("no suitable tags, using unknown + full revision id")
211-
return {"version": "0+unknown",
212-
"full-revisionid": keywords["full"].strip(),
213-
"dirty": False, "error": "no suitable tags", "date": None}
223+
return {
224+
"version": "0+unknown",
225+
"full-revisionid": keywords["full"].strip(),
226+
"dirty": False,
227+
"error": "no suitable tags",
228+
"date": None,
229+
}
214230

215231

216232
@register_vcs_handler("git", "pieces_from_vcs")
@@ -225,19 +241,19 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command):
225241
if sys.platform == "win32":
226242
GITS = ["git.cmd", "git.exe"]
227243

228-
out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root,
229-
hide_stderr=True)
244+
out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True)
230245
if rc != 0:
231246
if verbose:
232247
print("Directory %s not under git control" % root)
233248
raise NotThisMethod("'git rev-parse --git-dir' returned error")
234249

235250
# if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty]
236251
# if there isn't one, this yields HEX[-dirty] (no NUM)
237-
describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty",
238-
"--always", "--long",
239-
"--match", "%s*" % tag_prefix],
240-
cwd=root)
252+
describe_out, rc = run_command(
253+
GITS,
254+
["describe", "--tags", "--dirty", "--always", "--long", "--match", "%s*" % tag_prefix],
255+
cwd=root,
256+
)
241257
# --long was added in git-1.5.5
242258
if describe_out is None:
243259
raise NotThisMethod("'git describe' failed")
@@ -260,17 +276,16 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command):
260276
dirty = git_describe.endswith("-dirty")
261277
pieces["dirty"] = dirty
262278
if dirty:
263-
git_describe = git_describe[:git_describe.rindex("-dirty")]
279+
git_describe = git_describe[: git_describe.rindex("-dirty")]
264280

265281
# now we have TAG-NUM-gHEX or HEX
266282

267283
if "-" in git_describe:
268284
# TAG-NUM-gHEX
269-
mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe)
285+
mo = re.search(r"^(.+)-(\d+)-g([0-9a-f]+)$", git_describe)
270286
if not mo:
271287
# unparsable. Maybe git-describe is misbehaving?
272-
pieces["error"] = ("unable to parse git-describe output: '%s'"
273-
% describe_out)
288+
pieces["error"] = "unable to parse git-describe output: '%s'" % describe_out
274289
return pieces
275290

276291
# tag
@@ -279,10 +294,9 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command):
279294
if verbose:
280295
fmt = "tag '%s' doesn't start with prefix '%s'"
281296
print(fmt % (full_tag, tag_prefix))
282-
pieces["error"] = ("tag '%s' doesn't start with prefix '%s'"
283-
% (full_tag, tag_prefix))
297+
pieces["error"] = "tag '%s' doesn't start with prefix '%s'" % (full_tag, tag_prefix)
284298
return pieces
285-
pieces["closest-tag"] = full_tag[len(tag_prefix):]
299+
pieces["closest-tag"] = full_tag[len(tag_prefix) :]
286300

287301
# distance: number of commits since tag
288302
pieces["distance"] = int(mo.group(2))
@@ -293,13 +307,11 @@ def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command):
293307
else:
294308
# HEX: no tags
295309
pieces["closest-tag"] = None
296-
count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"],
297-
cwd=root)
310+
count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root)
298311
pieces["distance"] = int(count_out) # total number of commits
299312

300313
# commit date: see ISO-8601 comment in git_versions_from_keywords()
301-
date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"],
302-
cwd=root)[0].strip()
314+
date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip()
303315
pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1)
304316

305317
return pieces
@@ -330,8 +342,7 @@ def render_pep440(pieces):
330342
rendered += ".dirty"
331343
else:
332344
# exception #1
333-
rendered = "0+untagged.%d.g%s" % (pieces["distance"],
334-
pieces["short"])
345+
rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"])
335346
if pieces["dirty"]:
336347
rendered += ".dirty"
337348
return rendered
@@ -445,11 +456,13 @@ def render_git_describe_long(pieces):
445456
def render(pieces, style):
446457
"""Render the given version pieces into the requested style."""
447458
if pieces["error"]:
448-
return {"version": "unknown",
449-
"full-revisionid": pieces.get("long"),
450-
"dirty": None,
451-
"error": pieces["error"],
452-
"date": None}
459+
return {
460+
"version": "unknown",
461+
"full-revisionid": pieces.get("long"),
462+
"dirty": None,
463+
"error": pieces["error"],
464+
"date": None,
465+
}
453466

454467
if not style or style == "default":
455468
style = "pep440" # the default
@@ -469,9 +482,13 @@ def render(pieces, style):
469482
else:
470483
raise ValueError("unknown style '%s'" % style)
471484

472-
return {"version": rendered, "full-revisionid": pieces["long"],
473-
"dirty": pieces["dirty"], "error": None,
474-
"date": pieces.get("date")}
485+
return {
486+
"version": rendered,
487+
"full-revisionid": pieces["long"],
488+
"dirty": pieces["dirty"],
489+
"error": None,
490+
"date": pieces.get("date"),
491+
}
475492

476493

477494
def get_versions():
@@ -485,8 +502,7 @@ def get_versions():
485502
verbose = cfg.verbose
486503

487504
try:
488-
return git_versions_from_keywords(get_keywords(), cfg.tag_prefix,
489-
verbose)
505+
return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, verbose)
490506
except NotThisMethod:
491507
pass
492508

@@ -495,13 +511,16 @@ def get_versions():
495511
# versionfile_source is the relative path from the top of the source
496512
# tree (where the .git directory might live) to this file. Invert
497513
# this to find the root from __file__.
498-
for i in cfg.versionfile_source.split('/'):
514+
for i in cfg.versionfile_source.split("/"):
499515
root = os.path.dirname(root)
500516
except NameError:
501-
return {"version": "0+unknown", "full-revisionid": None,
502-
"dirty": None,
503-
"error": "unable to find root of source tree",
504-
"date": None}
517+
return {
518+
"version": "0+unknown",
519+
"full-revisionid": None,
520+
"dirty": None,
521+
"error": "unable to find root of source tree",
522+
"date": None,
523+
}
505524

506525
try:
507526
pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose)
@@ -515,6 +534,10 @@ def get_versions():
515534
except NotThisMethod:
516535
pass
517536

518-
return {"version": "0+unknown", "full-revisionid": None,
519-
"dirty": None,
520-
"error": "unable to compute version", "date": None}
537+
return {
538+
"version": "0+unknown",
539+
"full-revisionid": None,
540+
"dirty": None,
541+
"error": "unable to compute version",
542+
"date": None,
543+
}

0 commit comments

Comments
 (0)