From: Thomas Sachau Date: Wed, 8 Oct 2008 20:34:47 +0000 (+0000) Subject: scripts/review: Also make use.local.desc generation language independent and update... X-Git-Url: http://pileus.org/git/?a=commitdiff_plain;h=c38e1ad880d094c182938bee2551765afae021f7;p=~andy%2Fsunrise scripts/review: Also make use.local.desc generation language independent and update generation script to latest version svn path=/sunrise/; revision=7205 --- diff --git a/scripts/review b/scripts/review index c27eb29d4..cb9070654 100755 --- a/scripts/review +++ b/scripts/review @@ -107,7 +107,7 @@ if [[ $(svn diff profiles/categories) ]]; then exit ;; esac fi -sh scripts/use_desc_gen.sh . || exit $? +LC_ALL="C" sh scripts/use_desc_gen.sh . || exit $? if [[ $(svn diff profiles/use.local.desc) ]]; then svn diff profiles/use.local.desc | if [[ "$opt_quiet" == "0" ]] ; then less; else cat; fi echo -n "${BOLD}Commit changes?${NORMAL} [${GREEN}Yes${NORMAL}/${RED}No${NORMAL}] " diff --git a/scripts/use_desc_gen.py b/scripts/use_desc_gen.py index 036b8c9e4..b9af8fc66 100755 --- a/scripts/use_desc_gen.py +++ b/scripts/use_desc_gen.py @@ -67,12 +67,23 @@ def FindMetadataFiles(repo_path, category_path, output=sys.stdout): for num, pkg_path in enumerate(packages): metadata_path = os.path.join(pkg_path, METADATA_XML) logging.info('processing %s (%s/%s)' % (metadata_path, num, total)) - f = open(metadata_path, 'rb') + try: + f = open(metadata_path, 'rb') + except IOError, e: + if e.errno == errno.ENOENT: + logging.error('Time to shoot the maintainer: %s does not contain a metadata.xml!' % (pkg_path)) + continue + else: + # remember to re-raise if it's not a missing file + raise e metadata = GetLocalFlagInfoFromMetadataXml(f) pkg_split = pkg_path.split('/') for k, v in metadata.iteritems(): - output.write('%s/%s:%s - %s\n' % (pkg_split[-2] ,pkg_split[-1], k, v)) - + try: + output.write('%s/%s:%s - %s\n' % (pkg_split[-2] ,pkg_split[-1], k, v)) + except UnicodeEncodeError, e: + logging.error('Unicode found in %s, not generating to output' % (pkg_path)) + continue def _GetTextFromNode(node): """Given an XML node, try to turn all it's children into text. diff --git a/scripts/use_desc_gen.sh b/scripts/use_desc_gen.sh index c9d378b92..02e48b5e9 100644 --- a/scripts/use_desc_gen.sh +++ b/scripts/use_desc_gen.sh @@ -47,7 +47,6 @@ python scripts/use_desc_gen.py --repo_path "${1}" > /tmp/${pid}.new.use # let's keep it sorted: use major category, minor category, and package name # as primary, secondary, and tertiary sort keys, respectively -LC_ALL=C sort -t: -k1,1 -k2 /tmp/${pid}.new.use | sort -s -t/ -k1,1 \ >> /tmp/${pid}.use.local.desc