launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #03300
[Merge] lp:~rvb/launchpad/order-diff-list into lp:launchpad
Raphaël Victor Badin has proposed merging lp:~rvb/launchpad/order-diff-list into lp:launchpad.
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
Related bugs:
Bug #758776 in Launchpad itself: "DistroSeriesDifference's getForDistroSeries should return differences sorted by package name."
https://bugs.launchpad.net/launchpad/+bug/758776
For more details, see:
https://code.launchpad.net/~rvb/launchpad/order-diff-list/+merge/57322
This branch fixes the class method DistroSeriesDifference.getForDistroSeries. The differences are sorted by package name.
= Test =
./bin/test -cvv test_distroseriesdifference test_getForDistroSeries_sorted_by_package_name
= QA =
The +localpackagediffs table should be ordered by package name:
https://launchpad.dev/deribuntu/deriwarty/+localpackagediffs
https://dogfood.launchpad.net/ubuntu/maverick/+localpackagediffs
--
https://code.launchpad.net/~rvb/launchpad/order-diff-list/+merge/57322
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~rvb/launchpad/order-diff-list into lp:launchpad.
=== modified file 'lib/lp/registry/interfaces/distroseriesdifference.py'
--- lib/lp/registry/interfaces/distroseriesdifference.py 2011-04-06 07:34:18 +0000
+++ lib/lp/registry/interfaces/distroseriesdifference.py 2011-04-12 13:57:31 +0000
@@ -270,7 +270,8 @@
source_package_name_filter=None,
status=None,
child_version_higher=False):
- """Return differences for the derived distro series.
+ """Return differences for the derived distro series sorted by
+ package name.
:param distro_series: The derived distribution series which is to be
searched for differences.
=== modified file 'lib/lp/registry/model/distroseriesdifference.py'
--- lib/lp/registry/model/distroseriesdifference.py 2011-04-06 22:51:53 +0000
+++ lib/lp/registry/model/distroseriesdifference.py 2011-04-12 13:57:31 +0000
@@ -141,13 +141,13 @@
DistroSeriesDifference.derived_series == distro_series,
DistroSeriesDifference.difference_type == difference_type,
DistroSeriesDifference.status.is_in(status),
- ]
+ DistroSeriesDifference.source_package_name ==
+ SourcePackageName.id,
+ ]
if source_package_name_filter:
conditions.extend([
- DistroSeriesDifference.source_package_name ==
- SourcePackageName.id,
- SourcePackageName.name == source_package_name_filter])
+ SourcePackageName.name == source_package_name_filter])
if child_version_higher:
conditions.extend([
@@ -156,7 +156,7 @@
return IStore(DistroSeriesDifference).find(
DistroSeriesDifference,
- And(*conditions))
+ And(*conditions)).order_by(SourcePackageName.name)
@staticmethod
def getByDistroSeriesAndName(distro_series, source_package_name):
=== modified file 'lib/lp/registry/tests/test_distroseriesdifference.py'
--- lib/lp/registry/tests/test_distroseriesdifference.py 2011-04-06 15:26:34 +0000
+++ lib/lp/registry/tests/test_distroseriesdifference.py 2011-04-12 13:57:31 +0000
@@ -799,6 +799,22 @@
self.assertContentEqual(diffs['normal'] + diffs['ignored'], result)
+ def test_getForDistroSeries_sorted_by_package_name(self):
+ # The differences are sorted by package name.
+ derived_series = self.makeDerivedSeries()
+ names = []
+ for i in range(10):
+ diff = self.factory.makeDistroSeriesDifference(
+ derived_series=derived_series)
+ names.append(diff.source_package_name.name)
+
+ results = getUtility(
+ IDistroSeriesDifferenceSource).getForDistroSeries(derived_series)
+
+ self.assertContentEqual(
+ sorted(names),
+ [result.source_package_name.name for result in results])
+
def test_getByDistroSeriesAndName(self):
# An individual difference is obtained using the name.
ds_diff = self.factory.makeDistroSeriesDifference(