commit: 8b4fa96f5946c9605633fe93b7602a463d90c678 Author: Tom Wijsman <tomwij <AT> gentoo <DOT> org> AuthorDate: Fri Jun 6 14:50:26 2014 +0000 Commit: Brian Dolbec <brian.dolbec <AT> gmail <DOT> com> CommitDate: Wed Oct 1 23:45:34 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=8b4fa96f
repoman/main.py: Split DESCRIPTION checks to checks/ebuild/variables/ --- .../checks/ebuilds/variables/description.py | 32 ++++++++++++++++++++++ pym/repoman/main.py | 13 ++++----- 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/pym/repoman/checks/ebuilds/variables/description.py b/pym/repoman/checks/ebuilds/variables/description.py new file mode 100644 index 0000000..a2b1057 --- /dev/null +++ b/pym/repoman/checks/ebuilds/variables/description.py @@ -0,0 +1,32 @@ + +'''description.py +Perform checks on the DESCRIPTION variable. +''' + +from repoman.qa_data import max_desc_len + + +class DescriptionChecks(object): + '''Perform checks on the DESCRIPTION variable.''' + + def __init__(self, qatracker): + ''' + @param qatracker: QATracker instance + ''' + self.qatracker = qatracker + + def check(self, pkg, ebuild): + ''' + @param pkg: Package in which we check (object). + @param ebuild: Ebuild which we check (object). + ''' + self._checkTooLong(pkg, ebuild) + + def _checkTooLong(self, pkg, ebuild): + # 14 is the length of DESCRIPTION="" + if len(pkg._metadata['DESCRIPTION']) > max_desc_len: + self.qatracker.add_error( + 'DESCRIPTION.toolong', + "%s: DESCRIPTION is %d characters (max %d)" % + (ebuild.relative_path, len( + pkg._metadata['DESCRIPTION']), max_desc_len)) diff --git a/pym/repoman/main.py b/pym/repoman/main.py index c6f38df..ed3cf88 100755 --- a/pym/repoman/main.py +++ b/pym/repoman/main.py @@ -58,6 +58,7 @@ from repoman.checks.ebuilds.manifests import Manifests from repoman.checks.ebuilds.misc import bad_split_check, pkg_invalid from repoman.checks.ebuilds.pkgmetadata import PkgMetadata from repoman.checks.ebuilds.use_flags import USEFlagChecks +from repoman.checks.ebuilds.variables.description import DescriptionChecks from repoman.checks.ebuilds.variables.eapi import EAPIChecks from repoman.ebuild import Ebuild from repoman.errors import err @@ -65,7 +66,7 @@ from repoman.modules.commit import repochecks from repoman.profile import check_profiles, dev_keywords, setup_profile from repoman.qa_data import ( format_qa_output, format_qa_output_column, qahelp, - qawarnings, qacats, max_desc_len, missingvars, + qawarnings, qacats, missingvars, suspect_virtual, suspect_rdepend, valid_restrict) from repoman.qa_tracker import QATracker from repoman.repos import RepoSettings, repo_metadata @@ -294,6 +295,7 @@ keywordcheck = KeywordChecks(qatracker) liveeclasscheck = LiveEclassChecks(qatracker) rubyeclasscheck = RubyEclassChecks(qatracker) eapicheck = EAPIChecks(qatracker, repo_settings) +descriptioncheck = DescriptionChecks(qatracker) ###################### for xpkg in effective_scanlist: @@ -433,12 +435,9 @@ for xpkg in effective_scanlist: myqakey = var + ".virtual" qatracker.add_error(myqakey, ebuild.relative_path) - # 14 is the length of DESCRIPTION="" - if len(myaux['DESCRIPTION']) > max_desc_len: - qatracker.add_error( - 'DESCRIPTION.toolong', - "%s: DESCRIPTION is %d characters (max %d)" % - (ebuild.relative_path, len(myaux['DESCRIPTION']), max_desc_len)) + ####################### + descriptioncheck.check(pkg, ebuild) + ####################### keywords = myaux["KEYWORDS"].split()