aboutsummaryrefslogtreecommitdiffstats
path: root/pym/_emerge/is_valid_package_atom.py
blob: 112afc1ecd62567884396bec89fbf3c7949e5233 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

import re
from portage.dep import isvalidatom

def insert_category_into_atom(atom, category):
	# Handle '*' character for "extended syntax" wildcard support.
	alphanum = re.search(r'[\*\w]', atom, re.UNICODE)
	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.split(":")[0]:
		x2 = insert_category_into_atom(x, 'cat')
		if x2 != None:
			x = x2
	return isvalidatom(x, allow_blockers=False, allow_repo=allow_repo)