public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/R_overlay:master commit in: roverlay/rpackage/, roverlay/remote/, roverlay/recipe/
@ 2012-08-02 15:14 André Erdmann
  0 siblings, 0 replies; only message in thread
From: André Erdmann @ 2012-08-02 15:14 UTC (permalink / raw
  To: gentoo-commits

commit:     738af0867439ad2645ece556f95fe7f81c0ade74
Author:     André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Aug  2 15:11:38 2012 +0000
Commit:     André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Aug  2 15:11:38 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=738af086

comments, string formatting and strutil

---
 roverlay/recipe/easylogger.py          |    1 -
 roverlay/remote/repolist.py            |   13 +++----
 roverlay/remote/repoloader.py          |    7 ++--
 roverlay/rpackage/descriptionreader.py |   59 +++++++++++++++++++-------------
 4 files changed, 44 insertions(+), 36 deletions(-)

diff --git a/roverlay/recipe/easylogger.py b/roverlay/recipe/easylogger.py
index f1a497a..12cd382 100644
--- a/roverlay/recipe/easylogger.py
+++ b/roverlay/recipe/easylogger.py
@@ -94,7 +94,6 @@ def setup_file ( conf ):
 	logfile = conf.get ( 'LOG.FILE.file' )
 	if not logfile or not ( 'LOG.FILE.enabled', True ): return
 
-	# FIXME explain this in config (and make it available)
 	rotating = conf.get ( 'LOG.FILE.rotate', False )
 
 	logdir = os.path.dirname ( logfile )

diff --git a/roverlay/remote/repolist.py b/roverlay/remote/repolist.py
index a623db0..265efaa 100644
--- a/roverlay/remote/repolist.py
+++ b/roverlay/remote/repolist.py
@@ -41,7 +41,10 @@ class RepoList ( object ):
 		# <name>_<version>.<tar suffix>
 		# '^..*_[0-9.]{1,}%s$' or '^[^_]{1,}_[0-9._-]{1,}%s$'
 		self.pkg_regex = re.compile (
-			'^..*_..*%s$' % config.get_or_fail ( 'R_PACKAGE.suffix_regex' ),
+			'^..*_..*{suffix}$'.format (
+				suffix=config.get_or_fail ( 'R_PACKAGE.suffix_regex' )
+			),
+			re.IGNORECASE
 		)
 	# --- end of __init__ (...) ---
 
@@ -61,7 +64,6 @@ class RepoList ( object ):
 		* distdir --
 		* src_uri -- SRC_URI used in created ebuilds,
 		             defaults to None which results in non-fetchable ebuilds
-		             (FIXME: could add RESTRICT="fetch" to those ebuilds)
 		* name    -- name of the repo, defaults to os.path.basename (distdir)
 		"""
 		self.repos.append ( BasicRepo (
@@ -83,7 +85,6 @@ class RepoList ( object ):
 			for d in distdirs:
 				repo = BasicRepo (
 					name=os.path.basename ( d ),
-					# FIXME: --force_distroot should block --distdir
 					directory=d,
 					distroot=self.distroot
 				)
@@ -195,10 +196,8 @@ class RepoList ( object ):
 		arguments:
 		* add_method (pkg) --
 		"""
-		# TODO: _nowait? raises Exception when queue is full which is
-		#                good in non-threaded execution
-		# -> timeout,..
-
+		# _nowait raises Exception when queue is full which is good
+		# in non-threaded execution
 		qput = lambda r: self._queue_packages_from_repo ( r, add_method )
 
 		self._sync_all_repos_and_run ( when_repo_done=qput )

diff --git a/roverlay/remote/repoloader.py b/roverlay/remote/repoloader.py
index ba49d0a..1894d27 100644
--- a/roverlay/remote/repoloader.py
+++ b/roverlay/remote/repoloader.py
@@ -43,12 +43,11 @@ def read_repofile ( repo_file, distroot, lenient=False, force_distroot=False ):
 	for name in parser.sections():
 		repo = None
 
-		if sys.version_info < ( 3, 2 ):
-			# FIXME replace this and use more accurate version condition
+		if sys.version_info >= ( 3, 2 ):
+			get = lambda a, b=None : parser.get ( name, a, raw=True, fallback=b )
+		else:
 			get = lambda a, b=None: parser.get ( name, a, raw=True ) \
 				if parser.has_option ( name, a ) else b
-		else:
-			get = lambda a, b=None : parser.get ( name, a, raw=True, fallback=b )
 
 		repo_type = get ( 'type', 'rsync' ).lower()
 

diff --git a/roverlay/rpackage/descriptionreader.py b/roverlay/rpackage/descriptionreader.py
index 52e9d2e..9ee5c07 100644
--- a/roverlay/rpackage/descriptionreader.py
+++ b/roverlay/rpackage/descriptionreader.py
@@ -7,7 +7,7 @@ import tarfile
 import os.path
 import time
 
-from roverlay          import config, util
+from roverlay          import config, util, strutil
 from roverlay.rpackage import descriptionfields
 
 LOG_IGNORED_FIELDS = True
@@ -51,8 +51,8 @@ class DescriptionReader ( object ):
 		if write_desc and DescriptionReader.WRITE_DESCFILES_DIR is not None:
 			self.write_desc_file  = os.path.join (
 				DescriptionReader.WRITE_DESCFILES_DIR,
-				'%s_%s.desc' % (
-					self.fileinfo ['name'], self.fileinfo ['ebuild_verstr']
+				'{name}_{ver}.desc'.format (
+					name=self.fileinfo ['name'], ver=self.fileinfo ['ebuild_verstr']
 				)
 			)
 
@@ -170,14 +170,14 @@ class DescriptionReader ( object ):
 			self.logger.info ( "Cannot use R package" ) # name?
 			if len ( missing_fields ):
 				self.logger.debug (
-					"The following mandatory description fields are missing: %s."
-						% missing_fields
+					"The following mandatory description fields are missing: {f}.".\
+					format ( f=missing_fields )
 				)
 			if len ( unsuitable_fields ):
 				self.logger.debug (
-					"The following fields have unsuitable values: %s."
-						% unsuitable_fields
-				)
+					"The following fields have unsuitable values: {f}.".format (
+						f=unsuitable_fields
+				) )
 
 		return valid
 
@@ -197,7 +197,9 @@ class DescriptionReader ( object ):
 		file is read (<pkg_name>/DESCRIPTION) or a normal file.
 		"""
 
-		self.logger.debug ( "Starting to read file '%s' ...\n" % filepath )
+		self.logger.debug (
+			"Starting to read file {f!r} ...\n".format ( f=filepath )
+		)
 
 		if not ( isinstance ( filepath, str ) and filepath ):
 			raise Exception ( "bad usage" )
@@ -217,10 +219,10 @@ class DescriptionReader ( object ):
 				fh = th.extractfile ( config.get ( 'DESCRIPTION.file_name' ) )
 
 		else:
-			# open file handle only (!! .Z compressed tar files, FIXME)
+			# open file handle only
+			# COULDFIX: .Z compressed tar files could be opened here
 			fh = open ( filepath, 'r' )
 
-
 		# decode lines of they're only bytes, using isinstance ( <>, str )
 		# 'cause isinstance ( <str>, bytes ) returns True
 		read_lines = tuple (
@@ -237,9 +239,9 @@ class DescriptionReader ( object ):
 				util.dodir ( DescriptionReader.WRITE_DESCFILES_DIR )
 				fh = open ( self.write_desc_file, 'w' )
 				fh.write (
-					'=== This is debug output (%s) ===\n'
-						% time.strftime ( '%F %H:%M:%S' )
-				)
+					'=== This is debug output ({date}) ===\n'.format (
+						date=time.strftime ( '%F %H:%M:%S' )
+				) )
 				fh.write ( '\n'.join ( read_lines ) )
 				fh.write ( '\n' )
 			finally:
@@ -310,14 +312,16 @@ class DescriptionReader ( object ):
 					if field_context_ref is None:
 						# field not defined, skip
 						self.logger.info (
-							"Skipped a description field: '%s'.", line_components [0]
-						)
+							"Skipped a description field: {f!r}.".format (
+								f=line_components [0]
+						) )
 					elif field_context_ref.has_flag ( 'ignore' ):
 						# field ignored
 						if LOG_IGNORED_FIELDS:
 							self.logger.debug (
-								"Ignored field '%s'.", field_context_ref.get_name()
-							)
+								"Ignored field {f!r}.".format (
+									f=field_context_ref.get_name()
+							) )
 
 					else:
 						field_context = field_context_ref.get_name()
@@ -333,7 +337,7 @@ class DescriptionReader ( object ):
 							# warn about that 'cause it could lead to confusing
 							# ebuild/metadata output
 							self.logger.warning (
-								"field {} redefined!".format ( field_context )
+								"field {f} redefined!".format ( f=field_context )
 							)
 
 							raw [field_context].append ( sline )
@@ -349,12 +353,11 @@ class DescriptionReader ( object ):
 					#  (a) line has no leading whitespace
 					#  (b) line has no separator (:)
 					# this should not occur in description files (bad syntax,
-					# unknown compression (.Z!))
+					# unknown compression (.Z))
 
-					# !!! FIXME: handle .Z files properly or at least
-					# deny to read them
-					# remove non ascii-chars (could confuse the terminal)
-					ascii_str = util.ascii_filter ( line_components [0] )
+					# remove non ascii-chars before logging
+					# (could confuse the terminal)
+					ascii_str = strutil.ascii_filter ( line_components [0] )
 					if len ( ascii_str ) == len ( line_components [0] ):
 						self.logger.warning (
 							"Unexpected line in description file: {!r}.".format (
@@ -412,3 +415,11 @@ class DescriptionReader ( object ):
 		# else have log entries from _verify()
 
 	# --- end of run (...) ---
+
+def read ( package_info, logger=None ):
+	return DescriptionReader (
+		package_info = package_info,
+		logger       = logger or package_info.logger,
+		read_now     = True
+	).get_desc ( run_if_unset=False )
+# --- end of read (...) ---


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2012-08-02 15:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-02 15:14 [gentoo-commits] proj/R_overlay:master commit in: roverlay/rpackage/, roverlay/remote/, roverlay/recipe/ André Erdmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox