From a1b0e97ef724a6decc439b193fdff94f933d0743 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 19 Sep 2009 23:05:24 +0000 Subject: [PATCH] Add isinstance(mydep, Atom) checks to the dep_* functions since we don't use a metaclass to do that anymore (due to performance). svn path=/main/trunk/; revision=14286 --- pym/portage/dep.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/pym/portage/dep.py b/pym/portage/dep.py index bd576b768..66557c0c6 100644 --- a/pym/portage/dep.py +++ b/pym/portage/dep.py @@ -683,6 +683,8 @@ def get_operator(mydep): @return: The operator. One of: '~', '=', '>', '<', '=*', '>=', or '<=' """ + if isinstance(mydep, Atom): + return mydep.operator try: return Atom(mydep).operator except InvalidAtom: @@ -724,7 +726,8 @@ def dep_getcpv(mydep): @rtype: String @return: The depstring with the operator removed """ - + if isinstance(mydep, Atom): + return mydep.cpv try: return Atom(mydep).cpv except InvalidAtom: @@ -885,7 +888,8 @@ def isvalidatom(atom, allow_blockers=False): 2) True if the atom is valid """ try: - atom = Atom(atom) + if not isinstance(atom, Atom): + atom = Atom(atom) if not allow_blockers and atom.blocker: return False return True @@ -910,7 +914,9 @@ def isjustname(mypkg): 2) True if it is """ try: - return mypkg == Atom(mypkg).cp + if not isinstance(mypkg, Atom): + mypkg = Atom(mypkg) + return mypkg == mypkg.cp except InvalidAtom: pass @@ -938,7 +944,9 @@ def isspecific(mypkg): 2) True if it is """ try: - return mypkg != Atom(mypkg).cp + if not isinstance(mypkg, Atom): + mypkg = Atom(mypkg) + return mypkg != mypkg.cp except InvalidAtom: pass @@ -956,9 +964,10 @@ def dep_getkey(mydep): @param mydep: The depstring to retrieve the category/package-name of @type mydep: String @rtype: String - @return: The package category/package-version + @return: The package category/package-name """ - + if isinstance(mydep, Atom): + return mydep.cp try: return Atom(mydep).cp except InvalidAtom: -- 2.26.2