rpms/python-musicbrainz2/devel 0001-Added-a-trackCount-parameter-to-ReleaseFilter-fixes.patch, NONE, 1.1 0002-Use-c_void_p-not-c_int-otherwise-it-crashes-on-64.patch, NONE, 1.1 0003-Support-both-the-0.2.x-and-the-0.1.x-versions-of-the.patch, NONE, 1.1

Jeffrey C. Ollie (jcollie) fedora-extras-commits at redhat.com
Fri Aug 1 20:24:27 UTC 2008


Author: jcollie

Update of /cvs/pkgs/rpms/python-musicbrainz2/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv6111

Added Files:
	0001-Added-a-trackCount-parameter-to-ReleaseFilter-fixes.patch 
	0002-Use-c_void_p-not-c_int-otherwise-it-crashes-on-64.patch 
	0003-Support-both-the-0.2.x-and-the-0.1.x-versions-of-the.patch 
Log Message:
Add patches.

0001-Added-a-trackCount-parameter-to-ReleaseFilter-fixes.patch:

--- NEW FILE 0001-Added-a-trackCount-parameter-to-ReleaseFilter-fixes.patch ---
>From 53b10a922854d83aac2d3ef0eead469ce46edd21 Mon Sep 17 00:00:00 2001
From: matt <matt at b0b80210-5d09-0410-99dd-b4bd03f891c0>
Date: Sun, 15 Jun 2008 20:00:47 +0000
Subject: [PATCH] Added a trackCount parameter to ReleaseFilter (fixes #3781).

git-svn-id: http://svn.musicbrainz.org/python-musicbrainz2/trunk@9873 b0b80210-5d09-0410-99dd-b4bd03f891c0
---
 src/musicbrainz2/webservice.py |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/musicbrainz2/webservice.py b/src/musicbrainz2/webservice.py
index 7f310a2..1ec04c0 100644
--- a/src/musicbrainz2/webservice.py
+++ b/src/musicbrainz2/webservice.py
@@ -418,7 +418,7 @@ class ReleaseFilter(IFilter):
 
 	def __init__(self, title=None, discId=None, releaseTypes=None,
 			artistName=None, artistId=None, limit=None,
-			offset=None, query=None):
+			offset=None, query=None, trackCount=None):
 		"""Constructor.
 
 		If C{discId} or C{artistId} are set, only releases matching
@@ -449,6 +449,7 @@ class ReleaseFilter(IFilter):
 		@param limit: the maximum number of releases to return
 		@param offset: start results at this zero-based offset
 		@param query: a string containing a query in Lucene syntax
+		@param trackCount: the number of tracks in the release
 
 		@see: the constants in L{musicbrainz2.model.Release}
 		"""
@@ -467,6 +468,7 @@ class ReleaseFilter(IFilter):
 			('limit', limit),
 			('offset', offset),
 			('query', query),
+			('count', trackCount),
 		]
 
 		if not _paramsValid(self._params):
-- 
1.5.5.2


0002-Use-c_void_p-not-c_int-otherwise-it-crashes-on-64.patch:

--- NEW FILE 0002-Use-c_void_p-not-c_int-otherwise-it-crashes-on-64.patch ---
>From 11a263b8bb1da6bfe93d4c1074245e4c97bd7832 Mon Sep 17 00:00:00 2001
From: luks <luks at b0b80210-5d09-0410-99dd-b4bd03f891c0>
Date: Wed, 23 Jul 2008 04:54:28 +0000
Subject: [PATCH] Use c_void_p, not c_int, otherwise it crashes on 64-bit systems where sizeof(int) != sizeof(struct disc*).

git-svn-id: http://svn.musicbrainz.org/python-musicbrainz2/trunk@10149 b0b80210-5d09-0410-99dd-b4bd03f891c0
---
 src/musicbrainz2/disc.py |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/src/musicbrainz2/disc.py b/src/musicbrainz2/disc.py
index ccc7c4b..db95790 100644
--- a/src/musicbrainz2/disc.py
+++ b/src/musicbrainz2/disc.py
@@ -75,30 +75,31 @@ def _openLibrary():
 def _setPrototypes(libDiscId):
 	ct = ctypes
 	libDiscId.discid_new.argtypes = ( )
+	libDiscId.discid_new.restype = ct.c_void_p
 
-	libDiscId.discid_free.argtypes = (ct.c_int, )
+	libDiscId.discid_free.argtypes = (ct.c_void_p, )
 
-	libDiscId.discid_read.argtypes = (ct.c_int, ct.c_char_p)
+	libDiscId.discid_read.argtypes = (ct.c_void_p, ct.c_char_p)
 
-	libDiscId.discid_get_error_msg.argtypes = (ct.c_int, )
+	libDiscId.discid_get_error_msg.argtypes = (ct.c_void_p, )
 	libDiscId.discid_get_error_msg.restype = ct.c_char_p
 
-	libDiscId.discid_get_id.argtypes = (ct.c_int, )
+	libDiscId.discid_get_id.argtypes = (ct.c_void_p, )
 	libDiscId.discid_get_id.restype = ct.c_char_p
 
-	libDiscId.discid_get_first_track_num.argtypes = (ct.c_int, )
+	libDiscId.discid_get_first_track_num.argtypes = (ct.c_void_p, )
 	libDiscId.discid_get_first_track_num.restype = ct.c_int
 
-	libDiscId.discid_get_last_track_num.argtypes = (ct.c_int, )
+	libDiscId.discid_get_last_track_num.argtypes = (ct.c_void_p, )
 	libDiscId.discid_get_last_track_num.restype = ct.c_int
 
-	libDiscId.discid_get_sectors.argtypes = (ct.c_int, )
+	libDiscId.discid_get_sectors.argtypes = (ct.c_void_p, )
 	libDiscId.discid_get_sectors.restype = ct.c_int
 
-	libDiscId.discid_get_track_offset.argtypes = (ct.c_int, ct.c_int)
+	libDiscId.discid_get_track_offset.argtypes = (ct.c_void_p, ct.c_int)
 	libDiscId.discid_get_track_offset.restype = ct.c_int
 
-	libDiscId.discid_get_track_length.argtypes = (ct.c_int, ct.c_int)
+	libDiscId.discid_get_track_length.argtypes = (ct.c_void_p, ct.c_int)
 	libDiscId.discid_get_track_length.restype = ct.c_int
 
 
-- 
1.5.5.2


0003-Support-both-the-0.2.x-and-the-0.1.x-versions-of-the.patch:

--- NEW FILE 0003-Support-both-the-0.2.x-and-the-0.1.x-versions-of-the.patch ---
>From e785c3dd2b36f75fd020382d0d8ac2cc5665f21e Mon Sep 17 00:00:00 2001
From: Jeffrey C. Ollie <jeff at ocjtech.us>
Date: Fri, 1 Aug 2008 13:32:38 -0500
Subject: [PATCH] Support both the 0.2.x and the 0.1.x versions of the libdiscid library.

---
 src/musicbrainz2/disc.py |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/src/musicbrainz2/disc.py b/src/musicbrainz2/disc.py
index db95790..5fbcace 100644
--- a/src/musicbrainz2/disc.py
+++ b/src/musicbrainz2/disc.py
@@ -53,24 +53,25 @@ def _openLibrary():
 	# which isn't available for ctypes == 0.9.9.3.
 	#
 	if sys.platform == 'linux2':
-		libName = 'libdiscid.so.0'
+		libNames = ['libdiscid.so.1', 'libdiscid.so.0']
 	elif sys.platform == 'darwin':
-		libName = 'libdiscid.0.dylib'
+		libNames = ['libdiscid.0.dylib']
 	elif sys.platform == 'win32':
-		libName = 'discid.dll'
+		libNames = ['discid.dll']
 	else:
 		# This should at least work for Un*x-style operating systems
-		libName = 'libdiscid.so.0'
-
-	try:
-		libDiscId = ctypes.cdll.LoadLibrary(libName)
-		_setPrototypes(libDiscId)
-		return libDiscId
-	except OSError, e:
-		raise NotImplementedError('Error opening library: ' + str(e))
-
-	assert False # not reached
+		libNames = ['libdiscid.so.1', 'libdiscid.so.0']
 
+	errors = []
+	for libName in libNames:
+		try:
+			libDiscId = ctypes.cdll.LoadLibrary(libName)
+			_setPrototypes(libDiscId)
+			return libDiscId
+		except OSError, e:
+			errors.append(e)
+	
+	raise NotImplementedError('Error opening library: ' + ', '.join(map(str, errors)))
 
 def _setPrototypes(libDiscId):
 	ct = ctypes
@@ -102,6 +103,9 @@ def _setPrototypes(libDiscId):
 	libDiscId.discid_get_track_length.argtypes = (ct.c_void_p, ct.c_int)
 	libDiscId.discid_get_track_length.restype = ct.c_int
 
+	if hasattr(libDiscId, 'discid_get_webservice_url'):
+		libDiscId.discid_get_webservice_url.argtypes = (ct.c_void_p, )
+		libDiscId.discid_get_webservice_url.restype = ct.c_char_p
 
 def getSubmissionUrl(disc, host='mm.musicbrainz.org', port=80):
 	"""Returns a URL for adding a disc to the MusicBrainz database.
-- 
1.5.5.2





More information about the fedora-extras-commits mailing list