-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add xml parameterizable directories (Sourcery refactored) #25
base: dir-xml-support
Are you sure you want to change the base?
Conversation
if "hw" in ctx and hasattr(_iio_emu, "auto") and _iio_emu.auto: | ||
if _iio_emu.current_device != ctx["hw"]: | ||
# restart with new hw | ||
if _iio_emu.p: | ||
print("Stopping iio-emu") | ||
_iio_emu.stop() | ||
else: | ||
print("Using same hardware not restarting iio-emu") | ||
map = get_hw_map(request) | ||
fn, dd = get_filename(map, ctx["hw"]) | ||
if not fn: | ||
return ctx | ||
if request.config.getoption("--emu-xml-dir"): | ||
path = request.config.getoption("--emu-xml-dir") | ||
exml = os.path.join(path, fn) | ||
print("exml", exml) | ||
else: | ||
path = pathlib.Path(__file__).parent.absolute() | ||
exml = os.path.join(path, "resources", "devices", fn) | ||
if not os.path.exists(exml): | ||
pytest.skip("No XML file found for hardware") | ||
_iio_emu.xml_path = exml | ||
_iio_emu.current_device = ctx["hw"] | ||
_iio_emu.data_devices = dd | ||
print("Starting iio-emu") | ||
_iio_emu.start() | ||
if ( | ||
"hw" in ctx | ||
and hasattr(_iio_emu, "auto") | ||
and _iio_emu.auto | ||
and _iio_emu.current_device != ctx["hw"] | ||
): | ||
# restart with new hw | ||
if _iio_emu.p: | ||
print("Stopping iio-emu") | ||
_iio_emu.stop() | ||
else: | ||
print("Using same hardware not restarting iio-emu") | ||
map = get_hw_map(request) | ||
fn, dd = get_filename(map, ctx["hw"]) | ||
if not fn: | ||
return ctx | ||
if request.config.getoption("--emu-xml-dir"): | ||
path = request.config.getoption("--emu-xml-dir") | ||
exml = os.path.join(path, fn) | ||
print("exml", exml) | ||
else: | ||
path = pathlib.Path(__file__).parent.absolute() | ||
exml = os.path.join(path, "resources", "devices", fn) | ||
if not os.path.exists(exml): | ||
pytest.skip("No XML file found for hardware") | ||
_iio_emu.xml_path = exml | ||
_iio_emu.current_device = ctx["hw"] | ||
_iio_emu.data_devices = dd | ||
print("Starting iio-emu") | ||
_iio_emu.start() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function handle_iio_emu
refactored with the following changes:
- Merge nested if conditions (
merge-nested-ifs
)
else: | ||
for dec in _contexts: | ||
if dec["hw"] in marker.args[0]: | ||
return dec | ||
for dec in _contexts: | ||
if dec["hw"] in marker.args[0]: | ||
return dec |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function single_ctx_desc
refactored with the following changes:
- Remove unnecessary else after guard condition (
remove-unnecessary-else
)
else: | ||
for dec in _contexts: | ||
if dec["hw"] in marker.args[0]: | ||
return handle_iio_emu(dec, request, _iio_emu) | ||
for dec in _contexts: | ||
if dec["hw"] in marker.args[0]: | ||
return handle_iio_emu(dec, request, _iio_emu) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function _iio_emu_func
refactored with the following changes:
- Remove unnecessary else after guard condition (
remove-unnecessary-else
)
devices = [] | ||
for field in map[hw]: | ||
if isinstance(field, str): | ||
devices.append(field) | ||
devices = [field for field in map[hw] if isinstance(field, str)] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function _iio_emu
refactored with the following changes:
- Convert for loop into list comprehension (
list-comprehension
)
ctx_plus_hw = [] | ||
for hw in _iio_emu.hw: | ||
ctx_plus_hw.append( | ||
{ | ||
ctx_plus_hw = [{ | ||
"uri": _iio_emu.uri, | ||
"type": "emu", | ||
"devices": _iio_emu.hw[hw]["devices"], | ||
"hw": hw, | ||
} | ||
) | ||
} for hw in _iio_emu.hw] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function _contexts
refactored with the following changes:
- Convert for loop into list comprehension (
list-comprehension
)
for hw_ctx_attr in ctx_attrs: | ||
for hw_ctx_attr, value in ctx_attrs.items(): | ||
if ( | ||
hw_ctx_attr == attr_name | ||
and attr_dict[attr_name] | ||
in ctx_attrs[hw_ctx_attr] | ||
and attr_dict[attr_name] in value | ||
): | ||
found += 1 | ||
# Compare other attribute types ... | ||
if attr_type == "dev_attr": | ||
pass |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function lookup_hw_from_map
refactored with the following changes:
- Remove redundant conditional (
remove-redundant-if
) - Use items() to directly unpack dictionary values (
use-dict-items
)
This removes the following comments ( why? ):
# Compare other attribute types ...
if request.config.getoption("--skip-scan"): | ||
ctxs = None | ||
else: | ||
ctxs = iio.scan_contexts() | ||
ctxs = None if request.config.getoption("--skip-scan") else iio.scan_contexts() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Function find_contexts
refactored with the following changes:
- Replace if statement with if expression (
assign-if-exp
)
Sourcery Code Quality Report✅ Merging this PR will increase code quality in the affected files by 2.20%.
Here are some functions in these files that still need a tune-up:
Legend and ExplanationThe emojis denote the absolute quality of the code:
The 👍 and 👎 indicate whether the quality has improved or gotten worse with this pull request. Please see our documentation here for details on how these metrics are calculated. We are actively working on this report - lots more documentation and extra metrics to come! Help us improve this quality report! |
Pull Request #24 refactored by Sourcery.
If you're happy with these changes, merge this Pull Request using the Squash and merge strategy.
NOTE: As code is pushed to the original Pull Request, Sourcery will
re-run and update (force-push) this Pull Request with new refactorings as
necessary. If Sourcery finds no refactorings at any point, this Pull Request
will be closed automatically.
See our documentation here.
Run Sourcery locally
Reduce the feedback loop during development by using the Sourcery editor plugin:
Review changes via command line
To manually merge these changes, make sure you're on the
dir-xml-support
branch, then run:Help us improve this pull request!