diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-05-13 13:10:52 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-05-13 13:10:52 -0700 |
commit | e8b6b0c64b081d919398a1afcb3cb97852c77a29 (patch) | |
tree | 08ea591f9d51d05dd92387bef536a578eb63b5b5 /pym/portage/dep | |
parent | _pms_eapi_re: require whitespace before comment (diff) | |
download | portage-e8b6b0c64b081d919398a1afcb3cb97852c77a29.tar.gz portage-e8b6b0c64b081d919398a1afcb3cb97852c77a29.tar.bz2 portage-e8b6b0c64b081d919398a1afcb3cb97852c77a29.zip |
cpvequal: use _pkg_str
Diffstat (limited to 'pym/portage/dep')
-rw-r--r-- | pym/portage/dep/__init__.py | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index 31ec75cf6..0c92857c4 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -76,16 +76,27 @@ def cpvequal(cpv1, cpv2): """ - split1 = catpkgsplit(cpv1) - split2 = catpkgsplit(cpv2) - - if not split1 or not split2: + try: + try: + split1 = cpv1.cpv_split + except AttributeError: + cpv1 = _pkg_str(cpv1) + split1 = cpv1.cpv_split + + try: + split2 = cpv2.cpv_split + except AttributeError: + cpv2 = _pkg_str(cpv2) + split2 = cpv2.cpv_split + + except InvalidData: raise portage.exception.PortageException(_("Invalid data '%s, %s', parameter was not a CPV") % (cpv1, cpv2)) - - if split1[0] != split2[0]: + + if split1[0] != split2[0] or \ + split1[1] != split2[1]: return False - - return (pkgcmp(split1[1:], split2[1:]) == 0) + + return vercmp(cpv1.version, cpv2.version) == 0 def strip_empty(myarr): """ |