From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 3837A138222 for ; Tue, 3 May 2016 09:33:54 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0DA7121C00C; Tue, 3 May 2016 09:33:47 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E4C4F21C017 for ; Tue, 3 May 2016 09:33:45 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A7DA2340B9B for ; Tue, 3 May 2016 09:33:44 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 61AA9856 for ; Tue, 3 May 2016 09:33:40 +0000 (UTC) From: "Brian Dolbec" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Brian Dolbec" Message-ID: <1462266926.c26a6f10faed17ba08bbed946e50b8492ed975e0.dolsen@gentoo> Subject: [gentoo-commits] proj/portage:repoman commit in: pym/repoman/ X-VCS-Repository: proj/portage X-VCS-Files: pym/repoman/_xml.py X-VCS-Directories: pym/repoman/ X-VCS-Committer: dolsen X-VCS-Committer-Name: Brian Dolbec X-VCS-Revision: c26a6f10faed17ba08bbed946e50b8492ed975e0 X-VCS-Branch: repoman Date: Tue, 3 May 2016 09:33:40 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 2057b1fa-3958-4b62-b76f-1ef15fb350bc X-Archives-Hash: 63b6f71c5e6b826ef815f033466b2ccf commit: c26a6f10faed17ba08bbed946e50b8492ed975e0 Author: Dirkjan Ochtman ochtman nl> AuthorDate: Mon Jan 25 20:37:13 2016 +0000 Commit: Brian Dolbec gentoo org> CommitDate: Tue May 3 09:15:26 2016 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=c26a6f10 repoman: Remove No longer used repoman._xml module pym/repoman/_xml.py | 105 ---------------------------------------------------- 1 file changed, 105 deletions(-) diff --git a/pym/repoman/_xml.py b/pym/repoman/_xml.py deleted file mode 100644 index 33a536a..0000000 --- a/pym/repoman/_xml.py +++ /dev/null @@ -1,105 +0,0 @@ -# -*- coding:utf-8 -*- - -from __future__ import print_function, unicode_literals - -import sys -import xml - -# import our initialized portage instance -from repoman._portage import portage - -from portage import os -from portage.output import red -from portage.process import find_binary - -from repoman.metadata import fetch_metadata_xsd -from repoman._subprocess import repoman_getstatusoutput - - -class _XMLParser(xml.etree.ElementTree.XMLParser): - - def __init__(self, data, **kwargs): - xml.etree.ElementTree.XMLParser.__init__(self, **kwargs) - self._portage_data = data - if hasattr(self, 'parser'): - self._base_XmlDeclHandler = self.parser.XmlDeclHandler - self.parser.XmlDeclHandler = self._portage_XmlDeclHandler - self._base_StartDoctypeDeclHandler = \ - self.parser.StartDoctypeDeclHandler - self.parser.StartDoctypeDeclHandler = \ - self._portage_StartDoctypeDeclHandler - - def _portage_XmlDeclHandler(self, version, encoding, standalone): - if self._base_XmlDeclHandler is not None: - self._base_XmlDeclHandler(version, encoding, standalone) - self._portage_data["XML_DECLARATION"] = (version, encoding, standalone) - - def _portage_StartDoctypeDeclHandler( - self, doctypeName, systemId, publicId, has_internal_subset): - if self._base_StartDoctypeDeclHandler is not None: - self._base_StartDoctypeDeclHandler( - doctypeName, systemId, publicId, has_internal_subset) - self._portage_data["DOCTYPE"] = (doctypeName, systemId, publicId) - - -class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder): - """ - Implements doctype() as required to avoid deprecation warnings with - >=python-2.7. - """ - def doctype(self, name, pubid, system): - pass - - -class XmlLint(object): - - def __init__(self, options, repoman_settings, metadata_xsd=None): - self.metadata_xsd = (metadata_xsd or - os.path.join(repoman_settings["DISTDIR"], 'metadata.xsd')) - self.options = options - self.repoman_settings = repoman_settings - self._is_capable = metadata_xsd is not None - self.binary = None - self._check_capable() - - def _check_capable(self): - if self.options.mode == "manifest": - return - self.binary = find_binary('xmllint') - if not self.binary: - print(red("!!! xmllint not found. Can't check metadata.xml.\n")) - elif not self._is_capable: - if not fetch_metadata_xsd(self.metadata_xsd, self.repoman_settings): - sys.exit(1) - # this can be problematic if xmllint changes their output - self._is_capable = True - - @property - def capable(self): - return self._is_capable - - def check(self, checkdir, repolevel): - '''Runs checks on the package metadata.xml file - - @param checkdir: string, path - @param repolevel: integer - @return boolean, False == bad metadata - ''' - if not self.capable: - if self.options.xml_parse or repolevel == 3: - print("%s sorry, xmllint is needed. failing\n" % red("!!!")) - sys.exit(1) - return True - # xmlint can produce garbage output even on success, so only dump - # the ouput when it fails. - st, out = repoman_getstatusoutput( - self.binary + " --nonet --noout --schema %s %s" % ( - portage._shell_quote(self.metadata_xsd), - portage._shell_quote( - os.path.join(checkdir, "metadata.xml")))) - if st != os.EX_OK: - print(red("!!!") + " metadata.xml is invalid:") - for z in out.splitlines(): - print(red("!!! ") + z) - return False - return True