[Checkins] SVN: z3ext.product/trunk/ - Install product registry after base registries
Nikolay Kim
fafhrd at datacom.kz
Fri Nov 21 06:16:43 EST 2008
Log message for revision 93236:
- Install product registry after base registries
- Removed product extension system
Changed:
U z3ext.product/trunk/CHANGES.txt
U z3ext.product/trunk/setup.py
U z3ext.product/trunk/src/z3ext/product/README.txt
U z3ext.product/trunk/src/z3ext/product/__init__.py
U z3ext.product/trunk/src/z3ext/product/browser.zcml
U z3ext.product/trunk/src/z3ext/product/interfaces.py
U z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.mo
U z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.po
U z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.mo
U z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.po
U z3ext.product/trunk/src/z3ext/product/locales/z3ext.product.pot
U z3ext.product/trunk/src/z3ext/product/product.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
U z3ext.product/trunk/src/z3ext/product/zcml.py
-=-
Modified: z3ext.product/trunk/CHANGES.txt
===================================================================
--- z3ext.product/trunk/CHANGES.txt 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/CHANGES.txt 2008-11-21 11:16:43 UTC (rev 93236)
@@ -2,7 +2,14 @@
CHANGES
=======
+1.3.0 (2008-11-21)
+------------------
+- Install product registry after base registries
+
+- Removed product extension system
+
+
1.2.2 (2008-10-28)
------------------
Modified: z3ext.product/trunk/setup.py
===================================================================
--- z3ext.product/trunk/setup.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/setup.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -21,7 +21,7 @@
def read(*rnames):
return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
-version = '1.2.3dev'
+version = '1.3.0dev'
setup(name='z3ext.product',
@@ -65,6 +65,7 @@
'zope.app.component',
'z3c.autoinclude',
'z3c.baseregistry',
+ 'z3c.configurator',
'z3ext.layout',
'z3ext.controlpanel',
'z3ext.statusmessage',
Modified: z3ext.product/trunk/src/z3ext/product/README.txt
===================================================================
--- z3ext.product/trunk/src/z3ext/product/README.txt 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/README.txt 2008-11-21 11:16:43 UTC (rev 93236)
@@ -140,80 +140,6 @@
ProductNotInstalledError: Product is not installed.
-Product extension
------------------
-
-We can create product extension
-
- >>> class IMyProductExtension(interface.Interface):
- ... """Basic User Preferences"""
-
- >>> context = xmlconfig.string('''
- ... <configure
- ... xmlns:z3ext="http://namespaces.zope.org/z3ext" i18n_domain="test">
- ...
- ... <z3ext:product
- ... name="my-product.ext"
- ... title="Product extension"
- ... schema="z3ext.product.README.IMyProductExtension" />
- ...
- ... </configure>''', context)
-
- >>> ext = component.getUtility(IMyProductExtension)
- >>> ext
- <z3ext.controlpanel.configlettype.Configlet<product.my-product.ext> ...>
-
- >>> ext.__installed__
- False
-
- >>> ext.isInstalled()
- False
-
- >>> component.getUtility(IProduct, 'my-product.ext') is ext
- True
-
- >>> component.getUtility(IConfiglet, 'product.my-product.ext') is ext
- True
-
-We have to install product first, then we can install product extension
-
- >>> ext.install()
- Traceback (most recent call last):
- ...
- ProductNotInstalledError: my-product
-
- >>> ext.update()
- Traceback (most recent call last):
- ...
- ProductNotInstalledError: my-product
-
- >>> product.install()
- >>> ext.install()
-
- >>> ext = component.getUtility(IMyProductExtension)
- >>> ext.__installed__
- True
-
- >>> ext.isInstalled()
- True
-
- >>> ext.update()
-
- >>> ext.uninstall()
- >>> ext.__installed__
- False
-
-If we uninstall product, extension will uninstall also
-
- >>> ext.install()
- >>> product.uninstall()
- >>> ext.__installed__
- False
-
- >>> product.listExtensions()
- [u'ext']
-
-
Product dependencies
--------------------
Product can depends on other products.
Modified: z3ext.product/trunk/src/z3ext/product/__init__.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/__init__.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/__init__.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -2,4 +2,4 @@
registries = {}
-from z3ext.product.product import Product, ProductExtension
+from z3ext.product.product import Product
Modified: z3ext.product/trunk/src/z3ext/product/browser.zcml
===================================================================
--- z3ext.product/trunk/src/z3ext/product/browser.zcml 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/browser.zcml 2008-11-21 11:16:43 UTC (rev 93236)
@@ -16,12 +16,6 @@
for=".interfaces.IProductInstaller"
file="product_icon.gif" />
- <browser:icon
- name="zmi_icon"
- title="Product extension"
- for=".interfaces.IProductExtension"
- file="product_icon.gif" />
-
<z3ext:pagelet
name="index.html"
for=".interfaces.IProductInstaller"
Modified: z3ext.product/trunk/src/z3ext/product/interfaces.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/interfaces.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/interfaces.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -68,17 +68,10 @@
def isInstalled():
""" is product installed """
- def listExtensions():
- """ list IProductExtension for this product """
-
def isUninstallable():
""" is product uninstallable """
-
-class IProductExtension(interface.Interface):
- """ product extension """
-
class IProductInstaller(interface.Interface):
""" installer for external products """
Modified: z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.mo
===================================================================
(Binary files differ)
Modified: z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.po
===================================================================
--- z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.po 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/locales/nl/LC_MESSAGES/z3ext.product.po 2008-11-21 11:16:43 UTC (rev 93236)
@@ -14,7 +14,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Development/Unknown\n"
-"POT-Creation-Date: Thu Oct 23 12:08:54 2008\n"
+"POT-Creation-Date: Fri Nov 21 17:10:38 2008\n"
"PO-Revision-Date: 2008-10-23 10:18+0100\n"
"Last-Translator: F. Kooman <fkooman at tuxed.net>\n"
"Language-Team: Zope 3 Developers <zope3-dev at zope.org>\n"
@@ -23,10 +23,6 @@
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: src/z3ext/product/browser.zcml:19
-msgid "Product extension"
-msgstr "Productuitbreiding"
-
#: src/z3ext/product/browser.zcml:7
msgid "Product"
msgstr "Product"
@@ -35,9 +31,8 @@
msgid "This is the Add-on Products install section."
msgstr "Dit is de product installatiemodule."
-#: src/z3ext/product/configure.zcml:13
-#: src/z3ext/product/browser.zcml:13
-#: src/z3ext/product/browser.zcml:32
+#: src/z3ext/product/configure.zcml:13 src/z3ext/product/browser.zcml:13
+#: src/z3ext/product/browser.zcml:26
msgid "Products management"
msgstr "Productbeheer"
@@ -45,8 +40,7 @@
msgid "Manage products"
msgstr "Beheer producten"
-#: src/z3ext/product/product.py:50
-#: src/z3ext/product/product.py:59
+#: src/z3ext/product/product.py:50 src/z3ext/product/product.py:59
msgid "Required product is not found."
msgstr "Vereist product is niet gevonden."
@@ -54,8 +48,7 @@
msgid "Product already installed."
msgstr "Product is al geïnstalleerd."
-#: src/z3ext/product/product.py:88
-#: src/z3ext/product/product.py:103
+#: src/z3ext/product/product.py:88 src/z3ext/product/product.py:99
msgid "Product is not installed."
msgstr "Product is niet geïnstalleerd."
@@ -67,55 +60,64 @@
msgid "Can't create utility."
msgstr "Kan utility niet aanmaken."
-#: src/z3ext/product/view.pt:3
-msgid "Installed Products"
-msgstr "Geïnstalleerde producten"
-
-#: src/z3ext/product/view.pt:38
-msgid "(Installed)"
-msgstr "(Geïnstalleerd)"
-
-#: src/z3ext/product/view.pt:43
-msgid "(Not installed)"
-msgstr "(Niet geïnstalleerd)"
-
-#: src/z3ext/product/view.pt:58
+#: src/z3ext/product/view.pt:27
msgid "Update"
msgstr "Bijwerken"
-#: src/z3ext/product/view.pt:60
+#: src/z3ext/product/view.pt:29
msgid "Uninstall"
msgstr "Verwijderen"
-#: src/z3ext/product/view.pt:68
+#: src/z3ext/product/view.pt:3
+msgid "Installed Products"
+msgstr "Geïnstalleerde producten"
+
+#: src/z3ext/product/view.pt:37
msgid "Products available for install"
msgstr "Producten beschikbaar voor installatie"
-#: src/z3ext/product/view.pt:69
-msgid "This is the Add-on Products install section, you can add products in the lists below."
-msgstr "Dit is de product installatiemodule, u kunt producten selecteren in de onderstaande lijst."
+#: src/z3ext/product/view.pt:38
+msgid ""
+"This is the Add-on Products install section, you can add products in the "
+"lists below."
+msgstr ""
+"Dit is de product installatiemodule, u kunt producten selecteren in de "
+"onderstaande lijst."
-#: src/z3ext/product/view.pt:87
+#: src/z3ext/product/view.pt:56
msgid "Install"
msgstr "Installeren"
-#: src/z3ext/product/view.py:102
-msgid "Select one or more products to update."
-msgstr "Selecteer één of meer producten om bij te werken."
-
-#: src/z3ext/product/view.py:117
+#: src/z3ext/product/view.py:107
msgid "Select one or more products to uninstall."
msgstr "Selecteer één of meer producten om te verwijderen."
-#: src/z3ext/product/view.py:124
+#: src/z3ext/product/view.py:114
msgid "Selected products has been uninstalled."
msgstr "Geselecteerde producten zijn verwijderd."
-#: src/z3ext/product/view.py:84
+#: src/z3ext/product/view.py:72
msgid "Select one or more products to install."
msgstr "Selecteer één of meer producten om te installeren."
-#: src/z3ext/product/view.py:91
+#: src/z3ext/product/view.py:79
msgid "Selected products has been installed."
msgstr "Geselecteerde producten zijn geïnstalleerd."
+#: src/z3ext/product/view.py:91
+msgid "Select one or more products to update."
+msgstr "Selecteer één of meer producten om bij te werken."
+
+#: src/z3ext/product/view.py:98
+#, fuzzy
+msgid "Selected products has been updated."
+msgstr "Geselecteerde producten zijn verwijderd."
+
+#~ msgid "Product extension"
+#~ msgstr "Productuitbreiding"
+
+#~ msgid "(Installed)"
+#~ msgstr "(Geïnstalleerd)"
+
+#~ msgid "(Not installed)"
+#~ msgstr "(Niet geïnstalleerd)"
Modified: z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.mo
===================================================================
(Binary files differ)
Modified: z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.po
===================================================================
--- z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.po 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/locales/ru/LC_MESSAGES/z3ext.product.po 2008-11-21 11:16:43 UTC (rev 93236)
@@ -1,4 +1,4 @@
-##############################################################################
+# #############################################################################
#
# Copyright (c) 2003-2004 Zope Corporation and Contributors.
# All Rights Reserved.
@@ -10,12 +10,12 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
-##############################################################################
+# #############################################################################
msgid ""
msgstr ""
"Project-Id-Version: Development/Unknown\n"
-"POT-Creation-Date: Thu Oct 23 12:08:54 2008\n"
-"PO-Revision-Date: 2008-10-28 11:28+0600\n"
+"POT-Creation-Date: Fri Nov 21 17:10:38 2008\n"
+"PO-Revision-Date: 2008-11-21 17:12+0600\n"
"Last-Translator: Nikolay Kim <fafhrd91 at gmail.com>\n"
"Language-Team: Zope 3 Developers <zope3-dev at zope.org>\n"
"MIME-Version: 1.0\n"
@@ -23,10 +23,6 @@
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: src/z3ext/product/browser.zcml:19
-msgid "Product extension"
-msgstr "РаÑÑиÑение пÑодÑкÑа"
-
#: src/z3ext/product/browser.zcml:7
msgid "Product"
msgstr "ÐÑодÑкÑ"
@@ -35,9 +31,8 @@
msgid "This is the Add-on Products install section."
msgstr "ÐÐ°Ð½ÐµÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑми пÑодÑкÑами."
-#: src/z3ext/product/configure.zcml:13
-#: src/z3ext/product/browser.zcml:13
-#: src/z3ext/product/browser.zcml:32
+#: src/z3ext/product/configure.zcml:13 src/z3ext/product/browser.zcml:13
+#: src/z3ext/product/browser.zcml:26
msgid "Products management"
msgstr "УпÑавление пÑодÑкÑами"
@@ -45,8 +40,7 @@
msgid "Manage products"
msgstr "УпÑавление пÑодÑкÑами"
-#: src/z3ext/product/product.py:50
-#: src/z3ext/product/product.py:59
+#: src/z3ext/product/product.py:50 src/z3ext/product/product.py:59
msgid "Required product is not found."
msgstr "ÐеобÑ
одимÑй пÑодÑÐºÑ Ð½Ðµ найден."
@@ -54,8 +48,7 @@
msgid "Product already installed."
msgstr "ÐÑодÑÐºÑ Ñже ÑÑÑановлен."
-#: src/z3ext/product/product.py:88
-#: src/z3ext/product/product.py:103
+#: src/z3ext/product/product.py:88 src/z3ext/product/product.py:99
msgid "Product is not installed."
msgstr "ÐÑодÑÐºÑ Ð½Ðµ ÑÑÑановлен."
@@ -67,55 +60,61 @@
msgid "Can't create utility."
msgstr "Ðевозможно ÑоздаÑÑ ÑÑилиÑÑ."
-#: src/z3ext/product/view.pt:3
-msgid "Installed Products"
-msgstr "УÑÑановленнÑе пÑодÑкÑÑ"
-
-#: src/z3ext/product/view.pt:38
-msgid "(Installed)"
-msgstr "(УÑÑановленнÑй)"
-
-#: src/z3ext/product/view.pt:43
-msgid "(Not installed)"
-msgstr "(Ðе ÑÑÑановленнÑй)"
-
-#: src/z3ext/product/view.pt:58
+#: src/z3ext/product/view.pt:27
msgid "Update"
msgstr "ÐбновиÑÑ"
-#: src/z3ext/product/view.pt:60
+#: src/z3ext/product/view.pt:29
msgid "Uninstall"
msgstr "ÐеинÑÑаллиÑоваÑÑ"
-#: src/z3ext/product/view.pt:68
+#: src/z3ext/product/view.pt:3
+msgid "Installed Products"
+msgstr "УÑÑановленнÑе пÑодÑкÑÑ"
+
+#: src/z3ext/product/view.pt:37
msgid "Products available for install"
msgstr "ÐоÑÑÑпнÑе пÑодÑкÑÑ"
-#: src/z3ext/product/view.pt:69
-msgid "This is the Add-on Products install section, you can add products in the lists below."
+#: src/z3ext/product/view.pt:38
+msgid ""
+"This is the Add-on Products install section, you can add products in the "
+"lists below."
msgstr "ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑÑÑановиÑÑ Ð¿ÑодÑкÑÑ Ð¸Ð· поÑледÑÑÑего ÑпиÑка."
-#: src/z3ext/product/view.pt:87
+#: src/z3ext/product/view.pt:56
msgid "Install"
msgstr "УÑÑановиÑÑ"
-#: src/z3ext/product/view.py:102
-msgid "Select one or more products to update."
-msgstr "ÐÑбиÑиÑе один или более пÑодÑкÑов Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ."
-
-#: src/z3ext/product/view.py:117
+#: src/z3ext/product/view.py:107
msgid "Select one or more products to uninstall."
msgstr "ÐÑбиÑиÑе один или более пÑодÑкÑов Ð´Ð»Ñ Ð´ÐµÐ¸Ð½ÑÑаллиÑованиÑ.\""
-#: src/z3ext/product/view.py:124
+#: src/z3ext/product/view.py:114
msgid "Selected products has been uninstalled."
msgstr "ÐÑбÑаннÑе пÑодÑкÑÑ Ð±Ñли деинÑÑаллиÑованÑ."
-#: src/z3ext/product/view.py:84
+#: src/z3ext/product/view.py:72
msgid "Select one or more products to install."
msgstr "ÐÑбиÑиÑе один или более пÑодÑкÑов Ð´Ð»Ñ ÑÑÑановки."
-#: src/z3ext/product/view.py:91
+#: src/z3ext/product/view.py:79
msgid "Selected products has been installed."
msgstr "ÐÑбÑаннÑе пÑодÑкÑÑ Ð±Ñли ÑÑÑановленÑ."
+#: src/z3ext/product/view.py:91
+msgid "Select one or more products to update."
+msgstr "ÐÑбиÑиÑе один или более пÑодÑкÑов Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ."
+
+#: src/z3ext/product/view.py:98
+msgid "Selected products has been updated."
+msgstr "ÐÑбÑаннÑе пÑодÑкÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ñ."
+
+#~ msgid "Product extension"
+#~ msgstr "РаÑÑиÑение пÑодÑкÑа"
+
+#~ msgid "(Installed)"
+#~ msgstr "(УÑÑановленнÑй)"
+
+#~ msgid "(Not installed)"
+#~ msgstr "(Ðе ÑÑÑановленнÑй)"
Modified: z3ext.product/trunk/src/z3ext/product/locales/z3ext.product.pot
===================================================================
--- z3ext.product/trunk/src/z3ext/product/locales/z3ext.product.pot 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/locales/z3ext.product.pot 2008-11-21 11:16:43 UTC (rev 93236)
@@ -14,7 +14,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Development/Unknown\n"
-"POT-Creation-Date: Tue Oct 28 11:28:30 2008\n"
+"POT-Creation-Date: Fri Nov 21 17:10:38 2008\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: Zope 3 Developers <zope3-dev at zope.org>\n"
@@ -23,10 +23,6 @@
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: src/z3ext/product/browser.zcml:19
-msgid "Product extension"
-msgstr ""
-
#: src/z3ext/product/browser.zcml:7
msgid "Product"
msgstr ""
@@ -37,7 +33,7 @@
#: src/z3ext/product/configure.zcml:13
#: src/z3ext/product/browser.zcml:13
-#: src/z3ext/product/browser.zcml:32
+#: src/z3ext/product/browser.zcml:26
msgid "Products management"
msgstr ""
@@ -55,7 +51,7 @@
msgstr ""
#: src/z3ext/product/product.py:88
-#: src/z3ext/product/product.py:103
+#: src/z3ext/product/product.py:99
msgid "Product is not installed."
msgstr ""
@@ -67,55 +63,51 @@
msgid "Can't create utility."
msgstr ""
-#: src/z3ext/product/view.pt:3
-msgid "Installed Products"
-msgstr ""
-
-#: src/z3ext/product/view.pt:38
-msgid "(Installed)"
-msgstr ""
-
-#: src/z3ext/product/view.pt:43
-msgid "(Not installed)"
-msgstr ""
-
-#: src/z3ext/product/view.pt:58
+#: src/z3ext/product/view.pt:27
msgid "Update"
msgstr ""
-#: src/z3ext/product/view.pt:60
+#: src/z3ext/product/view.pt:29
msgid "Uninstall"
msgstr ""
-#: src/z3ext/product/view.pt:68
+#: src/z3ext/product/view.pt:3
+msgid "Installed Products"
+msgstr ""
+
+#: src/z3ext/product/view.pt:37
msgid "Products available for install"
msgstr ""
-#: src/z3ext/product/view.pt:69
+#: src/z3ext/product/view.pt:38
msgid "This is the Add-on Products install section, you can add products in the lists below."
msgstr ""
-#: src/z3ext/product/view.pt:87
+#: src/z3ext/product/view.pt:56
msgid "Install"
msgstr ""
-#: src/z3ext/product/view.py:102
-msgid "Select one or more products to update."
-msgstr ""
-
-#: src/z3ext/product/view.py:117
+#: src/z3ext/product/view.py:107
msgid "Select one or more products to uninstall."
msgstr ""
-#: src/z3ext/product/view.py:124
+#: src/z3ext/product/view.py:114
msgid "Selected products has been uninstalled."
msgstr ""
-#: src/z3ext/product/view.py:84
+#: src/z3ext/product/view.py:72
msgid "Select one or more products to install."
msgstr ""
-#: src/z3ext/product/view.py:91
+#: src/z3ext/product/view.py:79
msgid "Selected products has been installed."
msgstr ""
+#: src/z3ext/product/view.py:91
+msgid "Select one or more products to update."
+msgstr ""
+
+#: src/z3ext/product/view.py:98
+msgid "Selected products has been updated."
+msgstr ""
+
Modified: z3ext.product/trunk/src/z3ext/product/product.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/product.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/product.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -28,7 +28,7 @@
from z3ext.controlpanel.configlettype import ConfigletProperty
from z3ext.product import interfaces
-from z3ext.product.interfaces import _, IProduct, IProductExtension
+from z3ext.product.interfaces import _, IProduct
class Product(object):
@@ -94,10 +94,6 @@
self._checkRequiredUpdate()
def uninstall(self):
- for name, ext in self.items():
- if IProductExtension.providedBy(ext) and ext.__installed__:
- ext.uninstall()
-
if not self.__installed__:
raise interfaces.ProductNotInstalledError(
_('Product is not installed.'))
@@ -136,37 +132,7 @@
seen = set()
return self._checkInstalled(sm, registry, seen)
- def listExtensions(self):
- exts = []
- for name, ext in self.items():
- if IProductExtension.providedBy(ext):
- exts.append(name)
-
- return exts
-
def isUninstallable(self):
sm = getSiteManager()
registry = getattr(z3ext.product, self.__product_name__)
return registry in sm.__bases__
-
-
-class ProductExtension(Product):
- interface.implements(IProductExtension)
-
- def install(self):
- if not self.__parent__.__installed__:
- raise interfaces.ProductNotInstalledError(
- self.__parent__.__product_name__)
- super(ProductExtension, self).install()
-
- def update(self):
- if not self.__parent__.__installed__:
- raise interfaces.ProductNotInstalledError(
- self.__parent__.__product_name__)
- super(ProductExtension, self).update()
-
- def isInstalled(self):
- if self.__parent__.__installed__:
- return self.__installed__
- else:
- return False
Modified: z3ext.product/trunk/src/z3ext/product/utils.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/utils.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/utils.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -24,7 +24,7 @@
from zope.app.component.site import SiteManagementFolder
from zope.app.component.interfaces import ISite
-from z3ext.product.interfaces import _, IProduct, IProductExtension
+from z3ext.product.interfaces import _, IProduct
def registerUtility(id, factory, ifaces, container='system'):
@@ -90,8 +90,4 @@
if product is not None:
return product.__installed__
- product = queryUtility(IProductExtension, self.product)
- if product is not None:
- return product.__installed__
-
return False
Modified: z3ext.product/trunk/src/z3ext/product/view.pt
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.pt 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/view.pt 2008-11-21 11:16:43 UTC (rev 93236)
@@ -6,7 +6,7 @@
<ul class="z-listing">
<li tal:repeat="product data/installed">
<div class="z-listing-icon">
- <input class="noborder" type="checkbox" name="products:list"
+ <input class="noborder" type="checkbox" name="products:list"
tal:attributes="value product/name"
tal:condition="product/uninstallable" />
<tal:block tal:condition="not:product/uninstallable">
@@ -20,37 +20,6 @@
</a>
<div tal:content="product/description"></div>
</div>
- <div class="small"
- tal:define="name product/name;
- extensions python:view.getExtensions(product['product'])"
- tal:condition="extensions">
- <ul class="z-listing-listing">
- <li tal:repeat="product extensions">
- <div class="z-listing-icon">
- <img tal:replace="structure product/@@zmi_icon" />
- </div>
- <div class="z-listing-details">
- <span>
- <a tal:omit-tag="not:product/isAvailable"
- tal:attributes="href string:${product/__parent__/__name__}/${product/__name__}/">
- <span tal:content="product/__title__"></span>
- </a>
- <a tal:attributes="href
- string:${context/@@absolute_url}/?extension=${product/__id__}"
- tal:condition="product/__installed__" i18n:translate="">
- (Installed)
- </a>
- <a tal:attributes="href
- string:${context/@@absolute_url}/?extension=${product/__id__}"
- tal:condition="not:product/__installed__" i18n:translate="">
- (Not installed)
- </a>
- </span>
- <div tal:content="product/__description__"></div>
- </div>
- </li>
- </ul>
- </div>
</li>
</ul>
@@ -73,7 +42,7 @@
<li tal:repeat="product data/notinstalled">
<div class="z-listing-icon">
<input class="noborder" type="checkbox"
- name="products:list" tal:attributes="value product/name" />
+ name="availproducts:list" tal:attributes="value product/name" />
<img tal:replace="structure product/product/@@zmi_icon" />
</div>
<div class="z-listing-details">
@@ -84,7 +53,7 @@
</ul>
<div class="z-form-controls">
- <input type="submit" class="context" name="install"
+ <input type="submit" class="z-form-button" name="install"
value="Install" i18n:attributes="value" />
</div>
</form>
Modified: z3ext.product/trunk/src/z3ext/product/view.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/view.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/view.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -18,19 +18,16 @@
import logging, sys
from transaction import abort
from zope.component import getUtility, queryUtility, getUtilitiesFor
-
-from z3ext.layout.pagelet import BrowserPagelet
from z3ext.statusmessage.interfaces import IStatusMessage
-from z3ext.product.interfaces import _, IProductExtension
-from z3ext.product.interfaces import ProductWarningError
+from z3ext.product.interfaces import _, ProductWarningError
def log_exc(msg=''):
log = logging.getLogger(u'z3ext.product')
log.log(logging.ERROR, msg, exc_info=sys.exc_info())
-class InstallerView(BrowserPagelet):
+class InstallerView(object):
def getProducts(self):
context = self.context
@@ -63,23 +60,14 @@
return {'installed': installed, 'notinstalled': notinstalled,
'hasUninstallable': hasUninstallable}
- def getExtensions(self, product):
- extensions = []
-
- for name in product.listExtensions():
- ext = product.get(name)
- extensions.append((ext.__title__, ext))
- extensions.sort()
- return [ext for t, ext in extensions]
-
def update(self, *args, **kw):
request = self.request
context = self.context
service = IStatusMessage(request)
- products = request.get('products', ())
-
+
if request.has_key('install'):
+ products = request.get('availproducts', ())
if not products:
service.add(_('Select one or more products to install.'), 'warning')
else:
@@ -98,6 +86,7 @@
service.add(e, 'error')
elif request.has_key('update'):
+ products = request.get('products', ())
if not products:
service.add(_('Select one or more products to update.'), 'warning')
else:
@@ -106,13 +95,14 @@
product = context.get(product_id)
product.update()
- service.add('Selected products has been updated.')
+ service.add(_('Selected products has been updated.'))
except Exception, e:
abort()
log_exc(str(e))
service.add(e, 'error')
elif request.has_key('uninstall'):
+ products = request.get('products', ())
if not products:
service.add(_('Select one or more products to uninstall.'), 'warning')
else:
@@ -126,29 +116,3 @@
abort()
log_exc(str(e))
service.add(e, 'error')
-
- elif request.has_key('extension'):
- try:
- product = ''
- extension = request.get('extension', '')
- if '.' in extension:
- c, product, extension = extension.split('.', 2)
-
- product = context.get(product)
- if product is not None:
- extension = product.get(extension)
-
- if not IProductExtension.providedBy(extension):
- extension = None
-
- if extension is None:
- service.add("Can't fine extension.", 'error')
- else:
- if extension.__installed__:
- extension.uninstall()
- else:
- extension.install()
- except Exception, e:
- abort()
- log_exc(str(e))
- service.add(e, 'error')
Modified: z3ext.product/trunk/src/z3ext/product/zcml.py
===================================================================
--- z3ext.product/trunk/src/z3ext/product/zcml.py 2008-11-21 10:45:58 UTC (rev 93235)
+++ z3ext.product/trunk/src/z3ext/product/zcml.py 2008-11-21 11:16:43 UTC (rev 93236)
@@ -26,8 +26,8 @@
from z3ext.controlpanel.zcml import IConfigletDirective, ConfigletDirective
from interfaces import IProduct
+from product import Product
from registry import ProductRegistry
-from product import Product, ProductExtension
class IProductDirective(IConfigletDirective):
@@ -50,11 +50,7 @@
permission='z3ext.ManageProducts', tests=(),
configurable=False, require = ()):
- if '.' not in name:
- product_class = Product
- else:
- product_class = ProductExtension
-
+ product_class = Product
if class_ is None:
class_ = product_class
else:
More information about the Checkins
mailing list