[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