[Checkins] SVN: z3ext.product/trunk/ Calculate installed status
Nikolay Kim
fafhrd at datacom.kz
Thu Aug 14 08:22:46 EDT 2008
Log message for revision 89835:
Calculate installed status
Changed:
U z3ext.product/trunk/CHANGES.txt
U z3ext.product/trunk/src/z3ext/product/browser.zcml
U z3ext.product/trunk/src/z3ext/product/configure.zcml
D z3ext.product/trunk/src/z3ext/product/i18n.py
U z3ext.product/trunk/src/z3ext/product/interfaces.py
U z3ext.product/trunk/src/z3ext/product/product.py
U z3ext.product/trunk/src/z3ext/product/registry.py
U z3ext.product/trunk/src/z3ext/product/utils.py
U z3ext.product/trunk/src/z3ext/product/view.pt
U z3ext.product/trunk/src/z3ext/product/view.py
-=-
Modified: z3ext.product/trunk/CHANGES.txt
===================================================================
--- z3ext.product/trunk/CHANGES.txt 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/CHANGES.txt 2008-08-14 12:22:45 UTC (rev 89835)
@@ -2,6 +2,12 @@
CHANGES
=======
+1.1.1 (2008-08-13)
+------------------
+
+- Calculate installed status
+
+
1.1.0 (2008-08-05)
------------------
Modified: z3ext.product/trunk/src/z3ext/product/browser.zcml
===================================================================
--- z3ext.product/trunk/src/z3ext/product/browser.zcml 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/browser.zcml 2008-08-14 12:22:45 UTC (rev 89835)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:z3ext="http://namespaces.zope.org/z3ext"
xmlns:browser="http://namespaces.zope.org/browser"
- i18n_domain="z3ext.product">
+ i18n_domain="z3ext">
<browser:icon
name="zmi_icon"
Modified: z3ext.product/trunk/src/z3ext/product/configure.zcml
===================================================================
--- z3ext.product/trunk/src/z3ext/product/configure.zcml 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/configure.zcml 2008-08-14 12:22:45 UTC (rev 89835)
@@ -2,7 +2,7 @@
xmlns="http://namespaces.zope.org/zope"
xmlns:zcml="http://namespaces.zope.org/zcml"
xmlns:z3ext="http://namespaces.zope.org/z3ext"
- i18n_domain="z3ext.product">
+ i18n_domain="z3ext">
<includeDependencies package="z3ext.product" />
Deleted: z3ext.product/trunk/src/z3ext/product/i18n.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/i18n.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/i18n.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -1,19 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2008 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""
-
-$Id: interfaces.py 860 2008-01-09 08:48:08Z fafhrd91 $
-"""
-from zope.i18nmessageid import MessageFactory
-_ = MessageFactory('z3ext')
Modified: z3ext.product/trunk/src/z3ext/product/interfaces.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/interfaces.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/interfaces.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -16,8 +16,11 @@
$Id: interfaces.py 1843 2008-03-25 18:39:00Z fafhrd91 $
"""
from zope import schema, interface
+from zope.i18nmessageid import MessageFactory
+_ = MessageFactory('z3ext')
+
class ProductError(Exception):
""" base error class for product management """
@@ -45,11 +48,7 @@
title = u'Product name',
required = True)
- __installed__ = schema.Bool(
- title = u'Installed',
- description = u'Is product installed.',
- default = False,
- required = False)
+ __installed__ = interface.Attribute(u'Is product installed.')
def install():
""" install and configure product """
Modified: z3ext.product/trunk/src/z3ext/product/product.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/product.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/product.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -26,29 +26,30 @@
import z3ext.product
from z3ext.controlpanel.configlettype import ConfigletProperty
-from z3ext.product.i18n import _
from z3ext.product import interfaces
-from z3ext.product.interfaces import IProduct, IProductExtension
+from z3ext.product.interfaces import _, IProduct, IProductExtension
class Product(object):
""" base product class """
interface.implements(IProduct)
- __installed__ = ConfigletProperty(IProduct['__installed__'])
+ @property
+ def __installed__(self):
+ sm = getSiteManager()
+ registry = getattr(z3ext.product, self.__product_name__)
+ return registry in sm.__bases__
+
def install(self):
if self.__installed__:
raise interfaces.ProductAlreadyInstalledError(
_('Product already installed.'))
- self.__installed__ = True
-
sm = getSiteManager()
registry = getattr(z3ext.product, self.__product_name__)
- if registry not in sm.__bases__:
- sm.__bases__ = (registry,) + sm.__bases__
+ sm.__bases__ = (registry,) + sm.__bases__
event.notify(interfaces.ProductInstalledEvent(self.__product_name__, self))
@@ -57,15 +58,9 @@
def update(self):
if not self.__installed__:
raise interfaces.ProductNotInstalledError(
- _('Product not installed.'))
+ _('Product is not installed.'))
configure(self, {})
-
- sm = getSiteManager()
- registry = getattr(z3ext.product, self.__product_name__)
- if registry not in sm.__bases__:
- sm.__bases__ = (registry,) + sm.__bases__
-
event.notify(
interfaces.ProductUpdatedEvent(self.__product_name__, self))
@@ -78,18 +73,15 @@
raise interfaces.ProductNotInstalledError(
_('Product not installed.'))
- self.__installed__ = False
-
sm = getSiteManager()
registry = getattr(z3ext.product, self.__product_name__)
- if registry in sm.__bases__:
- bases = list(sm.__bases__)
- bases.remove(registry)
- sm.__bases__ = tuple(bases)
+ bases = list(sm.__bases__)
+ bases.remove(registry)
+ sm.__bases__ = tuple(bases)
- event.notify(
- interfaces.ProductUninstalledEvent(self.__product_name__, self))
+ event.notify(
+ interfaces.ProductUninstalledEvent(self.__product_name__, self))
def _checkInstalled(self, sm, registry, seen):
if sm in seen:
Modified: z3ext.product/trunk/src/z3ext/product/registry.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/registry.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/registry.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -20,7 +20,7 @@
from zope.component import globalregistry, globalSiteManager
import z3ext.product
-from z3ext.product.i18n import _
+from z3ext.product.interfaces import _
def BC(components, name):
Modified: z3ext.product/trunk/src/z3ext/product/utils.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/utils.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/utils.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -24,8 +24,7 @@
from zope.app.component.site import SiteManagementFolder
from zope.app.component.interfaces import ISite
-from z3ext.product.i18n import _
-from z3ext.product.interfaces import IProduct, IProductExtension
+from z3ext.product.interfaces import _, IProduct, IProductExtension
def registerUtility(id, factory, ifaces, container='system'):
Modified: z3ext.product/trunk/src/z3ext/product/view.pt
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.pt 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/view.pt 2008-08-14 12:22:45 UTC (rev 89835)
@@ -1,4 +1,4 @@
-<div i18n:domain="z3ext.product" tal:define="data view/getProducts">
+<div i18n:domain="z3ext" tal:define="data view/getProducts">
<div class="topframe" tal:condition="data/installed">
<h1>Installed Products</h1>
Modified: z3ext.product/trunk/src/z3ext/product/view.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.py 2008-08-14 12:15:08 UTC (rev 89834)
+++ z3ext.product/trunk/src/z3ext/product/view.py 2008-08-14 12:22:45 UTC (rev 89835)
@@ -22,8 +22,7 @@
from z3ext.layout.pagelet import BrowserPagelet
from z3ext.statusmessage.interfaces import IStatusMessage
-from z3ext.product.i18n import _
-from z3ext.product.interfaces import IProductExtension
+from z3ext.product.interfaces import _, IProductExtension
from z3ext.product.interfaces import ProductWarningError
def log_exc(msg=''):
More information about the Checkins
mailing list