summaryrefslogtreecommitdiff
path: root/setuptools/command/easy_install.py
Commit message (Collapse)AuthorAgeFilesLines
* Use non-posix semantics in a WindowsCommandSpec and use that class in the ↵Jason R. Coombs2015-01-181-1/+8
| | | | Windows script writers. Fixes #331.
* Also use command_spec_class in ScriptWriter.Jason R. Coombs2015-01-181-2/+2
|
* Allow the CommandSpec class to be resolved by the writer.Jason R. Coombs2015-01-181-0/+2
|
* Extract messages as class attributes for nicer indentation.Jason R. Coombs2015-01-181-73/+88
|
* Restore setuptools.command.easy_install.sys_executable for pbr compatibility.Jason R. Coombs2015-01-161-2/+3
|
* Renamed .get_writer to .best and removed boolean argument.Jason R. Coombs2015-01-161-6/+19
|
* Change the way string values are interpreted from build.executable - now ↵Jason R. Coombs2015-01-041-4/+5
| | | | they must be quoted or otherwise escaped suitable for parsing by shlex.split.
* Add test capturing expectation around sys.executable having spaces in the name.Jason R. Coombs2015-01-041-3/+6
|
* Allow CommandSpec to be constructed simply from a list.Jason R. Coombs2015-01-041-0/+2
|
* Remove redundant lineJason R. Coombs2015-01-041-1/+0
|
* Use CommandSpec in ScriptWriter, removing now unused methods.Jason R. Coombs2015-01-041-33/+3
|
* Use CommandSpec in get_script_headerJason R. Coombs2015-01-041-5/+8
|
* Update install_scripts to use CommandSpec for generating script headers.Jason R. Coombs2015-01-041-0/+13
|
* Added new class CommandSpec, which will be used for abstracting the command ↵Jason R. Coombs2015-01-041-8/+87
| | | | handling for script headers.
* Extract method for handling non-ascii exe. Strip out excess whitespace from ↵Jason R. Coombs2015-01-041-17/+20
| | | | option handling.
* Extract method for parsing options.Jason R. Coombs2015-01-041-7/+17
|
* Rename _gen_args to get_args (for consistency).Jason R. Coombs2015-01-041-5/+5
|
* Deprecate and remove usage of easy_install.get_script_header.Jason R. Coombs2015-01-041-4/+8
|
* Moved get_script_header into ScriptWriter classJason R. Coombs2015-01-041-5/+6
|
* Move get_script_header into ScriptWriterJason R. Coombs2015-01-041-24/+26
|
* Move decision logic about windows/header generation closer to ↵Jason R. Coombs2015-01-041-6/+9
| | | | install_scripts, as it doesn't appear to be used elsewhere.
* Move trailing commentJason R. Coombs2015-01-041-1/+2
|
* No need to pass the writer - just invoke it directly.Jason R. Coombs2015-01-041-4/+4
|
* Extract method for getting script argsJason R. Coombs2015-01-041-5/+9
|
* Reuse list2cmdline for argument quoting.Jason R. Coombs2015-01-041-30/+2
|
* Test the report methodJason R. Coombs2015-01-041-4/+1
|
* Use except/as, now supported by Python 2.6Jason R. Coombs2015-01-041-8/+4
|
* Extract variable for clarity of readingJason R. Coombs2014-12-301-4/+8
|
* Extract _patch_usage and re-implement as a context manager.Jason R. Coombs2014-12-291-23/+27
|
* Reindent using textwrapJason R. Coombs2014-12-291-4/+4
|
* Silence PEP440Warning by default unless invoking easy_installDonald Stufft2014-12-181-0/+5
|
* Remove Python 2.5 compatibility for sys.dont_write_bytecodeJason R. Coombs2014-10-251-2/+2
|
* Fixed PEP 8 compliancy of the setuptools.command packageAlex Grönholm2014-06-181-231/+298
|
* Merge template loader refactoringJason R. Coombs2014-06-151-14/+16
|\
| * Moved filename resolution into _load_templateJason R. Coombs2014-06-151-7/+8
| | | | | | | | | | --HG-- extra : rebase_source : beb6c57dfd500432304518b9d313d1a98e2614b9
| * Extract embedded function as protected staticmethod.Jason R. Coombs2014-06-151-9/+10
| | | | | | | | | | --HG-- extra : rebase_source : 04b4807ccc7bf95d87797716f5d3488d420fa692
* | Merge issue202 changes. Fixes #202.Jason R. Coombs2014-06-151-41/+181
|\ \ | |/ |/|
| * remove instead of fix stale zipimport._zip_directory_cache data on PyPyJurko Gospodnetić2014-06-151-25/+42
| | | | | | | | | | | | | | | | | | | | PyPy's zipimport._zip_directory_cache implementation does not support direct item assignment, thus breaking our attempts at silently updating the cached zip archive directory information behind the scene. As a workaround, when using PyPy, we fall back to simply clearing the stale cached information. --HG-- extra : amend_source : 991e30244754d8fac042da56ac4cf0ad1a0f50d5
| * clear cached zip archive directory data when removing it from cacheJurko Gospodnetić2014-06-041-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | This is an extra safety measure to avoid someone holding a reference to this cached data and using its content even after we know that the underlying zip archive has been removed and possibly even replaced. Change suggested by PJ Eby (pje on BitBucket) in a setuptools pull request #51 comment: https://bitbucket.org/pypa/setuptools/pull-request/51/diff#comment-2018183 --HG-- extra : rebase_source : 6de2309bc7446647749cfe78ab00e0230a07f92f
| * extract function for updating zipimporter cache dataJurko Gospodnetić2014-06-041-14/+35
| | | | | | | | | | | | | | | | | | | | | | | | _update_zipimporter_cache() extracted from _uncache() & _replace_zip_directory_cache_data(). Code cleanup done in preparation for adding a bit more detailed cache item clearing logic, so that would not require adding a separate function with yet more code duplication. --HG-- extra : rebase_source : e2e956e042c7cbfabe2c31ecc58a4f76c91f40aa
| * extract duplicate codeJurko Gospodnetić2014-06-041-13/+18
| | | | | | | | | | | | | | | | Extracted code for collecting a list of zipimporter cache entries related to a given path into _collect_zipimporter_cache_entries(). --HG-- extra : rebase_source : 54ab881d794f95467e811511433a2cd31595339e
| * update zipimporter cache clearing related code commentsJurko Gospodnetić2014-06-041-25/+31
| | | | | | | | | | --HG-- extra : rebase_source : c8c77d96880275e34c1580991c2d70486b6d0e00
| * fix clearing zipimport._zip_directory_cache on pypyJurko Gospodnetić2014-06-021-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | pypy uses a custom zipimport._zip_directory_cache implementation class that does not support the complete dict interface, e.g. it does not support the dict.pop() method. For more detailed information see the following links: https://bitbucket.org/pypa/setuptools/issue/202/more-robust-zipimporter-cache-invalidation#comment-10495960 https://bitbucket.org/pypy/pypy/src/dd07756a34a41f674c0cacfbc8ae1d4cc9ea2ae4/pypy/module/zipimport/interp_zipimport.py#cl-99 --HG-- extra : rebase_source : 95cff7946455f0a4422d97eecab11164a9ddef10
| * remove quick-fix comment for the solution to issue #169.Jurko Gospodnetić2014-05-081-7/+0
| | | | | | | | | | | | | | | | | | | | Although the original problematic use case when we are replacing a zipped egg distribution with another zipped egg distribution is now cleanly handled by fixing all existing zipimport.zipimporter loaders, this fix is still valid for cases when replacing a distribution with a non-zipped egg folder. --HG-- extra : source : efd6a8b82bafdbcfad1971b7e0f470e19191be1a
| * fix issue202 - update existing zipimporters when replacing a zipped eggJurko Gospodnetić2014-05-081-30/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When replacing a zipped egg distribution with a different zipped egg, we make all existing zipimport.zipimporter loaders valid again instead of having to go hunting them down one by one. This is done by updating their shared zip directory information cache - zipimport._zip_directory_cache. Related to the following project issues: #169 - http://bitbucket.org/pypa/setuptools/issue/168 #202 - http://bitbucket.org/pypa/setuptools/issue/202 --HG-- extra : source : b60beb7792252a39f61d7fc0f58aa04c03ddaba2
* | Rename script template to use .tmpl extensions.Jason R. Coombs2014-06-141-2/+2
| | | | | | | | | | | | --HG-- rename : setuptools/script template (dev).py => setuptools/script (dev).tmpl rename : setuptools/script template.py => setuptools/script.tmpl
* | Now that 2to3 is no longer run on the codebase, it's safe for the templates ↵Jason R. Coombs2014-06-141-7/+1
|/ | | | to be syntactically incorrect (prior to substitution).
* Use PY3 and PY2 throughoutJason R. Coombs2014-05-171-5/+5
|
* Merge Pull Request #483.5.2Jason R. Coombs2014-05-071-14/+37
|\
| * make easy_install.uncache_zipdir() remove more stale zipimporter instancesJurko Gospodnetić2014-04-151-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since paths are case-insensitive on Windows, zipped egg modules may be loaded using different but equivalent paths. Importing each such different path causes a new zipimporter to be instantiated. Removing cached zipimporter instances must then not forget about removing those created for differently spelled paths to the same replaced egg. Other missed zipimporter instances are those used to access zipped eggs stored inside zipped eggs. When clearing zipimporter instances got a given path, we need to clear all the instances related to any of its subpaths as well. --HG-- extra : rebase_source : 86aeadd1e639fbc83d27a0c551fdc2b8a68a6f85