Merge lp:~replaceafill/cando/fix_701786 into lp:cando

Proposed by Douglas Cerna
Status: Merged
Merged at revision: 1068
Proposed branch: lp:~replaceafill/cando/fix_701786
Merge into: lp:cando
Diff against target: 127 lines (+41/-8)
5 files modified
CHANGES.txt (+1/-1)
Makefile (+4/-4)
src/cando/skilldriver/README.txt (+27/-1)
src/cando/skilldriver/skilldriver.py (+5/-2)
src/cando/skilldriver/tests.py (+4/-0)
To merge this branch: bzr merge lp:~replaceafill/cando/fix_701786
Reviewer Review Type Date Requested Status
CanDo Developers Pending
Review via email: mp+45962@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CHANGES.txt'
2--- CHANGES.txt 2010-12-15 13:08:18 +0000
3+++ CHANGES.txt 2011-01-12 07:07:00 +0000
4@@ -5,7 +5,7 @@
5 2010.12.1 (unreleased)
6 ----------------------
7
8-- Nothing changed yet.
9+- Fixed CanDo's IExternalActivities implementation (https://bugs.launchpad.net/cando/+bug/701786)
10
11
12 2010.12 (2010-12-15)
13
14=== modified file 'Makefile'
15--- Makefile 2010-12-13 22:39:25 +0000
16+++ Makefile 2011-01-12 07:07:00 +0000
17@@ -74,11 +74,11 @@
18 coverage: build
19 test -d parts/test/coverage && ! test -d coverage && mv parts/test/coverage . || true
20 rm -rf coverage
21- bin/test -u --coverage=coverage
22+ bin/test --at-level 2 -u --coverage=coverage
23 mv parts/test/coverage .
24
25 .PHONY: coverage-reports-html
26-coverage-reports-html coverage/reports: build
27+coverage-reports-html coverage/reports: coverage
28 test -d parts/test/coverage && ! test -d coverage && mv parts/test/coverage . || true
29 rm -rf coverage/reports
30 mkdir coverage/reports
31@@ -98,11 +98,11 @@
32 ftest-coverage: build
33 test -d parts/test/ftest-coverage && ! test -d ftest-coverage && mv parts/test/ftest-coverage . || true
34 rm -rf ftest-coverage
35- bin/test -f --coverage=ftest-coverage
36+ bin/test --at-level 2 -f --coverage=ftest-coverage
37 mv parts/test/ftest-coverage .
38
39 .PHONY: ftest-coverage-reports-html
40-ftest-coverage-reports-html ftest-coverage/reports: build
41+ftest-coverage-reports-html ftest-coverage/reports: ftest-coverage
42 test -d parts/test/ftest-coverage && ! test -d ftest-coverage && mv parts/test/ftest-coverage . || true
43 rm -rf ftest-coverage/reports
44 mkdir ftest-coverage/reports
45
46=== modified file 'src/cando/skilldriver/README.txt'
47--- src/cando/skilldriver/README.txt 2010-06-03 17:31:44 +0000
48+++ src/cando/skilldriver/README.txt 2011-01-12 07:07:00 +0000
49@@ -406,14 +406,40 @@
50 >>> adapter.getExternalActivities()
51 [<cando.skilldriver.skilldriver.CanDoExternalActivity ...>]
52
53-An external activity can be retrieved using an external activity id::
54+Let's check the external activity provides the right interface:
55
56 >>> external_activity = adapter.getExternalActivities()[0]
57 >>> verifyObject(IExternalActivity, external_activity)
58 True
59+
60+And has the right attributes:
61+
62+ >>> external_activity.source
63+ 'cando.external_activities'
64 >>> external_activity.external_activity_id
65 '0'
66
67+An external activity can be retrieved using an external activity id::
68+
69+ >>> same_activity = adapter.getExternalActivity('0')
70+ >>> same_activity.source
71+ 'cando.external_activities'
72+ >>> same_activity.external_activity_id
73+ '0'
74+
75+If the id doesn't exist, None is returned:
76+
77+ >>> adapter.getExternalActivity('foobar') is None
78+ True
79+
80+External activities can be compared for equality even if they're not
81+the same object:
82+
83+ >>> external_activity is same_activity
84+ False
85+ >>> external_activity == same_activity
86+ True
87+
88 An external activity provides a title, which is the same in the skill
89 driver::
90
91
92=== modified file 'src/cando/skilldriver/skilldriver.py'
93--- src/cando/skilldriver/skilldriver.py 2010-06-03 16:20:16 +0000
94+++ src/cando/skilldriver/skilldriver.py 2011-01-12 07:07:00 +0000
95@@ -253,7 +253,7 @@
96 return None
97
98 def __eq__(self, other):
99- return other is not None and \
100+ return IExternalActivity.providedBy(other) and \
101 self.source == other.source and \
102 self.external_activity_id == other.external_activity_id
103
104@@ -289,4 +289,7 @@
105 return None
106 skilldriver = intids.queryObject(external_activity_id)
107 if skilldriver is not None:
108- return IExternalActivity(skilldriver)
109+ activity = IExternalActivity(skilldriver)
110+ activity.source = self.source
111+ activity.external_activity_id = str(external_activity_id)
112+ return activity
113
114=== modified file 'src/cando/skilldriver/tests.py'
115--- src/cando/skilldriver/tests.py 2010-06-03 16:20:16 +0000
116+++ src/cando/skilldriver/tests.py 2011-01-12 07:07:00 +0000
117@@ -60,6 +60,10 @@
118 if v == ob:
119 return k
120
121+ def queryObject(self, id):
122+ return self.getObject(id)
123+
124+
125 def setUp(test):
126 setup.placefulSetUp()
127 setup.setUpAnnotations()

Subscribers

People subscribed via source and target branches