From patchwork Mon Oct 3 12:26:14 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zygmunt Krynicki X-Patchwork-Id: 4500 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 0D7EC23DEC for ; Mon, 3 Oct 2011 12:30:23 +0000 (UTC) Received: from mail-gy0-f180.google.com (mail-gy0-f180.google.com [209.85.160.180]) by fiordland.canonical.com (Postfix) with ESMTP id AA9DEA18345 for ; Mon, 3 Oct 2011 12:30:22 +0000 (UTC) Received: by gyd8 with SMTP id 8so5261226gyd.11 for ; Mon, 03 Oct 2011 05:30:22 -0700 (PDT) Received: by 10.223.57.17 with SMTP id a17mr9150309fah.65.1317644777526; Mon, 03 Oct 2011 05:26:17 -0700 (PDT) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.152.23.170 with SMTP id n10cs12942laf; Mon, 3 Oct 2011 05:26:17 -0700 (PDT) Received: by 10.227.197.207 with SMTP id el15mr2904790wbb.31.1317644775625; Mon, 03 Oct 2011 05:26:15 -0700 (PDT) Received: from indium.canonical.com (indium.canonical.com. [91.189.90.7]) by mx.google.com with ESMTPS id o2si10374894wbh.18.2011.10.03.05.26.15 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 03 Oct 2011 05:26:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of bounces@canonical.com designates 91.189.90.7 as permitted sender) client-ip=91.189.90.7; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of bounces@canonical.com designates 91.189.90.7 as permitted sender) smtp.mail=bounces@canonical.com Received: from ackee.canonical.com ([91.189.89.26]) by indium.canonical.com with esmtp (Exim 4.71 #1 (Debian)) id 1RAhb5-000896-0N for ; Mon, 03 Oct 2011 12:26:15 +0000 Received: from ackee.canonical.com (localhost [127.0.0.1]) by ackee.canonical.com (Postfix) with ESMTP id ECACCE2097 for ; Mon, 3 Oct 2011 12:26:14 +0000 (UTC) MIME-Version: 1.0 X-Launchpad-Project: lava-dashboard X-Launchpad-Branch: ~linaro-validation/lava-dashboard/trunk X-Launchpad-Message-Rationale: Subscriber X-Launchpad-Branch-Revision-Number: 268 X-Launchpad-Notification-Type: branch-revision To: Linaro Patch Tracker From: noreply@launchpad.net Subject: [Branch ~linaro-validation/lava-dashboard/trunk] Rev 268: Use breadcrumbs from lava-server Message-Id: <20111003122614.15457.91486.launchpad@ackee.canonical.com> Date: Mon, 03 Oct 2011 12:26:14 -0000 Reply-To: noreply@launchpad.net Sender: bounces@canonical.com Errors-To: bounces@canonical.com Precedence: bulk X-Generated-By: Launchpad (canonical.com); Revision="14071"; Instance="launchpad-lazr.conf" X-Launchpad-Hash: 6f2d3d8c3dd50031c2371aba16e382b33500748b ------------------------------------------------------------ revno: 268 committer: Zygmunt Krynicki branch nick: trunk timestamp: Fri 2011-09-30 15:34:54 +0200 message: Use breadcrumbs from lava-server modified: dashboard_app/bread_crumbs.py --- lp:lava-dashboard https://code.launchpad.net/~linaro-validation/lava-dashboard/trunk You are subscribed to branch lp:lava-dashboard. To unsubscribe from this branch go to https://code.launchpad.net/~linaro-validation/lava-dashboard/trunk/+edit-subscription === modified file 'dashboard_app/bread_crumbs.py' --- dashboard_app/bread_crumbs.py 2011-07-12 02:34:12 +0000 +++ dashboard_app/bread_crumbs.py 2011-09-30 13:34:54 +0000 @@ -16,71 +16,11 @@ # You should have received a copy of the GNU Affero General Public License # along with Launch Control. If not, see . -from django.core.urlresolvers import reverse -import logging - - -class BreadCrumb(object): - - def __init__(self, name, parent=None, needs=None): - self.name = name - self.view = None - self.parent = parent - self.needs = needs or [] - - def __repr__(self): - return "" % ( - self.name, self.view, self.parent) - - def __call__(self, view): - self.view = view - view._bread_crumb = self - return view - - def get_name(self, kwargs): - try: - return self.name.format(**kwargs) - except: - logging.exception("Unable to construct breadcrumb name for view %r", self.view) - raise - - def get_absolute_url(self, kwargs): - try: - return reverse(self.view, args=[kwargs[name] for name in self.needs]) - except: - logging.exception("Unable to construct breadcrumb URL for view %r", self.view) - raise - - -class LiveBreadCrumb(object): - - def __init__(self, bread_crumb, kwargs): - self.bread_crumb = bread_crumb - self.kwargs = kwargs - - def get_name(self): - return self.bread_crumb.get_name(self.kwargs) - - def get_absolute_url(self): - return self.bread_crumb.get_absolute_url(self.kwargs) - - -class BreadCrumbTrail(object): - - def __init__(self, bread_crumb_list, kwargs): - self.bread_crumb_list = bread_crumb_list - self.kwargs = kwargs - - def __iter__(self): - for bread_crumb in self.bread_crumb_list: - yield LiveBreadCrumb(bread_crumb, self.kwargs) - - @classmethod - def leading_to(cls, view, **kwargs): - lst = [] - while view is not None: - lst.append(view._bread_crumb) - view = view._bread_crumb.parent - lst.reverse() - return cls(lst, kwargs or {}) - + +""" +Deprecated bread crumb module. + +Bread crubms are now part of lava server +""" + +from lava_server.bread_crumbs import BreadCrumb, LiveBreadCrumb, BreadCrumbTrail