[Checkins] SVN: megrok.icon/branches/utility-less/ Initial population now uses a module based path.
Souheil CHELFOUH
souheil at chelfouh.com
Thu Jan 21 07:23:30 EST 2010
Log message for revision 108352:
Initial population now uses a module based path.
Using the GTK !
Changed:
U megrok.icon/branches/utility-less/buildout.cfg
U megrok.icon/branches/utility-less/src/megrok/icon/meta.py
U megrok.icon/branches/utility-less/src/megrok/icon/utils.py
-=-
Modified: megrok.icon/branches/utility-less/buildout.cfg
===================================================================
--- megrok.icon/branches/utility-less/buildout.cfg 2010-01-21 10:38:00 UTC (rev 108351)
+++ megrok.icon/branches/utility-less/buildout.cfg 2010-01-21 12:23:29 UTC (rev 108352)
@@ -1,7 +1,7 @@
[buildout]
develop = .
parts = interpreter test releaser
-extends = http://grok.zope.org/releaseinfo/grok-1.1a2.cfg
+extends = http://svn.zope.org/repos/main/groktoolkit/trunk/grok.cfg
versions = versions
newest = false
Modified: megrok.icon/branches/utility-less/src/megrok/icon/meta.py
===================================================================
--- megrok.icon/branches/utility-less/src/megrok/icon/meta.py 2010-01-21 10:38:00 UTC (rev 108351)
+++ megrok.icon/branches/utility-less/src/megrok/icon/meta.py 2010-01-21 12:23:29 UTC (rev 108352)
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
+import os
import martian
import megrok.icon
@@ -8,6 +9,23 @@
populate_icons_registry)
+def _get_resource_path(module_info, path):
+ resource_path = module_info.getResourcePath(path)
+ if os.path.isdir(resource_path):
+ static_module = module_info.getSubModuleInfo(path)
+ if static_module is not None:
+ if static_module.isPackage():
+ raise martian.error.GrokError(
+ "The '%s' icon directory must not "
+ "be a python package." % path, module_info.getModule())
+ else:
+ raise martian.error.GrokError(
+ "A package can not contain both a '%s' "
+ "icon directory and a module named "
+ "'%s.py'" % (path, path), module_info.getModule())
+ return resource_path
+
+
def default_name(factory, module=None, **data):
return factory.__name__.lower()
@@ -18,6 +36,11 @@
martian.directive(megrok.icon.path, default=None)
martian.directive(megrok.icon.name, get_default=default_name)
+ def grok(self, name, factory, module_info, **kw):
+ factory.module_info = module_info
+ return super(IconsRegistryGrokker, self).grok(
+ name, factory, module_info, **kw)
+
def execute(self, factory, config, name, path, **kw):
mapping = getIconsRegistriesMap()
@@ -32,6 +55,7 @@
mapping.register(name, factory)
if path is not None:
+ path = _get_resource_path(factory.module_info, path)
populate_icons_registry(name, path)
return True
Modified: megrok.icon/branches/utility-less/src/megrok/icon/utils.py
===================================================================
--- megrok.icon/branches/utility-less/src/megrok/icon/utils.py 2010-01-21 10:38:00 UTC (rev 108351)
+++ megrok.icon/branches/utility-less/src/megrok/icon/utils.py 2010-01-21 12:23:29 UTC (rev 108352)
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
import os
-
import megrok.icon
from megrok.icon import getIconsRegistry, queryIconsRegistry
from zope.traversing.browser.absoluteurl import absoluteURL
More information about the checkins
mailing list