* [gentoo-commits] proj/R_overlay:master commit in: /, roverlay/config/, roverlay/rpackage/
@ 2012-06-28 13:29 André Erdmann
0 siblings, 0 replies; only message in thread
From: André Erdmann @ 2012-06-28 13:29 UTC (permalink / raw
To: gentoo-commits
commit: c7143074312b3fb5a497c3729a1b4bac8a23a5a3
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Jun 28 13:21:01 2012 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Jun 28 13:21:01 2012 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=c7143074
DescriptionReader: write description files
* the DescriptionReader is now able to write the description
lines from an R package to a text file.
This is optional and disabled unless DESCRIPTION_DIR is set in the config
file.
modified: .gitignore
modified: R-overlay.conf
modified: roverlay/config/entrymap.py
modified: roverlay/rpackage/descriptionreader.py
---
.gitignore | 1 +
R-overlay.conf | 2 ++
roverlay/config/entrymap.py | 12 ++++++++++++
roverlay/rpackage/descriptionreader.py | 27 ++++++++++++++++++++++++++-
4 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/.gitignore b/.gitignore
index c412f0b..7b3f583 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,3 +20,4 @@ roverlay.log
/distfiles-root/
/overlay-root/
+/desc-files/
diff --git a/R-overlay.conf b/R-overlay.conf
index 3a84234..b6eb8d9 100644
--- a/R-overlay.conf
+++ b/R-overlay.conf
@@ -26,3 +26,5 @@ ECLASS = eclass/R-packages.eclass
REPO_CONFIG = repo.list
DISTFILES = distfiles-root
+
+DESCRIPTION_DIR = desc-files
diff --git a/roverlay/config/entrymap.py b/roverlay/config/entrymap.py
index 2cb7077..4179c4f 100644
--- a/roverlay/config/entrymap.py
+++ b/roverlay/config/entrymap.py
@@ -128,4 +128,16 @@ CONFIG_ENTRY_MAP = dict (
# --- dependency resolution
+ # == description reader ==
+
+ # * for debugging
+ # if set: write _all_ description files to dir/<package_filename>
+ description_descfiles_dir = dict (
+ path = [ 'DESCRIPTION', 'descfiles_dir' ],
+ value_type = 'fs_abs:fs_dir',
+ ),
+
+ # * alias
+ description_dir = 'description_descfiles_dir',
+
)
diff --git a/roverlay/rpackage/descriptionreader.py b/roverlay/rpackage/descriptionreader.py
index 03ec30a..8aa35b3 100644
--- a/roverlay/rpackage/descriptionreader.py
+++ b/roverlay/rpackage/descriptionreader.py
@@ -5,13 +5,16 @@
import re
import tarfile
import os.path
+import time
-from roverlay import config
+from roverlay import config, util
from roverlay.rpackage import descriptionfields
class DescriptionReader ( object ):
"""Description Reader"""
+ WRITE_DESCFILES_DIR = config.get ( 'DESCRIPTION.descfiles_dir', None )
+
def __init__ ( self, package_info, logger, read_now=False ):
"""Initializes a DESCRIPTION file reader."""
@@ -25,6 +28,14 @@ class DescriptionReader ( object ):
self.logger = logger.getChild ( 'desc_reader' )
self.desc_data = None
+ if 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']
+ )
+ )
+
if read_now:
self.run()
@@ -219,6 +230,20 @@ class DescriptionReader ( object ):
if not th is None: th.close()
del fh, th
+ if hasattr ( self, 'write_desc_file' ):
+ try:
+ 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' )
+ )
+ fh.write ( '\n'.join ( read_lines ) )
+ fh.write ( '\n' )
+ finally:
+ if 'fh' in locals() and fh: fh.close()
+
+
return read_lines
# --- end of get_desc_from_file (...) ---
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-06-28 13:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-28 13:29 [gentoo-commits] proj/R_overlay:master commit in: /, roverlay/config/, roverlay/rpackage/ André Erdmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox