Merge lp:~stevenk/launchpad/no-more-lazr-utils into lp:launchpad

Proposed by Steve Kowalik on 2011-09-13
Status: Merged
Approved by: William Grant on 2011-09-13
Approved revision: no longer in the source branch.
Merged at revision: 13939
Proposed branch: lp:~stevenk/launchpad/no-more-lazr-utils
Merge into: lp:launchpad
Diff against target: 1145 lines (+89/-94)
55 files modified
lib/canonical/launchpad/browser/librarian.py (+1/-1)
lib/canonical/launchpad/doc/librarian.txt (+1/-1)
lib/canonical/launchpad/pagetitles.py (+1/-1)
lib/canonical/launchpad/utilities/gpghandler.py (+1/-1)
lib/canonical/launchpad/utilities/looptuner.py (+1/-1)
lib/canonical/launchpad/webapp/adapter.py (+1/-1)
lib/canonical/launchpad/webapp/errorlog.py (+4/-2)
lib/canonical/launchpad/webapp/publisher.py (+8/-10)
lib/canonical/launchpad/webapp/tests/test_statementtracer.py (+6/-5)
lib/canonical/lazr/doc/menus.txt (+1/-1)
lib/canonical/lazr/doc/utils.txt (+4/-4)
lib/canonical/lazr/testing/menus.py (+1/-3)
lib/canonical/lazr/utils.py (+0/-9)
lib/canonical/librarian/client.py (+1/-1)
lib/lp/answers/browser/question.py (+1/-1)
lib/lp/app/browser/lazrjs.py (+6/-5)
lib/lp/app/widgets/location.py (+1/-1)
lib/lp/app/widgets/popup.py (+2/-1)
lib/lp/blueprints/browser/specificationbranch.py (+1/-1)
lib/lp/blueprints/browser/specificationtarget.py (+4/-4)
lib/lp/blueprints/browser/sprint.py (+1/-1)
lib/lp/blueprints/browser/sprintspecification.py (+2/-1)
lib/lp/bugs/browser/bugattachment.py (+1/-1)
lib/lp/bugs/browser/bugbranch.py (+1/-1)
lib/lp/bugs/browser/bugtask.py (+1/-1)
lib/lp/bugs/browser/bugtracker.py (+1/-1)
lib/lp/buildmaster/model/builder.py (+1/-3)
lib/lp/code/browser/branch.py (+1/-1)
lib/lp/code/browser/branchsubscription.py (+1/-2)
lib/lp/code/model/branchcollection.py (+1/-1)
lib/lp/registry/browser/distributionsourcepackage.py (+1/-1)
lib/lp/registry/browser/person.py (+1/-1)
lib/lp/registry/browser/productrelease.py (+1/-1)
lib/lp/registry/browser/sourcepackage.py (+1/-1)
lib/lp/registry/model/distributionsourcepackage.py (+1/-1)
lib/lp/registry/model/person.py (+1/-1)
lib/lp/registry/model/product.py (+1/-1)
lib/lp/registry/model/sourcepackage.py (+1/-1)
lib/lp/registry/tests/test_prf_walker.py (+1/-1)
lib/lp/registry/vocabularies.py (+2/-3)
lib/lp/services/apachelogparser/script.py (+1/-1)
lib/lp/soyuz/browser/archive.py (+1/-1)
lib/lp/soyuz/browser/build.py (+1/-1)
lib/lp/soyuz/browser/builder.py (+1/-1)
lib/lp/soyuz/browser/distributionsourcepackagerelease.py (+2/-1)
lib/lp/soyuz/browser/distroarchseries.py (+1/-1)
lib/lp/soyuz/browser/distroarchseriesbinarypackage.py (+2/-1)
lib/lp/soyuz/browser/distroseriesbinarypackage.py (+2/-1)
lib/lp/soyuz/browser/distroseriessourcepackagerelease.py (+2/-1)
lib/lp/soyuz/browser/sourcepackage.py (+1/-1)
lib/lp/soyuz/browser/sourcepackagebuilds.py (+2/-1)
lib/lp/translations/browser/customlanguagecode.py (+2/-1)
lib/lp/translations/browser/pofile.py (+1/-1)
lib/lp/translations/browser/potemplate.py (+1/-1)
lib/lp/translations/browser/tests/test_breadcrumbs.py (+1/-1)
To merge this branch: bzr merge lp:~stevenk/launchpad/no-more-lazr-utils
Reviewer Review Type Date Requested Status
William Grant code 2011-09-13 Approve on 2011-09-13
Review via email: mp+75117@code.launchpad.net

Commit message

[r=wgrant][no-qa] Drown canonical.lazr.utils.

Description of the change

Drown canonical.lazr.utils. It was just a stub module that imported everything from lazr.restful.utils. Fix remaining imports, reordering them if neccessary.

To post a comment you must log in.
William Grant (wgrant) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/canonical/launchpad/browser/librarian.py'
2--- lib/canonical/launchpad/browser/librarian.py 2011-06-29 11:21:47 +0000
3+++ lib/canonical/launchpad/browser/librarian.py 2011-09-13 05:27:06 +0000
4@@ -15,6 +15,7 @@
5
6 from lazr.delegates import delegates
7 from lazr.restful.interfaces import IWebBrowserOriginatingRequest
8+from lazr.restful.utils import get_current_browser_request
9 from zope.publisher.interfaces import NotFound
10 from zope.security.interfaces import Unauthorized
11
12@@ -28,7 +29,6 @@
13 stepthrough,
14 )
15 from canonical.launchpad.webapp.url import urlappend
16-from canonical.lazr.utils import get_current_browser_request
17 from canonical.librarian.client import url_path_quote
18 from lp.app.errors import GoneError
19
20
21=== modified file 'lib/canonical/launchpad/doc/librarian.txt'
22--- lib/canonical/launchpad/doc/librarian.txt 2011-03-29 00:11:57 +0000
23+++ lib/canonical/launchpad/doc/librarian.txt 2011-09-13 05:27:06 +0000
24@@ -226,7 +226,7 @@
25
26 Librarian reads are logged in the request timeline.
27
28- >>> from canonical.lazr.utils import get_current_browser_request
29+ >>> from lazr.restful.utils import get_current_browser_request
30 >>> from lp.services.timeline.requesttimeline import get_request_timeline
31 >>> request = get_current_browser_request()
32 >>> timeline = get_request_timeline(request)
33
34=== modified file 'lib/canonical/launchpad/pagetitles.py'
35--- lib/canonical/launchpad/pagetitles.py 2011-04-21 01:30:30 +0000
36+++ lib/canonical/launchpad/pagetitles.py 2011-09-13 05:27:06 +0000
37@@ -43,10 +43,10 @@
38 """
39 __metaclass__ = type
40
41+from lazr.restful.utils import smartquote
42 from zope.component import getUtility
43
44 from canonical.launchpad.webapp.interfaces import ILaunchBag
45-from canonical.lazr.utils import smartquote
46 from lp.bugs.interfaces.malone import IMaloneApplication
47
48
49
50=== modified file 'lib/canonical/launchpad/utilities/gpghandler.py'
51--- lib/canonical/launchpad/utilities/gpghandler.py 2011-08-22 01:10:49 +0000
52+++ lib/canonical/launchpad/utilities/gpghandler.py 2011-09-13 05:27:06 +0000
53@@ -24,6 +24,7 @@
54 import urllib2
55
56 import gpgme
57+from lazr.restful.utils import get_current_browser_request
58 from zope.interface import implements
59
60 from canonical.config import config
61@@ -47,7 +48,6 @@
62 TimeoutError,
63 urlfetch,
64 )
65-from canonical.lazr.utils import get_current_browser_request
66 from lp.app.validators.email import valid_email
67 from lp.registry.interfaces.gpg import (
68 GPGKeyAlgorithm,
69
70=== modified file 'lib/canonical/launchpad/utilities/looptuner.py'
71--- lib/canonical/launchpad/utilities/looptuner.py 2011-07-29 13:30:33 +0000
72+++ lib/canonical/launchpad/utilities/looptuner.py 2011-09-13 05:27:06 +0000
73@@ -13,6 +13,7 @@
74 from datetime import timedelta
75 import time
76
77+from lazr.restful.utils import safe_hasattr
78 import transaction
79 from zope.component import getUtility
80 from zope.interface import implements
81@@ -24,7 +25,6 @@
82 MAIN_STORE,
83 MASTER_FLAVOR,
84 )
85-from canonical.lazr.utils import safe_hasattr
86
87
88 class LoopTuner:
89
90=== modified file 'lib/canonical/launchpad/webapp/adapter.py'
91--- lib/canonical/launchpad/webapp/adapter.py 2011-09-02 16:26:59 +0000
92+++ lib/canonical/launchpad/webapp/adapter.py 2011-09-13 05:27:06 +0000
93@@ -18,6 +18,7 @@
94 import traceback
95 import warnings
96
97+from lazr.restful.utils import get_current_browser_request, safe_hasattr
98 import psycopg2
99 from psycopg2.extensions import (
100 ISOLATION_LEVEL_AUTOCOMMIT,
101@@ -72,7 +73,6 @@
102 SLAVE_FLAVOR,
103 )
104 from canonical.launchpad.webapp.opstats import OpStats
105-from canonical.lazr.utils import get_current_browser_request, safe_hasattr
106 from canonical.lazr.timeout import set_default_timeout_function
107 from lp.services import features
108 from lp.services.log.loglevels import DEBUG2
109
110=== modified file 'lib/canonical/launchpad/webapp/errorlog.py'
111--- lib/canonical/launchpad/webapp/errorlog.py 2011-08-17 01:06:02 +0000
112+++ lib/canonical/launchpad/webapp/errorlog.py 2011-09-13 05:27:06 +0000
113@@ -19,7 +19,10 @@
114 import urllib
115 import urlparse
116
117-from lazr.restful.utils import get_current_browser_request
118+from lazr.restful.utils import (
119+ get_current_browser_request,
120+ safe_hasattr,
121+ )
122 import oops.createhooks
123 from oops_datedir_repo import DateDirRepo
124 import oops_datedir_repo.serializer_rfc822
125@@ -47,7 +50,6 @@
126 from canonical.launchpad.webapp.opstats import OpStats
127 from canonical.launchpad.webapp.pgsession import PGSessionBase
128 from canonical.launchpad.webapp.vhosts import allvhosts
129-from canonical.lazr.utils import safe_hasattr
130 from lp.app import versioninfo
131 from lp.services.timeline.requesttimeline import get_request_timeline
132
133
134=== modified file 'lib/canonical/launchpad/webapp/publisher.py'
135--- lib/canonical/launchpad/webapp/publisher.py 2011-08-08 22:19:10 +0000
136+++ lib/canonical/launchpad/webapp/publisher.py 2011-09-13 05:27:06 +0000
137@@ -28,6 +28,14 @@
138 import httplib
139 import simplejson
140
141+from lazr.restful import (
142+ EntryResource,
143+ ResourceJSONEncoder,
144+ )
145+from lazr.restful.declarations import error_status
146+from lazr.restful.interfaces import IJSONRequestCache
147+from lazr.restful.tales import WebLayerAPI
148+from lazr.restful.utils import get_current_browser_request
149 from zope.app import zapi
150 from zope.app.publisher.interfaces.xmlrpc import IXMLRPCView
151 from zope.app.publisher.xmlrpc import IMethodPublisher
152@@ -52,15 +60,6 @@
153 )
154 from zope.traversing.browser.interfaces import IAbsoluteURL
155
156-from lazr.restful import (
157- EntryResource,
158- ResourceJSONEncoder,
159- )
160-from lazr.restful.declarations import error_status
161-from lazr.restful.interfaces import IJSONRequestCache
162-
163-from lazr.restful.tales import WebLayerAPI
164-
165 from canonical.launchpad.layers import (
166 LaunchpadLayer,
167 setFirstLayer,
168@@ -78,7 +77,6 @@
169 )
170 from canonical.launchpad.webapp.url import urlappend
171 from canonical.launchpad.webapp.vhosts import allvhosts
172-from canonical.lazr.utils import get_current_browser_request
173 from lp.app.errors import NotFoundError
174 from lp.services.encoding import is_ascii_only
175
176
177=== modified file 'lib/canonical/launchpad/webapp/tests/test_statementtracer.py'
178--- lib/canonical/launchpad/webapp/tests/test_statementtracer.py 2011-09-01 16:21:12 +0000
179+++ lib/canonical/launchpad/webapp/tests/test_statementtracer.py 2011-09-13 05:27:06 +0000
180@@ -9,16 +9,17 @@
181 import StringIO
182 import sys
183
184+from lazr.restful.utils import get_current_browser_request
185+
186+from canonical.launchpad.webapp import adapter as da
187+from canonical.testing import DatabaseFunctionalLayer
188+from lp.services.osutils import override_environ
189+from lp.services.timeline.requesttimeline import get_request_timeline
190 from lp.testing import (
191 person_logged_in,
192 TestCase,
193 TestCaseWithFactory,
194 )
195-from lp.services.osutils import override_environ
196-from lp.services.timeline.requesttimeline import get_request_timeline
197-from canonical.launchpad.webapp import adapter as da
198-from canonical.lazr.utils import get_current_browser_request
199-from canonical.testing import DatabaseFunctionalLayer
200
201
202 @contextmanager
203
204=== modified file 'lib/canonical/lazr/doc/menus.txt'
205--- lib/canonical/lazr/doc/menus.txt 2011-06-23 13:10:40 +0000
206+++ lib/canonical/lazr/doc/menus.txt 2011-09-13 05:27:06 +0000
207@@ -281,7 +281,7 @@
208 >>> defineChecker(MenuLink, InterfaceChecker(ILink))
209 >>> defineChecker(URI, NamesChecker(dir(URI)))
210
211- >>> from canonical.lazr.utils import safe_hasattr
212+ >>> from lazr.restful.utils import safe_hasattr
213 >>> def summarise_links(menu, url=None, facet=None):
214 ... """List the links and their attributes."""
215 ... if url is not None:
216
217=== modified file 'lib/canonical/lazr/doc/utils.txt'
218--- lib/canonical/lazr/doc/utils.txt 2008-09-17 01:57:56 +0000
219+++ lib/canonical/lazr/doc/utils.txt 2011-09-13 05:27:06 +0000
220@@ -6,7 +6,7 @@
221 LAZR provides a way of converting TextThatIsWordSeparatedWithInterCaps
222 to text_that_is_word_separated_with_underscores.
223
224- >>> from canonical.lazr.utils import camelcase_to_underscore_separated
225+ >>> from lazr.restful.utils import camelcase_to_underscore_separated
226 >>> camelcase_to_underscore_separated('lowercase')
227 'lowercase'
228 >>> camelcase_to_underscore_separated('TwoWords')
229@@ -27,7 +27,7 @@
230 caller. This behaviour of the builtin hasattr() is annoying because it
231 makes problems harder to diagnose.
232
233- >>> from canonical.lazr.utils import safe_hasattr
234+ >>> from lazr.restful.utils import safe_hasattr
235
236 >>> class Oracle(object):
237 ... @property
238@@ -58,7 +58,7 @@
239 smartquote() converts pairs of inch marks (") in a string to typographical
240 quotation marks.
241
242- >>> from canonical.lazr.utils import smartquote
243+ >>> from lazr.restful.utils import smartquote
244 >>> smartquote('')
245 u''
246 >>> smartquote('foo "bar" baz')
247@@ -82,7 +82,7 @@
248 This will escape the given text so that it can be used in Javascript
249 code.
250
251- >>> from canonical.lazr.utils import safe_js_escape
252+ >>> from lazr.restful.utils import safe_js_escape
253 >>> print safe_js_escape('John "nasty" O\'Brien')
254 "John "nasty" O'Brien"
255 >>> print safe_js_escape("John O\'Brien")
256
257=== modified file 'lib/canonical/lazr/testing/menus.py'
258--- lib/canonical/lazr/testing/menus.py 2010-09-27 16:49:22 +0000
259+++ lib/canonical/lazr/testing/menus.py 2011-09-13 05:27:06 +0000
260@@ -9,12 +9,10 @@
261 'make_fake_request',
262 ]
263
264-
265+from lazr.restful.utils import safe_hasattr
266 from zope.security.proxy import isinstance as zope_isinstance
267 from zope.security.management import endInteraction, newInteraction
268
269-from canonical.lazr.utils import safe_hasattr
270-
271 from canonical.launchpad.webapp import urlsplit
272 from canonical.launchpad.webapp.interfaces import ILink
273 from canonical.launchpad.webapp.servers import LaunchpadTestRequest
274
275=== removed file 'lib/canonical/lazr/utils.py'
276--- lib/canonical/lazr/utils.py 2009-06-25 05:30:52 +0000
277+++ lib/canonical/lazr/utils.py 1970-01-01 00:00:00 +0000
278@@ -1,9 +0,0 @@
279-# Copyright 2009 Canonical Ltd. This software is licensed under the
280-# GNU Affero General Public License version 3 (see the file LICENSE).
281-
282-# Re-import code from lazr.restful until it can be refactored into a
283-# utility module.
284-__all__ = []
285-import lazr.restful.utils
286-__all__.extend(lazr.restful.utils.__all__)
287-from lazr.restful.utils import *
288
289=== modified file 'lib/canonical/librarian/client.py'
290--- lib/canonical/librarian/client.py 2011-09-03 03:51:05 +0000
291+++ lib/canonical/librarian/client.py 2011-09-13 05:27:06 +0000
292@@ -29,6 +29,7 @@
293 urlunparse,
294 )
295
296+from lazr.restful.utils import get_current_browser_request
297 from storm.store import Store
298 from zope.component import getUtility
299 from zope.interface import implements
300@@ -40,7 +41,6 @@
301 from canonical.librarian.interfaces import (
302 DownloadFailed, ILibrarianClient, IRestrictedLibrarianClient,
303 LIBRARIAN_SERVER_DEFAULT_TIMEOUT, LibrarianServerError, UploadFailed)
304-from canonical.lazr.utils import get_current_browser_request
305 from lp.services.timeline.requesttimeline import get_request_timeline
306
307
308
309=== modified file 'lib/lp/answers/browser/question.py'
310--- lib/lp/answers/browser/question.py 2011-07-29 06:58:45 +0000
311+++ lib/lp/answers/browser/question.py 2011-09-13 05:27:06 +0000
312@@ -33,6 +33,7 @@
313 from lazr.lifecycle.event import ObjectModifiedEvent
314 from lazr.lifecycle.snapshot import Snapshot
315 from lazr.restful.interface import copy_field
316+from lazr.restful.utils import smartquote
317 from z3c.ptcompat import ViewPageTemplateFile
318 from zope.app.form.browser import (
319 TextAreaWidget,
320@@ -77,7 +78,6 @@
321 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
322 from canonical.launchpad.webapp.interfaces import IAlwaysSubmittedWidget
323 from canonical.launchpad.webapp.menu import structured
324-from canonical.lazr.utils import smartquote
325 from lp.answers.browser.questiontarget import SearchQuestionsView
326 from lp.answers.enums import (
327 QuestionAction,
328
329=== modified file 'lib/lp/app/browser/lazrjs.py'
330--- lib/lp/app/browser/lazrjs.py 2011-08-22 12:13:22 +0000
331+++ lib/lp/app/browser/lazrjs.py 2011-09-13 05:27:06 +0000
332@@ -18,6 +18,12 @@
333
334 import simplejson
335
336+from lazr.enum import IEnumeratedType
337+from lazr.restful.declarations import LAZR_WEBSERVICE_EXPORTED
338+from lazr.restful.utils import (
339+ get_current_browser_request,
340+ safe_hasattr,
341+ )
342 from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
343 from zope.component import getUtility
344 from zope.security.checker import canAccess, canWrite
345@@ -27,11 +33,6 @@
346 )
347 from zope.schema.vocabulary import getVocabularyRegistry
348
349-from lazr.enum import IEnumeratedType
350-from lazr.restful.declarations import LAZR_WEBSERVICE_EXPORTED
351-from canonical.lazr.utils import get_current_browser_request
352-from canonical.lazr.utils import safe_hasattr
353-
354 from canonical.launchpad.webapp.interfaces import ILaunchBag
355 from canonical.launchpad.webapp.publisher import canonical_url
356 from canonical.launchpad.webapp.vocabulary import IHugeVocabulary
357
358=== modified file 'lib/lp/app/widgets/location.py'
359--- lib/lp/app/widgets/location.py 2011-02-24 15:30:54 +0000
360+++ lib/lp/app/widgets/location.py 2011-09-13 05:27:06 +0000
361@@ -9,6 +9,7 @@
362 'LocationWidget',
363 ]
364
365+from lazr.restful.utils import safe_js_escape
366 from z3c.ptcompat import ViewPageTemplateFile
367 from zope.app.form import InputWidget
368 from zope.app.form.browser.interfaces import IBrowserWidget
369@@ -31,7 +32,6 @@
370 ILaunchBag,
371 IMultiLineWidgetLayout,
372 )
373-from canonical.lazr.utils import safe_js_escape
374 from lp.app.browser.tales import ObjectImageDisplayAPI
375 from lp.app.validators import LaunchpadValidationError
376 from lp.registry.interfaces.location import IObjectWithLocation
377
378=== modified file 'lib/lp/app/widgets/popup.py'
379--- lib/lp/app/widgets/popup.py 2011-08-22 12:13:22 +0000
380+++ lib/lp/app/widgets/popup.py 2011-09-13 05:27:06 +0000
381@@ -9,6 +9,8 @@
382
383 import cgi
384 import simplejson
385+
386+from lazr.restful.utils import safe_hasattr
387 from z3c.ptcompat import ViewPageTemplateFile
388 from zope.app.form.browser.itemswidgets import (
389 ItemsWidgetBase,
390@@ -18,7 +20,6 @@
391
392 from canonical.launchpad.webapp import canonical_url
393 from canonical.launchpad.webapp.vocabulary import IHugeVocabulary
394-from canonical.lazr.utils import safe_hasattr
395 from lp.app.browser.stringformatter import FormattersAPI
396 from lp.app.browser.vocabulary import get_person_picker_entry_metadata
397 from lp.services.features import getFeatureFlag
398
399=== modified file 'lib/lp/blueprints/browser/specificationbranch.py'
400--- lib/lp/blueprints/browser/specificationbranch.py 2010-11-23 23:22:27 +0000
401+++ lib/lp/blueprints/browser/specificationbranch.py 2011-09-13 05:27:06 +0000
402@@ -12,6 +12,7 @@
403 'SpecificationBranchURL',
404 ]
405
406+from lazr.restful.utils import smartquote
407 from zope.interface import implements
408
409 from canonical.launchpad import _
410@@ -19,7 +20,6 @@
411 canonical_url,
412 )
413 from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
414-from canonical.lazr.utils import smartquote
415 from lp.app.browser.launchpadform import (
416 action,
417 LaunchpadEditFormView,
418
419=== modified file 'lib/lp/blueprints/browser/specificationtarget.py'
420--- lib/lp/blueprints/browser/specificationtarget.py 2011-05-27 20:03:56 +0000
421+++ lib/lp/blueprints/browser/specificationtarget.py 2011-09-13 05:27:06 +0000
422@@ -15,6 +15,10 @@
423
424 from operator import itemgetter
425
426+from lazr.restful.utils import (
427+ safe_hasattr,
428+ smartquote,
429+ )
430 from z3c.ptcompat import ViewPageTemplateFile
431 from zope.component import (
432 getMultiAdapter,
433@@ -35,10 +39,6 @@
434 enabled_with_permission,
435 Link,
436 )
437-from canonical.lazr.utils import (
438- safe_hasattr,
439- smartquote,
440- )
441 from lp.app.enums import service_uses_launchpad
442 from lp.app.interfaces.launchpad import IServiceUsage
443 from lp.blueprints.enums import (
444
445=== modified file 'lib/lp/blueprints/browser/sprint.py'
446--- lib/lp/blueprints/browser/sprint.py 2011-05-22 21:10:25 +0000
447+++ lib/lp/blueprints/browser/sprint.py 2011-09-13 05:27:06 +0000
448@@ -26,6 +26,7 @@
449 import csv
450 from StringIO import StringIO
451
452+from lazr.restful.utils import smartquote
453 import pytz
454 from zope.app.form.browser import TextAreaWidget
455 from zope.component import getUtility
456@@ -45,7 +46,6 @@
457 )
458 from canonical.launchpad.webapp.batching import BatchNavigator
459 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
460-from canonical.lazr.utils import smartquote
461 from lp.app.browser.launchpadform import (
462 action,
463 custom_widget,
464
465=== modified file 'lib/lp/blueprints/browser/sprintspecification.py'
466--- lib/lp/blueprints/browser/sprintspecification.py 2010-08-20 20:31:18 +0000
467+++ lib/lp/blueprints/browser/sprintspecification.py 2011-09-13 05:27:06 +0000
468@@ -9,11 +9,12 @@
469 'SprintSpecificationDecideView',
470 ]
471
472+from lazr.restful.utils import smartquote
473+
474 from canonical.launchpad.webapp import (
475 canonical_url,
476 LaunchpadView,
477 )
478-from canonical.lazr.utils import smartquote
479
480
481 class SprintSpecificationDecideView(LaunchpadView):
482
483=== modified file 'lib/lp/bugs/browser/bugattachment.py'
484--- lib/lp/bugs/browser/bugattachment.py 2011-04-05 06:27:46 +0000
485+++ lib/lp/bugs/browser/bugattachment.py 2011-09-13 05:27:06 +0000
486@@ -12,6 +12,7 @@
487 'BugAttachmentURL',
488 ]
489
490+from lazr.restful.utils import smartquote
491 from zope.component import (
492 getMultiAdapter,
493 getUtility,
494@@ -37,7 +38,6 @@
495 ILaunchBag,
496 )
497 from canonical.launchpad.webapp.menu import structured
498-from canonical.lazr.utils import smartquote
499 from lp.app.browser.launchpadform import (
500 action,
501 LaunchpadFormView,
502
503=== modified file 'lib/lp/bugs/browser/bugbranch.py'
504--- lib/lp/bugs/browser/bugbranch.py 2010-12-21 19:33:58 +0000
505+++ lib/lp/bugs/browser/bugbranch.py 2011-09-13 05:27:06 +0000
506@@ -13,6 +13,7 @@
507 ]
508
509 from lazr.restful.interfaces import IWebServiceClientRequest
510+from lazr.restful.utils import smartquote
511 from zope.component import (
512 adapts,
513 getMultiAdapter,
514@@ -28,7 +29,6 @@
515 LaunchpadView,
516 )
517 from canonical.launchpad.webapp.interfaces import IPrimaryContext
518-from canonical.lazr.utils import smartquote
519 from lp.app.browser.launchpadform import (
520 action,
521 LaunchpadEditFormView,
522
523=== modified file 'lib/lp/bugs/browser/bugtask.py'
524--- lib/lp/bugs/browser/bugtask.py 2011-09-10 00:03:46 +0000
525+++ lib/lp/bugs/browser/bugtask.py 2011-09-13 05:27:06 +0000
526@@ -72,6 +72,7 @@
527 IReference,
528 IWebServiceClientRequest,
529 )
530+from lazr.restful.utils import smartquote
531 from lazr.uri import URI
532 from pytz import utc
533 from simplejson import dumps
534@@ -154,7 +155,6 @@
535 from canonical.launchpad.webapp.interfaces import ILaunchBag
536 from canonical.launchpad.webapp.menu import structured
537 from canonical.lazr.interfaces import IObjectPrivacy
538-from canonical.lazr.utils import smartquote
539 from lp.answers.interfaces.questiontarget import IQuestionTarget
540 from lp.app.browser.launchpadform import (
541 action,
542
543=== modified file 'lib/lp/bugs/browser/bugtracker.py'
544--- lib/lp/bugs/browser/bugtracker.py 2011-07-13 02:23:26 +0000
545+++ lib/lp/bugs/browser/bugtracker.py 2011-09-13 05:27:06 +0000
546@@ -23,6 +23,7 @@
547
548 from itertools import chain
549
550+from lazr.restful.utils import smartquote
551 from zope.app.form.browser import TextAreaWidget
552 from zope.component import getUtility
553 from zope.formlib import form
554@@ -56,7 +57,6 @@
555 )
556 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
557 from canonical.launchpad.webapp.menu import NavigationMenu
558-from canonical.lazr.utils import smartquote
559 from lp.app.browser.launchpadform import (
560 action,
561 custom_widget,
562
563=== modified file 'lib/lp/buildmaster/model/builder.py'
564--- lib/lp/buildmaster/model/builder.py 2011-07-14 21:49:37 +0000
565+++ lib/lp/buildmaster/model/builder.py 2011-09-13 05:27:06 +0000
566@@ -21,6 +21,7 @@
567 import transaction
568 import xmlrpclib
569
570+from lazr.restful.utils import safe_hasattr
571 from sqlobject import (
572 BoolCol,
573 ForeignKey,
574@@ -33,14 +34,12 @@
575 Count,
576 Sum,
577 )
578-
579 from twisted.internet import (
580 defer,
581 reactor as default_reactor,
582 )
583 from twisted.web import xmlrpc
584 from twisted.web.client import downloadPage
585-
586 from zope.component import getUtility
587 from zope.interface import implements
588
589@@ -59,7 +58,6 @@
590 MAIN_STORE,
591 SLAVE_FLAVOR,
592 )
593-from canonical.lazr.utils import safe_hasattr
594 from canonical.librarian.utils import copy_and_close
595 from lp.app.errors import NotFoundError
596 from lp.buildmaster.interfaces.builder import (
597
598=== modified file 'lib/lp/code/browser/branch.py'
599--- lib/lp/code/browser/branch.py 2011-09-02 08:07:39 +0000
600+++ lib/lp/code/browser/branch.py 2011-09-13 05:27:06 +0000
601@@ -45,6 +45,7 @@
602 copy_field,
603 use_template,
604 )
605+from lazr.restful.utils import smartquote
606 from lazr.uri import URI
607 import pytz
608 from zope.app.form import CustomWidgetFactory
609@@ -98,7 +99,6 @@
610 from canonical.launchpad.webapp.authorization import check_permission
611 from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
612 from canonical.launchpad.webapp.menu import structured
613-from canonical.lazr.utils import smartquote
614 from lp.app.browser.launchpad import Hierarchy
615 from lp.app.browser.launchpadform import (
616 action,
617
618=== modified file 'lib/lp/code/browser/branchsubscription.py'
619--- lib/lp/code/browser/branchsubscription.py 2010-11-23 23:22:27 +0000
620+++ lib/lp/code/browser/branchsubscription.py 2011-09-13 05:27:06 +0000
621@@ -12,7 +12,7 @@
622 'BranchSubscriptionPrimaryContext',
623 ]
624
625-
626+from lazr.restful.utils import smartquote
627 from zope.interface import implements
628
629 from canonical.launchpad.webapp import (
630@@ -22,7 +22,6 @@
631 from canonical.launchpad.webapp.authorization import check_permission
632 from canonical.launchpad.webapp.interfaces import IPrimaryContext
633 from canonical.launchpad.webapp.menu import structured
634-from canonical.lazr.utils import smartquote
635 from lp.app.browser.launchpadform import (
636 action,
637 LaunchpadEditFormView,
638
639=== modified file 'lib/lp/code/model/branchcollection.py'
640--- lib/lp/code/model/branchcollection.py 2011-09-01 21:18:20 +0000
641+++ lib/lp/code/model/branchcollection.py 2011-09-13 05:27:06 +0000
642@@ -10,6 +10,7 @@
643
644 from collections import defaultdict
645
646+from lazr.restful.utils import safe_hasattr
647 from storm.expr import (
648 And,
649 Count,
650@@ -39,7 +40,6 @@
651 )
652 from canonical.launchpad.searchbuilder import any
653 from canonical.launchpad.webapp.vocabulary import CountableIterator
654-from canonical.lazr.utils import safe_hasattr
655 from lp.bugs.interfaces.bugtask import (
656 IBugTaskSet,
657 BugTaskSearchParams,
658
659=== modified file 'lib/lp/registry/browser/distributionsourcepackage.py'
660--- lib/lp/registry/browser/distributionsourcepackage.py 2011-08-23 10:45:30 +0000
661+++ lib/lp/registry/browser/distributionsourcepackage.py 2011-09-13 05:27:06 +0000
662@@ -22,6 +22,7 @@
663
664 from lazr.delegates import delegates
665 from lazr.restful.interfaces import IJSONRequestCache
666+from lazr.restful.utils import smartquote
667 import pytz
668 from zope.component import (
669 adapter,
670@@ -51,7 +52,6 @@
671 NavigationMenu,
672 )
673 from canonical.launchpad.webapp.sorting import sorted_dotted_numbers
674-from canonical.lazr.utils import smartquote
675 from lp.answers.browser.questiontarget import (
676 QuestionTargetAnswersMenu,
677 QuestionTargetFacetMixin,
678
679=== modified file 'lib/lp/registry/browser/person.py'
680--- lib/lp/registry/browser/person.py 2011-09-04 12:46:14 +0000
681+++ lib/lp/registry/browser/person.py 2011-09-13 05:27:06 +0000
682@@ -99,6 +99,7 @@
683 from lazr.delegates import delegates
684 from lazr.restful.interface import copy_field
685 from lazr.restful.interfaces import IWebServiceClientRequest
686+from lazr.restful.utils import smartquote
687 from lazr.uri import URI
688 import pytz
689 from storm.expr import Join
690@@ -193,7 +194,6 @@
691 from canonical.launchpad.webapp.login import logoutPerson
692 from canonical.launchpad.webapp.menu import get_current_view
693 from canonical.launchpad.webapp.publisher import LaunchpadView
694-from canonical.lazr.utils import smartquote
695 from lp.answers.browser.questiontarget import SearchQuestionsView
696 from lp.answers.enums import QuestionParticipation
697 from lp.answers.interfaces.questioncollection import IQuestionSet
698
699=== modified file 'lib/lp/registry/browser/productrelease.py'
700--- lib/lp/registry/browser/productrelease.py 2011-02-02 15:43:31 +0000
701+++ lib/lp/registry/browser/productrelease.py 2011-09-13 05:27:06 +0000
702@@ -19,6 +19,7 @@
703 import mimetypes
704
705 from lazr.restful.interface import copy_field
706+from lazr.restful.utils import smartquote
707 from z3c.ptcompat import ViewPageTemplateFile
708 from zope.app.form.browser import (
709 TextAreaWidget,
710@@ -43,7 +44,6 @@
711 Navigation,
712 stepthrough,
713 )
714-from canonical.lazr.utils import smartquote
715 from lp.app.browser.launchpadform import (
716 action,
717 custom_widget,
718
719=== modified file 'lib/lp/registry/browser/sourcepackage.py'
720--- lib/lp/registry/browser/sourcepackage.py 2011-07-28 17:34:34 +0000
721+++ lib/lp/registry/browser/sourcepackage.py 2011-09-13 05:27:06 +0000
722@@ -31,6 +31,7 @@
723 Item,
724 )
725 from lazr.restful.interface import copy_field
726+from lazr.restful.utils import smartquote
727 from z3c.ptcompat import ViewPageTemplateFile
728 from zope.app.form.browser import DropdownWidget
729 from zope.app.form.interfaces import IInputWidget
730@@ -74,7 +75,6 @@
731 from canonical.launchpad.webapp.interfaces import IBreadcrumb
732 from canonical.launchpad.webapp.menu import structured
733 from canonical.launchpad.webapp.publisher import LaunchpadView
734-from canonical.lazr.utils import smartquote
735 from lp.app.browser.launchpadform import (
736 action,
737 custom_widget,
738
739=== modified file 'lib/lp/registry/model/distributionsourcepackage.py'
740--- lib/lp/registry/model/distributionsourcepackage.py 2011-08-25 03:31:17 +0000
741+++ lib/lp/registry/model/distributionsourcepackage.py 2011-09-13 05:27:06 +0000
742@@ -15,6 +15,7 @@
743 import itertools
744 import operator
745
746+from lazr.restful.utils import smartquote
747 from sqlobject.sqlbuilder import SQLConstant
748 from storm.expr import (
749 And,
750@@ -35,7 +36,6 @@
751
752 from canonical.database.sqlbase import sqlvalues
753 from canonical.launchpad.interfaces.lpstorm import IStore
754-from canonical.lazr.utils import smartquote
755 from lp.bugs.interfaces.bugsummary import IBugSummaryDimension
756 from lp.bugs.interfaces.bugtarget import IHasBugHeat
757 from lp.bugs.interfaces.bugtask import UNRESOLVED_BUGTASK_STATUSES
758
759=== modified file 'lib/lp/registry/model/person.py'
760--- lib/lp/registry/model/person.py 2011-08-26 20:00:37 +0000
761+++ lib/lp/registry/model/person.py 2011-09-13 05:27:06 +0000
762@@ -40,6 +40,7 @@
763 import weakref
764
765 from lazr.delegates import delegates
766+from lazr.restful.utils import get_current_browser_request
767 import pytz
768 from sqlobject import (
769 BoolCol,
770@@ -168,7 +169,6 @@
771 )
772 from canonical.launchpad.webapp.dbpolicy import MasterDatabasePolicy
773 from canonical.launchpad.webapp.interfaces import ILaunchBag
774-from canonical.lazr.utils import get_current_browser_request
775 from lp.answers.model.questionsperson import QuestionsPersonMixin
776 from lp.app.interfaces.launchpad import ILaunchpadCelebrities
777 from lp.app.validators.email import valid_email
778
779=== modified file 'lib/lp/registry/model/product.py'
780--- lib/lp/registry/model/product.py 2011-08-24 04:07:31 +0000
781+++ lib/lp/registry/model/product.py 2011-09-13 05:27:06 +0000
782@@ -21,6 +21,7 @@
783 from lazr.lifecycle.event import ObjectModifiedEvent
784 from lazr.lifecycle.snapshot import Snapshot
785 from lazr.restful.declarations import error_status
786+from lazr.restful.utils import safe_hasattr
787 import pytz
788 from sqlobject import (
789 BoolCol,
790@@ -78,7 +79,6 @@
791 IStoreSelector,
792 MAIN_STORE,
793 )
794-from canonical.lazr.utils import safe_hasattr
795 from lp.answers.enums import QUESTION_STATUS_DEFAULT_SEARCH
796 from lp.answers.interfaces.faqtarget import IFAQTarget
797 from lp.answers.model.faq import (
798
799=== modified file 'lib/lp/registry/model/sourcepackage.py'
800--- lib/lp/registry/model/sourcepackage.py 2011-08-16 01:55:27 +0000
801+++ lib/lp/registry/model/sourcepackage.py 2011-09-13 05:27:06 +0000
802@@ -13,6 +13,7 @@
803
804 from operator import attrgetter
805
806+from lazr.restful.utils import smartquote
807 from storm.locals import (
808 And,
809 Desc,
810@@ -30,7 +31,6 @@
811 sqlvalues,
812 )
813 from canonical.launchpad.interfaces.lpstorm import IStore
814-from canonical.lazr.utils import smartquote
815 from canonical.launchpad.webapp.interfaces import ILaunchBag
816 from lp.answers.enums import QUESTION_STATUS_DEFAULT_SEARCH
817 from lp.answers.model.question import (
818
819=== modified file 'lib/lp/registry/tests/test_prf_walker.py'
820--- lib/lp/registry/tests/test_prf_walker.py 2011-08-12 11:37:08 +0000
821+++ lib/lp/registry/tests/test_prf_walker.py 2011-09-13 05:27:06 +0000
822@@ -7,8 +7,8 @@
823 import StringIO
824 import urlparse
825
826+from lazr.restful.utils import safe_hasattr
827
828-from canonical.lazr.utils import safe_hasattr
829 from canonical.testing import reset_logging
830 from lp.registry.scripts.productreleasefinder.walker import WalkerBase
831 from lp.testing import TestCase
832
833=== modified file 'lib/lp/registry/vocabularies.py'
834--- lib/lp/registry/vocabularies.py 2011-08-25 04:27:35 +0000
835+++ lib/lp/registry/vocabularies.py 2011-09-13 05:27:06 +0000
836@@ -62,6 +62,8 @@
837
838 from operator import attrgetter
839
840+from lazr.restful.interfaces import IReference
841+from lazr.restful.utils import safe_hasattr
842 from sqlobject import (
843 AND,
844 CONTAINSSTRING,
845@@ -95,8 +97,6 @@
846 removeSecurityProxy,
847 )
848
849-from lazr.restful.interfaces import IReference
850-
851 from canonical.database.sqlbase import (
852 quote,
853 quote_like,
854@@ -131,7 +131,6 @@
855 SQLObjectVocabularyBase,
856 VocabularyFilter,
857 )
858-from canonical.lazr.utils import safe_hasattr
859 from lp.app.browser.tales import DateTimeFormatterAPI
860 from lp.app.interfaces.launchpad import ILaunchpadCelebrities
861 from lp.blueprints.interfaces.specification import ISpecification
862
863=== modified file 'lib/lp/services/apachelogparser/script.py'
864--- lib/lp/services/apachelogparser/script.py 2011-01-05 04:56:11 +0000
865+++ lib/lp/services/apachelogparser/script.py 2011-09-13 05:27:06 +0000
866@@ -7,10 +7,10 @@
867 import glob
868 import os
869
870+from lazr.restful.utils import safe_hasattr
871 from zope.component import getUtility
872
873 from canonical.config import config
874-from canonical.lazr.utils import safe_hasattr
875 from lp.app.errors import NotFoundError
876 from lp.services.apachelogparser.base import (
877 create_or_update_parsedlog_entry,
878
879=== modified file 'lib/lp/soyuz/browser/archive.py'
880--- lib/lp/soyuz/browser/archive.py 2011-09-09 18:30:12 +0000
881+++ lib/lp/soyuz/browser/archive.py 2011-09-13 05:27:06 +0000
882@@ -35,6 +35,7 @@
883 timedelta,
884 )
885
886+from lazr.restful.utils import smartquote
887 import pytz
888 from sqlobject import SQLObjectNotFound
889 from storm.expr import Desc
890@@ -80,7 +81,6 @@
891 NavigationMenu,
892 structured,
893 )
894-from canonical.lazr.utils import smartquote
895 from lp.app.browser.launchpadform import (
896 action,
897 custom_widget,
898
899=== modified file 'lib/lp/soyuz/browser/build.py'
900--- lib/lp/soyuz/browser/build.py 2011-05-04 02:45:25 +0000
901+++ lib/lp/soyuz/browser/build.py 2011-09-13 05:27:06 +0000
902@@ -17,6 +17,7 @@
903 ]
904
905 from lazr.delegates import delegates
906+from lazr.restful.utils import safe_hasattr
907 from zope.component import getUtility
908 from zope.interface import implements
909
910@@ -39,7 +40,6 @@
911 from canonical.launchpad.webapp.batching import BatchNavigator
912 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
913 from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
914-from canonical.lazr.utils import safe_hasattr
915 from lp.app.browser.launchpadform import (
916 action,
917 LaunchpadFormView,
918
919=== modified file 'lib/lp/soyuz/browser/builder.py'
920--- lib/lp/soyuz/browser/builder.py 2011-05-03 03:08:21 +0000
921+++ lib/lp/soyuz/browser/builder.py 2011-09-13 05:27:06 +0000
922@@ -20,6 +20,7 @@
923
924 import operator
925
926+from lazr.restful.utils import smartquote
927 from zope.app.form.browser import (
928 TextAreaWidget,
929 TextWidget,
930@@ -41,7 +42,6 @@
931 stepthrough,
932 )
933 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
934-from canonical.lazr.utils import smartquote
935 from lp.app.browser.launchpadform import (
936 action,
937 custom_widget,
938
939=== modified file 'lib/lp/soyuz/browser/distributionsourcepackagerelease.py'
940--- lib/lp/soyuz/browser/distributionsourcepackagerelease.py 2011-01-12 21:29:19 +0000
941+++ lib/lp/soyuz/browser/distributionsourcepackagerelease.py 2011-09-13 05:27:06 +0000
942@@ -12,13 +12,14 @@
943
944 import operator
945
946+from lazr.restful.utils import smartquote
947+
948 from canonical.launchpad.browser.librarian import ProxiedLibraryFileAlias
949 from canonical.launchpad.webapp import (
950 LaunchpadView,
951 Navigation,
952 )
953 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
954-from canonical.lazr.utils import smartquote
955 from lp.archivepublisher.debversion import Version
956 from lp.services.propertycache import cachedproperty
957 from lp.soyuz.browser.build import BuildNavigationMixin
958
959=== modified file 'lib/lp/soyuz/browser/distroarchseries.py'
960--- lib/lp/soyuz/browser/distroarchseries.py 2010-11-23 23:22:27 +0000
961+++ lib/lp/soyuz/browser/distroarchseries.py 2011-09-13 05:27:06 +0000
962@@ -13,6 +13,7 @@
963 'DistroArchSeriesView',
964 ]
965
966+from lazr.restful.utils import smartquote
967 from zope.interface import (
968 implements,
969 Interface,
970@@ -30,7 +31,6 @@
971 NavigationMenu,
972 )
973 from canonical.launchpad.webapp.publisher import canonical_url
974-from canonical.lazr.utils import smartquote
975 from lp.app.browser.launchpadform import (
976 action,
977 LaunchpadFormView,
978
979=== modified file 'lib/lp/soyuz/browser/distroarchseriesbinarypackage.py'
980--- lib/lp/soyuz/browser/distroarchseriesbinarypackage.py 2011-07-27 17:34:09 +0000
981+++ lib/lp/soyuz/browser/distroarchseriesbinarypackage.py 2011-09-13 05:27:06 +0000
982@@ -8,12 +8,13 @@
983 'DistroArchSeriesBinaryPackageView',
984 ]
985
986+from lazr.restful.utils import smartquote
987+
988 from canonical.launchpad.webapp import (
989 ApplicationMenu,
990 GetitemNavigation,
991 LaunchpadView,
992 )
993-from canonical.lazr.utils import smartquote
994 from lp.soyuz.interfaces.distroarchseriesbinarypackage import (
995 IDistroArchSeriesBinaryPackage,
996 )
997
998=== modified file 'lib/lp/soyuz/browser/distroseriesbinarypackage.py'
999--- lib/lp/soyuz/browser/distroseriesbinarypackage.py 2011-07-01 11:27:27 +0000
1000+++ lib/lp/soyuz/browser/distroseriesbinarypackage.py 2011-09-13 05:27:06 +0000
1001@@ -10,6 +10,8 @@
1002 'DistroSeriesBinaryPackageView',
1003 ]
1004
1005+from lazr.restful.utils import smartquote
1006+
1007 from canonical.launchpad.webapp import (
1008 ApplicationMenu,
1009 LaunchpadView,
1010@@ -17,7 +19,6 @@
1011 StandardLaunchpadFacets,
1012 )
1013 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
1014-from canonical.lazr.utils import smartquote
1015 from lp.soyuz.interfaces.distroseriesbinarypackage import (
1016 IDistroSeriesBinaryPackage,
1017 )
1018
1019=== modified file 'lib/lp/soyuz/browser/distroseriessourcepackagerelease.py'
1020--- lib/lp/soyuz/browser/distroseriessourcepackagerelease.py 2011-07-01 11:27:27 +0000
1021+++ lib/lp/soyuz/browser/distroseriessourcepackagerelease.py 2011-09-13 05:27:06 +0000
1022@@ -8,13 +8,14 @@
1023 'DistroSeriesSourcePackageReleaseView',
1024 ]
1025
1026+from lazr.restful.utils import smartquote
1027+
1028 from canonical.launchpad.webapp import (
1029 ApplicationMenu,
1030 LaunchpadView,
1031 Navigation,
1032 stepthrough,
1033 )
1034-from canonical.lazr.utils import smartquote
1035 from lp.soyuz.interfaces.distroseriessourcepackagerelease import (
1036 IDistroSeriesSourcePackageRelease,
1037 )
1038
1039=== modified file 'lib/lp/soyuz/browser/sourcepackage.py'
1040--- lib/lp/soyuz/browser/sourcepackage.py 2011-07-01 11:27:27 +0000
1041+++ lib/lp/soyuz/browser/sourcepackage.py 2011-09-13 05:27:06 +0000
1042@@ -10,13 +10,13 @@
1043 'SourcePackageCopyrightView',
1044 ]
1045
1046+from lazr.restful.utils import smartquote
1047 from zope.component import getUtility
1048
1049 from canonical.launchpad.webapp import (
1050 LaunchpadView,
1051 Navigation,
1052 )
1053-from canonical.lazr.utils import smartquote
1054 from lp.registry.interfaces.distribution import IDistributionSet
1055 from lp.registry.interfaces.distroseries import IDistroSeriesSet
1056 from lp.registry.interfaces.distroseriesdifference import (
1057
1058=== modified file 'lib/lp/soyuz/browser/sourcepackagebuilds.py'
1059--- lib/lp/soyuz/browser/sourcepackagebuilds.py 2010-08-20 20:31:18 +0000
1060+++ lib/lp/soyuz/browser/sourcepackagebuilds.py 2011-09-13 05:27:06 +0000
1061@@ -9,7 +9,8 @@
1062 'SourcePackageBuildsView',
1063 ]
1064
1065-from canonical.lazr.utils import smartquote
1066+from lazr.restful.utils import smartquote
1067+
1068 from lp.soyuz.browser.build import BuildRecordsView
1069
1070
1071
1072=== modified file 'lib/lp/translations/browser/customlanguagecode.py'
1073--- lib/lp/translations/browser/customlanguagecode.py 2011-03-30 11:17:35 +0000
1074+++ lib/lp/translations/browser/customlanguagecode.py 2011-09-13 05:27:06 +0000
1075@@ -16,6 +16,8 @@
1076
1077 import re
1078
1079+from lazr.restful.utils import smartquote
1080+
1081 from canonical.launchpad.webapp import (
1082 canonical_url,
1083 LaunchpadView,
1084@@ -24,7 +26,6 @@
1085 )
1086 from canonical.launchpad.webapp.breadcrumb import Breadcrumb
1087 from canonical.launchpad.webapp.menu import structured
1088-from canonical.lazr.utils import smartquote
1089 from lp.app.browser.launchpadform import (
1090 action,
1091 LaunchpadFormView,
1092
1093=== modified file 'lib/lp/translations/browser/pofile.py'
1094--- lib/lp/translations/browser/pofile.py 2011-04-06 15:54:12 +0000
1095+++ lib/lp/translations/browser/pofile.py 2011-09-13 05:27:06 +0000
1096@@ -21,6 +21,7 @@
1097 import re
1098 import urllib
1099
1100+from lazr.restful.utils import smartquote
1101 from zope.component import getUtility
1102 from zope.publisher.browser import FileUpload
1103
1104@@ -37,7 +38,6 @@
1105 from canonical.launchpad.webapp.batching import BatchNavigator
1106 from canonical.launchpad.webapp.interfaces import ILaunchBag
1107 from canonical.launchpad.webapp.menu import structured
1108-from canonical.lazr.utils import smartquote
1109 from lp.app.errors import (
1110 NotFoundError,
1111 UnexpectedFormData,
1112
1113=== modified file 'lib/lp/translations/browser/potemplate.py'
1114--- lib/lp/translations/browser/potemplate.py 2011-08-30 11:07:52 +0000
1115+++ lib/lp/translations/browser/potemplate.py 2011-09-13 05:27:06 +0000
1116@@ -30,6 +30,7 @@
1117 import operator
1118 import os.path
1119
1120+from lazr.restful.utils import smartquote
1121 from storm.info import ClassAlias
1122 from storm.expr import (
1123 And,
1124@@ -64,7 +65,6 @@
1125 ILaunchBag,
1126 )
1127 from canonical.launchpad.webapp.menu import structured
1128-from canonical.lazr.utils import smartquote
1129 from lp.app.browser.launchpadform import ReturnToReferrerMixin
1130 from lp.app.browser.tales import DateTimeFormatterAPI
1131 from lp.app.enums import (
1132
1133=== modified file 'lib/lp/translations/browser/tests/test_breadcrumbs.py'
1134--- lib/lp/translations/browser/tests/test_breadcrumbs.py 2011-08-03 11:00:11 +0000
1135+++ lib/lp/translations/browser/tests/test_breadcrumbs.py 2011-09-13 05:27:06 +0000
1136@@ -4,8 +4,8 @@
1137 __metaclass__ = type
1138
1139 from zope.component import getUtility
1140+from lazr.restful.utils import smartquote
1141
1142-from canonical.lazr.utils import smartquote
1143 from lp.app.enums import ServiceUsage
1144 from lp.services.worlddata.interfaces.language import ILanguageSet
1145 from lp.testing.breadcrumbs import BaseBreadcrumbTestCase