aboutsummaryrefslogtreecommitdiff
blob: 0ce81a2dc772c4543e3c58f7cbff8d8d84d3396a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'''description.py
Perform checks on the DESCRIPTION variable.
'''

from repoman.modules.scan.scanbase import ScanBase


class DescriptionChecks(ScanBase):
	'''Perform checks on the DESCRIPTION variable.'''

	def __init__(self, **kwargs):
		'''
		@param qatracker: QATracker instance
		'''
		self.qatracker = kwargs.get('qatracker')
		self.repo_settings = kwargs.get('repo_settings')

	def checkTooLong(self, **kwargs):
		'''
		@param pkg: Package in which we check (object).
		@param ebuild: Ebuild which we check (object).
		'''
		ebuild = kwargs.get('ebuild').get()
		pkg = kwargs.get('pkg').get()
		# 14 is the length of DESCRIPTION=""
		if len(pkg._metadata['DESCRIPTION']) > self.repo_settings.qadata.max_desc_len:
			self.qatracker.add_error(
				'DESCRIPTION.toolong',
				"%s: DESCRIPTION is %d characters (max %d)" %
				(ebuild.relative_path, len(
					pkg._metadata['DESCRIPTION']), self.repo_settings.qadata.max_desc_len))
		return False

	@property
	def runInPkgs(self):
		return (False, [])

	@property
	def runInEbuilds(self):
		return (True, [self.checkTooLong])