* [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