-
Notifications
You must be signed in to change notification settings - Fork 39
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
Refactoring of metadata extractors #77
Conversation
a42c760
to
80b5464
Compare
829c778
to
075c653
Compare
If runpy fails to run extract_dist command (Syntax or Runtime error occurs), command is run using external python2 interpreter with --output option. Extracted metadata are sent to standard output in json format, read and deserialized in metadata extractor. At this moment string "extracted json data:\n" is at the beginning of json metadata, because other messages from setup.py script or command can appear on stdout. Maybe some more sophisticated separator could be used. |
Does it also work the other way around (as described here)? |
No it doesn't. I was focused at the original issue #72. Do you suggest to try running python3 in the subprocess in this case or can we expect that package is python2 incompatible and fail? At the moment when ImportError occurs we don't have any metadata of the package. I am not sure if there is deterministic way to find out if package is python2 compatible or not (classifiers are usually not very confident) even if we had needed metadata. |
Simply try the other interpreter. (I.e. 2 on 3 and 3 on 2). |
075c653
to
b2d6b2a
Compare
Now it works for both cases. |
b2d6b2a
to
169b89f
Compare
1824e3b
to
4242fd3
Compare
1fe9f68
to
62f10a4
Compare
62f10a4
to
2ca1a67
Compare
- Forbid base version > 2 if epel6 template is used - Disable with_pythonX macro for version > 2
- Add direct subclass of distutils.Command extract_dist - Remove old extract_distribution command - Remove old SetupPyMetadataExtractor parsing setup.py script - Remove parsing functions from archive module - Build new SetupPyMetadataExtractor using extract_dist command - Add complex tests of extracted data for SetupPy and Wheel extractors - Drop .egg archives support in SetupPyMetadataExtractor - Rewrite venv metadata extraction as an decorator
ac03cb5
to
cb39e29
Compare
In this PR: