[mb-commits] r9724 - in python-musicbrainz2/trunk: src/musicbrainz2 test

root at musicbrainz.org root at musicbrainz.org
Sun Mar 9 08:34:11 UTC 2008


Author: matt
Date: 2008-03-09 08:34:11 +0000 (Sun, 09 Mar 2008)
New Revision: 9724

Modified:
   python-musicbrainz2/trunk/src/musicbrainz2/model.py
   python-musicbrainz2/trunk/src/musicbrainz2/wsxml.py
   python-musicbrainz2/trunk/test/test_model.py
   python-musicbrainz2/trunk/test/test_wsxml_release.py
   python-musicbrainz2/trunk/test/test_wsxml_track.py
Log:
Relation.DIR_BOTH is no longer used since the web service doesn't support it.
Instead, if no direction is returned, we assume a direction of DIR_NONE.
We can't simply use None because of Entity.getRelations().
Note that this change is not entirely backwards compatible.


Modified: python-musicbrainz2/trunk/src/musicbrainz2/model.py
===================================================================
--- python-musicbrainz2/trunk/src/musicbrainz2/model.py	2008-03-09 08:10:23 UTC (rev 9723)
+++ python-musicbrainz2/trunk/src/musicbrainz2/model.py	2008-03-09 08:34:11 UTC (rev 9724)
@@ -112,7 +112,7 @@
 
 		If C{direction} is set, only relations with the given reading
 		direction are returned. You can use the L{Relation.DIR_FORWARD},
-		L{Relation.DIR_BACKWARD}, and L{Relation.DIR_BOTH} constants
+		L{Relation.DIR_BACKWARD}, and L{Relation.DIR_NONE} constants
 		for this.
 
 		@param targetType: a string containing an absolute URI, or None
@@ -1372,9 +1372,10 @@
 	@cvar TO_TRACK: Identifies relations linking to a track.
 	@cvar TO_URL: Identifies relations linking to an URL.
 
-	@cvar DIR_BOTH: Relation reading direction doesn't matter.
+	@cvar DIR_NONE: Relation reading direction doesn't matter.
 	@cvar DIR_FORWARD: Relation reading direction is from source to target.
 	@cvar DIR_BACKWARD: Relation reading direction is from target to source.
+	@cvar DIR_BOTH: Relation reading direction doesn't matter (no longer used!).
 	"""
 	# Relation target types
 	#
@@ -1388,9 +1389,10 @@
 	DIR_BOTH = 'both'
 	DIR_FORWARD = 'forward'
 	DIR_BACKWARD = 'backward'
+	DIR_NONE = 'none'
 
 	def __init__(self, relationType=None, targetType=None, targetId=None,
-			direction=DIR_BOTH, attributes=None,
+			direction=DIR_NONE, attributes=None,
 			beginDate=None, endDate=None, target=None):
 		"""Constructor.
 
@@ -1398,7 +1400,7 @@
 		@param targetType: a string containing an absolute URI
 		@param targetId: a string containing an absolute URI
 		@param direction: one of C{Relation.DIR_FORWARD},
-		C{Relation.DIR_BACKWARD}, or C{Relation.DIR_BOTH}
+		C{Relation.DIR_BACKWARD}, or C{Relation.DIR_NONE}
 		@param attributes: a list of strings containing absolute URIs
 		@param beginDate: a string containing a date
 		@param endDate: a string containing a date
@@ -1547,15 +1549,16 @@
 		"""Returns the reading direction.
 
 		The direction may be one of L{Relation.DIR_FORWARD},
-		L{Relation.DIR_BACKWARD}, or L{Relation.DIR_BOTH},
+		L{Relation.DIR_BACKWARD}, or L{Relation.DIR_NONE},
 		depending on how the relation should be read. For example,
 		if direction is L{Relation.DIR_FORWARD} for a cover relation,
-		it is read as "X is a cover of Y". Some relations are
-		bidirectional, like marriages. In these cases, the direction
-		is L{Relation.DIR_BOTH}.
+		it is read as "X is a cover of Y". For some relations there is
+		no reading direction (like marriages) and the web service doesn't
+		send a direction. In these cases, the direction is set to
+		L{Relation.DIR_NONE}.
 
 		@return: L{Relation.DIR_FORWARD}, L{Relation.DIR_BACKWARD},
-		or L{Relation.DIR_BOTH}
+		or L{Relation.DIR_NONE}
 		"""
 		return self._direction
 
@@ -1563,7 +1566,7 @@
 		"""Sets the reading direction.
 
 		@param direction: L{Relation.DIR_FORWARD},
-		L{Relation.DIR_BACKWARD}, or L{Relation.DIR_BOTH}
+		L{Relation.DIR_BACKWARD}, or L{Relation.DIR_NONE}
 
 		@see: L{getDirection}
 		"""

Modified: python-musicbrainz2/trunk/src/musicbrainz2/wsxml.py
===================================================================
--- python-musicbrainz2/trunk/src/musicbrainz2/wsxml.py	2008-03-09 08:10:23 UTC (rev 9723)
+++ python-musicbrainz2/trunk/src/musicbrainz2/wsxml.py	2008-03-09 08:34:11 UTC (rev 9724)
@@ -1421,10 +1421,9 @@
 def _getDirectionAttr(element, attrName):
 	"""Gets the Relation reading direction from an attribute."""
 	regex = '^\s*(' + '|'.join((
-				model.Relation.DIR_BOTH,
 				model.Relation.DIR_FORWARD,
 				model.Relation.DIR_BACKWARD)) + ')\s*$'
-	return _getAttr(element, 'direction', regex, model.Relation.DIR_BOTH)
+	return _getAttr(element, 'direction', regex, model.Relation.DIR_NONE)
 
 
 def _makeAbsoluteUri(prefix, uriStr):

Modified: python-musicbrainz2/trunk/test/test_model.py
===================================================================
--- python-musicbrainz2/trunk/test/test_model.py	2008-03-09 08:10:23 UTC (rev 9723)
+++ python-musicbrainz2/trunk/test/test_model.py	2008-03-09 08:34:11 UTC (rev 9724)
@@ -40,7 +40,7 @@
 		self.assertEquals(len(rel5), 0)
 
 		rel6 = artist.getRelations(Relation.TO_RELEASE,
-			NS_REL_1 + 'Producer', [NS_REL_1 + 'Co'], 'both')
+			NS_REL_1 + 'Producer', [NS_REL_1 + 'Co'], 'none')
 		self.assertEquals(len(rel6), 1)
 
 		rel6 = artist.getRelations(Relation.TO_RELEASE,

Modified: python-musicbrainz2/trunk/test/test_wsxml_release.py
===================================================================
--- python-musicbrainz2/trunk/test/test_wsxml_release.py	2008-03-09 08:10:23 UTC (rev 9723)
+++ python-musicbrainz2/trunk/test/test_wsxml_release.py	2008-03-09 08:34:11 UTC (rev 9724)
@@ -85,6 +85,7 @@
 
 		self.assertEquals(rel1.getTargetId(),
 			'http://en.wikipedia.org/wiki/Highway_61_Revisited')
+		self.assertEquals(rel1.getDirection(), Relation.DIR_NONE)
 		self.assertEquals(rel2.getTargetId(),
 			'http://www.amazon.com/gp/product/B0000024SI')
 

Modified: python-musicbrainz2/trunk/test/test_wsxml_track.py
===================================================================
--- python-musicbrainz2/trunk/test/test_wsxml_track.py	2008-03-09 08:10:23 UTC (rev 9723)
+++ python-musicbrainz2/trunk/test/test_wsxml_track.py	2008-03-09 08:34:11 UTC (rev 9724)
@@ -43,7 +43,7 @@
 		self.assertEquals(len(trackRels), 1)
 		rel1 = trackRels[0]
 		self.assertEquals(rel1.getType(), NS_REL_1 + 'Cover')
-		self.assertEquals(rel1.getDirection(), 'backward')
+		self.assertEquals(rel1.getDirection(), Relation.DIR_BACKWARD)
 		self.assertEquals(rel1.getTargetId(),
 			makeId('31e1c0c4-967f-435e-b09a-35ee079ee234', 'track'))
 		self.assert_( rel1.getBeginDate() is None )




More information about the MusicBrainz-commits mailing list