src/eric7/PipInterface/Pip.py

branch
eric7
changeset 9580
123a7eadc798
parent 9578
bbe0a4b0832e
child 9586
2750e76fc366
equal deleted inserted replaced
9579:7c5d443a2544 9580:123a7eadc798
750 ) 750 )
751 ) 751 )
752 752
753 return packages 753 return packages
754 754
755 def checkPackageOutdated(self, packageStart, envName, interpreter=None): 755 def checkPackagesOutdated(self, packageStarts, envName, interpreter=None):
756 """ 756 """
757 Public method to check, if a group of packages is outdated. 757 Public method to check, if groups of packages are outdated.
758 758
759 @param packageStart start string for package names to be checked 759 @param packageStarts list of start strings for package names to be checked
760 (case insensitive) 760 (case insensitive)
761 @type str 761 @type str
762 @param envName name of the environment to get the packages for 762 @param envName name of the environment to get the packages for
763 @type str 763 @type str
764 @param interpreter path of an interpreter executable. If this is not 764 @param interpreter path of an interpreter executable. If this is not
765 None, it will override the given environment name (defaults to None) 765 None, it will override the given environment name (defaults to None)
766 @type str (optional) 766 @type str (optional)
767 @return tuple containing a flag indicating outdated packages and the 767 @return list of tuples containing the package name, installed version
768 list of tuples containing the package name, installed version 768 and available version of outdated packages
769 and available version 769 @rtype tuple of (str, str, str)
770 @rtype tuple of (bool, (str, str, str)) 770 """
771 """ 771 if (bool(envName) or bool(interpreter)) and any(bool(p) for p in packageStarts):
772 filteredPackages = []
773
774 if bool(envName) and bool(packageStart):
775 packages = self.getOutdatedPackages(envName, interpreter=interpreter) 772 packages = self.getOutdatedPackages(envName, interpreter=interpreter)
776 filterStr = packageStart.lower() 773 filterStrings = tuple(
774 start.lower() for start in packageStarts if bool(start)
775 )
777 filteredPackages = [ 776 filteredPackages = [
778 p for p in packages if p[0].lower().startswith(filterStr) 777 p for p in packages if p[0].lower().startswith(filterStrings)
779 ] 778 ]
780 779 else:
781 return bool(filteredPackages), filteredPackages 780 filteredPackages = []
781
782 return filteredPackages
782 783
783 def getPackageDetails(self, name, version): 784 def getPackageDetails(self, name, version):
784 """ 785 """
785 Public method to get package details using the PyPI JSON interface. 786 Public method to get package details using the PyPI JSON interface.
786 787

eric ide

mercurial