* [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/metadata/
@ 2013-04-25 16:44 André Erdmann
0 siblings, 0 replies; 3+ messages in thread
From: André Erdmann @ 2013-04-25 16:44 UTC (permalink / raw
To: gentoo-commits
commit: 37357f6a8b38332a3d061a38f6fb14484aa46eaf
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Sun Mar 17 15:17:59 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Sun Mar 17 16:06:30 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=37357f6a
overlay/pkgdir/metadata: use additional_filter
Pass a filter function to strutil.ascii_filter() instead of editing the
value string twice.
---
roverlay/overlay/pkgdir/metadata/abstractnodes.py | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/roverlay/overlay/pkgdir/metadata/abstractnodes.py b/roverlay/overlay/pkgdir/metadata/abstractnodes.py
index 2cb67ca..465973a 100644
--- a/roverlay/overlay/pkgdir/metadata/abstractnodes.py
+++ b/roverlay/overlay/pkgdir/metadata/abstractnodes.py
@@ -16,7 +16,7 @@ __all__ = [ 'MetadataLeaf', 'MetadataNode',
]
from roverlay import strutil
-import re
+
import textwrap
INDENT = '\t'
@@ -211,11 +211,15 @@ class MetadataLeaf ( _MetadataBasicNode ):
def _default_value_str ( self ):
"""Returns the value string. Derived classes may override this."""
+ def char_allowed ( c ):
+ return c not in self.__class__.INVALID_CHARS
+ # --- end of char_allowed (...) ---
+
#if self.value_format == ?: format value ~
- return re.sub (
- "[" + self.__class__.INVALID_CHARS + "]",
- '',
- strutil.ascii_filter ( str ( self.value ) )
+
+ return strutil.ascii_filter (
+ str ( self.value ),
+ additional_filter = char_allowed
)
# --- end of _value_str (...) ---
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/metadata/
@ 2013-04-25 16:44 André Erdmann
0 siblings, 0 replies; 3+ messages in thread
From: André Erdmann @ 2013-04-25 16:44 UTC (permalink / raw
To: gentoo-commits
commit: 632a4ef48b9c09c2a5714cf85a2238f7254eac40
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Apr 25 14:56:56 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Apr 25 14:56:56 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=632a4ef4
metadata creation: use data from older packages
Metadata creation will now use "older" packages (older by version) if
there's no package with enough information and a higher version available.
---
roverlay/overlay/pkgdir/metadata/__init__.py | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/roverlay/overlay/pkgdir/metadata/__init__.py b/roverlay/overlay/pkgdir/metadata/__init__.py
index fb6f374..2ed8686 100644
--- a/roverlay/overlay/pkgdir/metadata/__init__.py
+++ b/roverlay/overlay/pkgdir/metadata/__init__.py
@@ -22,6 +22,8 @@ USE_FULL_DESCRIPTION = True
class MetadataJob ( object ):
"""R package description data -> metadata.xml interface."""
+ DATA_KEYS = frozenset (( 'Description', 'Title' ))
+
def __init__ ( self, filepath, logger ):
"""Initializes a MetadataJob.
@@ -48,8 +50,17 @@ class MetadataJob ( object ):
arguments:
* package_info --
"""
- if package_info.has ( 'desc_data' ) and \
- package_info.compare_version ( self._package_info ) > 0:
+
+ if package_info.compare_version ( self._package_info ) > 0:
+ desc_data = package_info.get (
+ 'desc_data', fallback_value=None, do_fallback=True
+ )
+ if desc_data and any (
+ desc_data.get ( key, None ) for key in self.DATA_KEYS
+ ):
+ # another solution would be to merge data from several
+ # PackageInfo instances (while preferring pkgs with higher
+ # versions), doesn't make sense for one metadata field, though
self._package_info = package_info
# --- end of update (...) ---
@@ -58,6 +69,8 @@ class MetadataJob ( object ):
self._package_info = None
for package_info in package_info_iter:
self.update ( package_info )
+
+ return self._package_info
# --- end of update_using_iterable (...) ---
def _create ( self ):
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/metadata/
@ 2013-09-05 16:01 André Erdmann
0 siblings, 0 replies; 3+ messages in thread
From: André Erdmann @ 2013-09-05 16:01 UTC (permalink / raw
To: gentoo-commits
commit: 96b584032ddbc9d3eea5cc59be89c3592e71462d
Author: André Erdmann <dywi <AT> mailerd <DOT> de>
AuthorDate: Thu Sep 5 15:59:41 2013 +0000
Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
CommitDate: Thu Sep 5 15:59:41 2013 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=96b58403
fix 014240b7155c2fede9931f83e0bb22fb292d83c0
forgot to set retcode|=METADATA_NO_PACKAGE
---
roverlay/overlay/pkgdir/metadata/__init__.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/roverlay/overlay/pkgdir/metadata/__init__.py b/roverlay/overlay/pkgdir/metadata/__init__.py
index da42307..ba06bc2 100644
--- a/roverlay/overlay/pkgdir/metadata/__init__.py
+++ b/roverlay/overlay/pkgdir/metadata/__init__.py
@@ -137,6 +137,8 @@ class MetadataJob ( object ):
with open ( self.filepath, 'w' ) as fh:
if not mref.write_file ( fh ):
retcode |= self.METADATA_WRITE_ERROR
+ else:
+ retcode |= self.METADATA_NO_PACKAGE
self.last_write_code = retcode
return bool ( retcode == self.METADATA_SUCCESS )
@@ -157,6 +159,6 @@ class MetadataJob ( object ):
if code & self.METADATA_WRITE_ERROR:
yield "write error"
- reasons = list ( self.gen_decode ( self.last_write_code ) )
+ reasons = list ( gen_decode ( self.last_write_code ) )
return reasons if reasons else [ '<unknown>', ]
# --- end of decode_write_errors (...) ---
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-09-05 16:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-25 16:44 [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/metadata/ André Erdmann
-- strict thread matches above, loose matches on Subject: below --
2013-04-25 16:44 André Erdmann
2013-09-05 16:01 André Erdmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox