-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
Fix LGTM alerts #186
Fix LGTM alerts #186
Conversation
if os.path.isfile(os.path.join(tempdir, f)) | ||
) | ||
|
||
if dicom_file is not None: |
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.
Looks like you forgot to add back the check here.
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.
Not at all. It's useless. See commments in commit.
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.
@BrianKolowitz it looks like you added this check - can you confirm the change looks okay to you?
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.
Maybe it wasn't useless before, now it is useless because of the additional try/except.
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.
dicom_file
cannot be empty because we continue
in case of StopIteration
- or an exception is raised in case of other erros.
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.
Understood, and it LGTM - I'm just hoping to get the blessing of the original contributor before changing the code he wrote.
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.
Sure, I'd like to have it too.
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.
@wetzelj it looks like @BrianKolowitz is not able to respond (I hope he's okay!) and I'd like to get one more review on this before merge. It's fairly small changes - if you have time in the next few weeks could you take a look?
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.
Sorry for my delayed response... I was out of the office last week and have been playing catch up.
Looking at this change, it looks like it should be okay. Since the next() will raise StopIteration when the iterator is exhausted (i.e. there are no items left in the zipfile), the continue statement that you've put in on StopIteration will continue to the next item up for processing in the list loop on line 60 (iterating through multiple files/directories).
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.
Thanks @wetzelj ! That is my sentiment as well.
Call to next() in a generator Additionnlly, dicom_file cannot be None: • os.path.splitext(dicom_file) would raise TypeException • In the case of a ZIP file, which I believe is the one the existing code was trying to address, we continue on StopIteration if the ZIP file is empty.
Import of 'Sequence' is not used. Import of 'remove_sequences' is not used. Import of 'os' is not used. Import of 'read_json' is not used. Import of 'DeidRecipe' is not used. Import of 'get_private' is not used. Import of 'remove_sequences' is not used. Import of 'extract_fields_list' is not used. Import of 'extract_values_list' is not used. Import of 'get_fields' is not used. Import of 'DataElement' is not used. Import of 'operator' is not used. Import of 'get_installdir' is not used. Import of 'os' is not used. mport of 'read_file' is not used. Import of 'os' is not used.
Except block directly handles BaseException. Function dateutil.parser.parse() raises the following exceptions: • ParserError – Raised for invalid or unknown string formats, if the provided tzinfo is not in a valid format, or if an invalid date would be created. • OverflowError – Raised if the parsed date exceeds the largest valid C integer on your system.
Description
Fixes a large part of these LGTM alerts:
https://lgtm.com/projects/g/pydicom/deid/
Checklist