Lovely. A few minor comments.
[1]
+ @property + def parent_source_package_url(self): + return self._package_url(parent=True) + + @property + def source_package_url(self): + return self._package_url() + + def _package_url(self, parent=False): + if parent: + distro_series = self.context.derived_series.parent_series + version = self.context.parent_source_version + else: + distro_series = self.context.derived_series + version = self.context.source_version
You could get one less level of indirection if you pass distro_series and version into _package_url():
@property def parent_source_package_url(self): return self._package_url( self.context.derived_series.parent_series, self.context.parent_source_version)
@property def source_package_url(self): return self._package_url( self.context.derived_series, self.context.source_version)
def _package_url(self, distro_series, version): ...
But this is entirely up to you; it's fine as it is.
[2]
+ try: + url = canonical_url( + DistroSeriesSourcePackageRelease( + distro_series, pubs[0].sourcepackagerelease)) + return url + except IndexError: + return ''
I assume you're attempting to catch any potential IndexErrors raised by pubs[0], but it will also catch IndexError in any of the called code.
Now pubs will be an SQLObjectResultSet, so you could do the following:
from storm.zope.interfaces import IResultSet
pub = IResultSet(pubs).first() if pub is None: return '' else: return canonical_url( DistroSeriesSourcePackageRelease( distro_series, pub.sourcepackagerelease))
Out of interest, why do you only consider the first publication here?
[3]
+ row = diff_table.tbody.findAll('tr')[0]
This could simplified to:
row = diff_table.tbody.tr
[4]
+ self.assertTrue(link.endswith(new_version)) ... + self.assertTrue( + links[0].get('href').endswith(difference.source_version))
In the event of a failure, you could make the report more informative by using the EndsWith matcher:
from testtools.matchers import EndsWith self.assertTrue(link, EndsWith(new_version))
« Back to merge proposal
Lovely. A few minor comments.
[1]
+ @property source_ package_ url(self) : url(parent= True) package_ url(self) : derived_ series. parent_ series parent_ source_ version derived_ series source_ version
+ def parent_
+ return self._package_
+
+ @property
+ def source_
+ return self._package_url()
+
+ def _package_url(self, parent=False):
+ if parent:
+ distro_series = self.context.
+ version = self.context.
+ else:
+ distro_series = self.context.
+ version = self.context.
You could get one less level of indirection if you pass distro_series
and version into _package_url():
@property source_ package_ url(self) :
self. context. derived_ series. parent_ series,
self. context. parent_ source_ version)
def parent_
return self._package_url(
@property package_ url(self) :
self. context. derived_ series,
self. context. source_ version)
def source_
return self._package_url(
def _package_url(self, distro_series, version):
...
But this is entirely up to you; it's fine as it is.
[2]
+ try: rcePackageRelea se( .sourcepackager elease) )
+ url = canonical_url(
+ DistroSeriesSou
+ distro_series, pubs[0]
+ return url
+ except IndexError:
+ return ''
I assume you're attempting to catch any potential IndexErrors raised
by pubs[0], but it will also catch IndexError in any of the called
code.
Now pubs will be an SQLObjectResultSet, so you could do the following:
from storm.zope. interfaces import IResultSet
pub = IResultSet( pubs).first( )
DistroSeriesS ourcePackageRel ease(
distro_ series, pub.sourcepacka gerelease) )
if pub is None:
return ''
else:
return canonical_url(
Out of interest, why do you only consider the first publication here?
[3]
+ row = diff_table. tbody.findAll( 'tr')[0]
This could simplified to:
row = diff_table.tbody.tr
[4]
+ self.assertTrue (link.endswith( new_version) ) .get('href' ).endswith( difference. source_ version) )
...
+ self.assertTrue(
+ links[0]
In the event of a failure, you could make the report more informative
by using the EndsWith matcher:
from testtools.matchers import EndsWith assertTrue( link, EndsWith( new_version) )
self.