Commit Graph

184 Commits

Author SHA1 Message Date
Semyon Proshev
2cde0c4c5d PY-20522 Fixed: Pycharm doesn't understand "compatible release" (~=) in requirements.txt?
Support compatible relation by splitting it into `>=` and `==` relation.
2017-05-15 22:22:23 +03:00
Semyon Proshev
cc2c8ad1e1 Store parsed requirement version in PyRequirementVersionSpec. 2017-05-15 22:22:22 +03:00
Anna.Kozlova
583a728f89 cleanup redundant type arguments 2017-04-27 12:37:01 +02:00
Andrey Vlasovskikh
4147c4a257 PY-12745 Support 'six' library via typeshed 2017-02-02 01:23:01 +03:00
Dmitry Trofimov
055d1c26fd Option to run python process in a terminal emulation mode (PY-22487) 2017-02-01 12:30:54 +01:00
Ilya.Kazakevich
2de0aa4aa0 PY-14036: Support remote Django (and other) project creation
* See PyProjectSynchronizer for entry point
* DownloadAction refactored to extract  download
* VagrantSupportImpl refactored to fetch mapped folders
2016-10-25 20:43:52 +03:00
Semyon Proshev
1b3872e12b PY-20939 Fixed: PyCharm should not suggest to update locally patched package of the last version
Override compareVersions in PyPackageManagementService to catch equal package versions which are not handled by VERSION_COMPARATOR
2016-10-24 17:35:43 +03:00
Mikhail Golubev
bc9044b8a6 Move classes related to template languages from python-openapi back to ultimate
All their usages are in the ultimate project anyway and no third-party
plugins seem to be benefit from them (at least API Watcher claims so).
Template languages are a standard feature of PyCharm professional so
it makes little sense to keep these classes in community project.
They were migrated there in the first place since Flask plugin
belonged to the set of contrib plugins in the past.

Moreover, they contain a lot of implementation details and prevent from
getting rid of such code in python-api module as well.
2016-10-10 17:59:02 +03:00
Dmitry Batkovich
1ada8ba1b3 remove redundant getName-s for QuickFix inheritors 2016-09-28 20:33:49 +03:00
Ekaterina Tuzova
94cbb5a125 put error message to the log 2016-09-28 17:29:29 +03:00
Semyon Proshev
87bf9386d3 PY-20880 Fixed: Package requirements inspection does not support local version identifiers
Update matching EQ version spec: if both versions contain local label, check if they are equals as strings; if only passed version contains local label, then just drop it and check public parts.
2016-09-27 13:36:43 +03:00
Ilya.Kazakevich
3e89f97a14 PY-20733: Give user ability to choose remote mapping when she creates remote project
* It makes no sense to have remote project with out of remote mapping, so we ask user for mappings when project is created
 * Since we need project to be created before running mapping tool, we show mapping window at next step (huge refactoring is required to display mapping window before project is created)
 * Platform calls ``ProjectGenerator#generateProject``, but we have a lot of generators, so we moved code to parent which delegates remote project configuration to ``PyRemoteInterpreterManager`` and then calls ``configureProject``
2016-09-15 17:45:38 +03:00
Semyon Proshev
b74cf70a7e PY-20223 Fixed: NumberFormatException in requirements normalizer breaks code inspection in PyCharm 2016.2
Use BigInteger for normalizing version parts
2016-08-10 16:42:14 +03:00
Anna.Kozlova
78d1492242 explicit types to diamonds 2016-08-08 17:08:03 +02:00
Mikhail Golubev
1d56799b3b Include process exit code in toString() representation of PyExecutionException
since it's often wrapped in IOException() and its constructor
creates the message as "cause.toString()", thus error code might
get lost in the logs eventually.
2016-08-08 15:42:44 +03:00
Semyon Proshev
1bb19d055a PY-20242 Fixed: PyCharm thinks package requirement is not satisfied, but it is.
Update matching version against specs so '===' relation is supported now. Also PyRequirementVersionSpec become responsible for matching version against itself.
2016-07-29 21:50:08 +03:00
Ekaterina Tuzova
97d98c01e5 Merge branch 'liana/python-version'
# Conflicts:
#	python/ide/src/com/jetbrains/python/newProject/actions/PythonGenerateProjectCallback.java
2016-07-25 18:40:54 +03:00
Ekaterina Tuzova
709c8906ce moved virtualenv creation to the project generator 2016-07-25 17:26:51 +03:00
Ilya.Kazakevich
9e911dd710 PY-20097: Outdated and unsupported template engine removed (see conversation in issue) 2016-07-23 03:38:00 +03:00
Konstantin Bulenkov
cd8cf62a19 cleanup. Convert empty arrays to constants (new T[0] -> T.EMPTY) 2016-07-07 22:52:00 +02:00
Mikhail Golubev
38731649c6 PY-18039 PyPackageManager#getDependents() returns @NotNull value 2016-06-23 17:40:56 +03:00
Andrey Vlasovskikh
2401d62f80 Initial implementation of background caching of packages (PY-18039) 2016-06-23 17:40:54 +03:00
Semyon Proshev
66efc6bc52 Introduce getFullName in PyRequirement which returns name and extras 2016-06-20 19:37:40 +03:00
Semyon Proshev
14ebb1f037 Extract and save extras in PyRequirement 2016-06-20 19:36:17 +03:00
Ekaterina Tuzova
1348755aa4 PY-11166 Ability to create new projects without selecting Python interpreter
Extracted python interpreter combobox
2016-06-20 18:05:38 +03:00
Valentina Kiryushkina
bee0a49435 Add ability to provide listener to error text label on project creation panel 2016-06-17 15:56:42 +03:00
Semyon Proshev
6e6a6d0291 Store requirement install options as list of strings 2016-06-16 19:01:32 +03:00
Semyon Proshev
bf93eee4ee Rename regular expressions in PyRequirement to make it more readable 2016-06-16 19:01:32 +03:00
Semyon Proshev
05b8dbd08b PY-19544 Fixed: Incorrect parsing of requirements.txt
Support subdirectory param in VCS urls
2016-06-11 14:25:14 +03:00
Ekaterina Tuzova
4e66e64a90 PY-13328 Create New Project: warning about installing template packages is not shown 2016-05-26 17:36:55 +03:00
Semyon Proshev
e84e97c97b Support multiline requirements in requirements.txt parsing 2016-05-24 17:29:59 +03:00
Semyon Proshev
3b5c62bf95 Support per-requirement overrides in requirements.txt parsing 2016-05-24 17:29:59 +03:00
Semyon Proshev
ef15b9b3d7 Parse requirements with --src option 2016-05-24 17:29:59 +03:00
Semyon Proshev
1ba497832a Make some renamings in PyRequirement for better reading 2016-05-24 17:29:58 +03:00
Semyon Proshev
1ef3192231 Simplify PyRequirement constructors 2016-05-24 17:29:57 +03:00
Semyon Proshev
fb0a913708 Implement and use PyRequirementVersionNormalizer: PEP-0440/normalization 2016-05-24 17:29:57 +03:00
Semyon Proshev
6a23d15978 PyRequirement: implement parsing of PEP-508 and PEP-440 requirements 2016-05-24 17:29:57 +03:00
Semyon Proshev
cdf6f7a26c Updated tests for PyRequirement: there are tests for requirement names, versions and extras. All previous tests have been saved but some of them were reworked and integrated into new ones. 2016-05-24 17:29:56 +03:00
Semyon Proshev
47b7d1b439 PyRequirement: implement parsing of vcs urls 2016-05-24 17:29:56 +03:00
Semyon Proshev
ebea6721aa Move enum and static class from PyRequirement to upper level to special package 2016-05-24 17:29:56 +03:00
Anna.Kozlova
43673ee4bd block lambda -> expr lambda 2016-05-24 12:27:58 +02:00
Anna.Kozlova
36ee7203f6 anonym -> lambda 2016-05-18 12:04:12 +02:00
peter
3beec9ace3 remove unnecessary invokeLater from ConfigureTemplateDirectoriesAction 2016-04-25 11:08:38 +02:00
Semyon Proshev
c83a2cf81f PY-18543 Fixed: Package requirements.txt does not respect pip -rfilename.txt (with no spaces between -r and filename.txt)
Update regex for recursive requirement to support case when there is no spaces between -r and filename
2016-03-23 19:22:12 +03:00
Alexey Kudravtsev
47e9533a1b replaced with StringUtil.trimStart/trimEnd 2015-12-08 17:06:17 +03:00
Ilya.Kazakevich
2e8d9b3570 Use cache only when looking for packages in remote SDK 2015-12-04 18:09:21 +03:00
Ekaterina Tuzova
51cc16fa13 fixed PY-17789, PY-17777, PY-17723
Do not store sdk cache before it's setup, clear package cache on sdk editing
2015-11-25 16:49:39 +03:00
Ekaterina Tuzova
485008a4e1 fixed jinja2 detection on creating new project 2015-11-10 19:06:04 +03:00
Valentina Kiryushkina
ae5b32ca43 Pass project sdk to PythonProjectGenerator#beforeProjectGenerated 2015-10-07 17:48:24 +03:00
Ilya.Kazakevich
ba906802b3 PY-17055 FileReference#reparse API changed 2015-10-03 02:29:06 +03:00