summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/is_valid_package_atom.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-07-11 07:08:30 -0700
committerZac Medico <zmedico@gentoo.org>2011-07-11 07:08:30 -0700
commit774ab66e9cc55f749052d690421765647c9c9c9c (patch)
tree64ad8a7f9733498e98c02300cc16f30d68316aee /pym/_emerge/is_valid_package_atom.py
parent034203acbf22320256aef748d7b0f45e3477e125 (diff)
downloadportage-774ab66e9cc55f749052d690421765647c9c9c9c.tar.gz
portage-774ab66e9cc55f749052d690421765647c9c9c9c.tar.bz2
portage-774ab66e9cc55f749052d690421765647c9c9c9c.zip
is_valid_package_atom: fix circular import
Due to a quirk in python import behavior, this only failed nondeterministically. However, the new preinst sanity test in the portage-9999 ebuild tends to trigger it more often for some people.
Diffstat (limited to 'pym/_emerge/is_valid_package_atom.py')
-rw-r--r--pym/_emerge/is_valid_package_atom.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/pym/_emerge/is_valid_package_atom.py b/pym/_emerge/is_valid_package_atom.py
index d33cf4557..7cb2a5bb1 100644
--- a/pym/_emerge/is_valid_package_atom.py
+++ b/pym/_emerge/is_valid_package_atom.py
@@ -1,13 +1,21 @@
-# Copyright 1999-2009 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
import re
-import portage
-import _emerge.depgraph
+from portage.dep import isvalidatom
+
+def insert_category_into_atom(atom, category):
+ alphanum = re.search(r'\w', atom)
+ if alphanum:
+ ret = atom[:alphanum.start()] + "%s/" % category + \
+ atom[alphanum.start():]
+ else:
+ ret = None
+ return ret
def is_valid_package_atom(x, allow_repo=False):
if "/" not in x:
- x2 = _emerge.depgraph.insert_category_into_atom(x, 'cat')
+ x2 = insert_category_into_atom(x, 'cat')
if x2 != None:
x = x2
- return portage.isvalidatom(x, allow_blockers=False, allow_repo=allow_repo)
+ return isvalidatom(x, allow_blockers=False, allow_repo=allow_repo)