commit: 315cb3236f57ff7e60a2e77a35f3deb3878de39b
Author: Tom Wijsman <tomwij <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 6 14:50:26 2014 +0000
Commit: Tom Wijsman <tomwij <AT> gentoo <DOT> org>
CommitDate: Fri Jun 6 14:50:26 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=315cb323
repoman/main.py: Split DESCRIPTION checks to checks/ebuild/variables/
---
.../checks/ebuilds/variables/description.py | 40 ++++++++++++++++++++++
pym/repoman/main.py | 19 ++++------
2 files changed, 46 insertions(+), 13 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..fba8f97
--- /dev/null
+++ b/pym/repoman/checks/ebuilds/variables/description.py
@@ -0,0 +1,40 @@
+
+'''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._checkPunctuation(pkg, ebuild)
+ self._checkTooLong(pkg, ebuild)
+
+ def _checkPunctuation(self, pkg, ebuild):
+ if pkg._metadata['DESCRIPTION'][-1:] in ['.']:
+ self.qatracker.add_error(
+ 'DESCRIPTION.punctuation',
+ "%s: DESCRIPTION ends with a '%s' character" %
+ (ebuild.relative_path,
pkg._metadata['DESCRIPTION'][-1:]))
+
+ 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 92a9f51..83dfd07 100755
--- a/pym/repoman/main.py
+++ b/pym/repoman/main.py
@@ -51,6 +51,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
@@ -58,7 +59,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
@@ -287,6 +288,7 @@ keywordcheck = KeywordChecks(qatracker)
liveeclasscheck = LiveEclassChecks(qatracker)
rubyeclasscheck = RubyEclassChecks(qatracker)
eapicheck = EAPIChecks(qatracker, repo_settings)
+descriptioncheck = DescriptionChecks(qatracker)
######################
for xpkg in effective_scanlist:
@@ -426,18 +428,9 @@ for xpkg in effective_scanlist:
myqakey = var + ".virtual"
qatracker.add_error(myqakey,
ebuild.relative_path)
- if myaux['DESCRIPTION'][-1:] in ['.']:
- qatracker.add_error(
- 'DESCRIPTION.punctuation',
- "%s: DESCRIPTION ends with a '%s' character" %
- (ebuild.relative_path,
myaux['DESCRIPTION'][-1:]))
-
- # 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()