public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [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-09-05 16:01 [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-04-25 16:44 André Erdmann

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