[Checkins] SVN: Sandbox/nadako/zcmlschema/ Add package infrastructure.
Dan Korostelev
nadako at gmail.com
Tue Nov 18 11:01:26 EST 2008
Log message for revision 93087:
Add package infrastructure.
Changed:
_U Sandbox/nadako/zcmlschema/
A Sandbox/nadako/zcmlschema/bootstrap.py
A Sandbox/nadako/zcmlschema/buildout.cfg
D Sandbox/nadako/zcmlschema/generate_schema.py
A Sandbox/nadako/zcmlschema/setup.py
A Sandbox/nadako/zcmlschema/src/
A Sandbox/nadako/zcmlschema/src/zcmlschema/
A Sandbox/nadako/zcmlschema/src/zcmlschema/__init__.py
A Sandbox/nadako/zcmlschema/src/zcmlschema/generate.py
A Sandbox/nadako/zcmlschema/src/zcmlschema/interfaces.py
-=-
Property changes on: Sandbox/nadako/zcmlschema
___________________________________________________________________
Modified: svn:ignore
- .project
.pydevproject
*.xsd
+ .project
.pydevproject
*.xsd
bin
parts
.installed.cfg
Added: Sandbox/nadako/zcmlschema/bootstrap.py
===================================================================
--- Sandbox/nadako/zcmlschema/bootstrap.py (rev 0)
+++ Sandbox/nadako/zcmlschema/bootstrap.py 2008-11-18 16:01:26 UTC (rev 93087)
@@ -0,0 +1,77 @@
+##############################################################################
+#
+# Copyright (c) 2006 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.
+#
+##############################################################################
+"""Bootstrap a buildout-based project
+
+Simply run this script in a directory containing a buildout.cfg.
+The script accepts buildout command-line options, so you can
+use the -c option to specify an alternate configuration file.
+
+$Id: bootstrap.py 90478 2008-08-27 22:44:46Z georgyberdyshev $
+"""
+
+import os, shutil, sys, tempfile, urllib2
+
+tmpeggs = tempfile.mkdtemp()
+
+is_jython = sys.platform.startswith('java')
+
+try:
+ import pkg_resources
+except ImportError:
+ ez = {}
+ exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
+ ).read() in ez
+ ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
+
+ import pkg_resources
+
+if sys.platform == 'win32':
+ def quote(c):
+ if ' ' in c:
+ return '"%s"' % c # work around spawn lamosity on windows
+ else:
+ return c
+else:
+ def quote (c):
+ return c
+
+cmd = 'from setuptools.command.easy_install import main; main()'
+ws = pkg_resources.working_set
+
+if is_jython:
+ import subprocess
+
+ assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd',
+ quote(tmpeggs), 'zc.buildout'],
+ env=dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ).wait() == 0
+
+else:
+ assert os.spawnle(
+ os.P_WAIT, sys.executable, quote (sys.executable),
+ '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout',
+ dict(os.environ,
+ PYTHONPATH=
+ ws.find(pkg_resources.Requirement.parse('setuptools')).location
+ ),
+ ) == 0
+
+ws.add_entry(tmpeggs)
+ws.require('zc.buildout')
+import zc.buildout.buildout
+zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
+shutil.rmtree(tmpeggs)
Added: Sandbox/nadako/zcmlschema/buildout.cfg
===================================================================
--- Sandbox/nadako/zcmlschema/buildout.cfg (rev 0)
+++ Sandbox/nadako/zcmlschema/buildout.cfg 2008-11-18 16:01:26 UTC (rev 93087)
@@ -0,0 +1,15 @@
+[buildout]
+extends = http://download.zope.org/zope3.4/versions.cfg
+versions = versions
+develop = .
+parts = python pydev
+
+[python]
+recipe = zc.recipe.egg:scripts
+eggs = zcmlschema
+scripts = generate-schema
+interpreter = python
+
+[pydev]
+recipe = pb.recipes.pydev
+eggs = ${python:eggs}
Deleted: Sandbox/nadako/zcmlschema/generate_schema.py
===================================================================
--- Sandbox/nadako/zcmlschema/generate_schema.py 2008-11-18 15:52:53 UTC (rev 93086)
+++ Sandbox/nadako/zcmlschema/generate_schema.py 2008-11-18 16:01:26 UTC (rev 93087)
@@ -1,68 +0,0 @@
-import sys
-from keyword import iskeyword
-from xml.dom.minidom import getDOMImplementation
-
-from zope.app.appsetup.appsetup import getConfigContext
-from zope.configuration.docutils import makeDocStructures
-from zope.schema import getFieldsInOrder
-
-namespaces, subdirs = makeDocStructures(getConfigContext())
-dom = getDOMImplementation()
-
-def quoteNS(ns):
- ns = ns.replace(':', '_co_')
- ns = ns.replace('/', '_sl_')
- return ns
-
-seenDirectives = set()
-
-def addDoc(doc, element, text):
- annotation = doc.createElement('annotation')
- element.appendChild(annotation)
- documentation = doc.createElement('documentation')
- annotation.appendChild(documentation)
- documentation.appendChild(doc.createTextNode(text))
-
-for ns, directives in namespaces.items():
- if not ns:
- ns = 'all'
- filename = quoteNS(ns) + '.xsd'
- file = open(filename, 'w')
- doc = dom.createDocument('http://www.w3.org/2001/XMLSchema', 'schema', None)
- root = doc.documentElement
-
- root.setAttribute('xmlns', 'http://www.w3.org/2001/XMLSchema')
- root.setAttribute('targetNamespace', ns)
- root.setAttribute('xmlns:target', ns)
-
- for directive in directives:
- schema = directives[directive][0]
- type_name = '%s.%s' % (schema.__module__, schema.__name__)
-
- if type_name not in seenDirectives:
- type = doc.createElement('complexType')
- type.setAttribute('name', type_name)
-
- if schema.__doc__:
- addDoc(doc, type, schema.__doc__)
-
- for name, field in getFieldsInOrder(schema):
- if name.endswith('_') and iskeyword(name[:-1]):
- name = name[:-1]
- attr = doc.createElement('attribute')
- attr.setAttribute('name', name)
- attr.setAttribute('type', 'string')
-
- if field.__doc__:
- addDoc(doc, attr, field.__doc__)
-
- type.appendChild(attr)
- root.appendChild(type)
- seenDirectives.add(type_name)
-
- el = doc.createElement('element')
- el.setAttribute('name', directive)
- el.setAttribute('type', 'target:' + type_name)
- root.appendChild(el)
-
- doc.writexml(file, addindent='\t', newl='\n')
Added: Sandbox/nadako/zcmlschema/setup.py
===================================================================
--- Sandbox/nadako/zcmlschema/setup.py (rev 0)
+++ Sandbox/nadako/zcmlschema/setup.py 2008-11-18 16:01:26 UTC (rev 93087)
@@ -0,0 +1,12 @@
+from setuptools import find_packages, setup
+
+setup(
+ name='zcmlschema',
+ package_dir={'': 'src'},
+ packages=find_packages('src'),
+ include_package_data=True,
+ install_requires=[
+ 'zope.app.appsetup',
+ ],
+ entry_points={'console_scripts': ['generate-schema=zcmlschema.generate:main']}
+)
Property changes on: Sandbox/nadako/zcmlschema/src
___________________________________________________________________
Added: svn:ignore
+ zcmlschema.egg-info
Copied: Sandbox/nadako/zcmlschema/src/zcmlschema/generate.py (from rev 93085, Sandbox/nadako/zcmlschema/generate_schema.py)
===================================================================
--- Sandbox/nadako/zcmlschema/src/zcmlschema/generate.py (rev 0)
+++ Sandbox/nadako/zcmlschema/src/zcmlschema/generate.py 2008-11-18 16:01:26 UTC (rev 93087)
@@ -0,0 +1,70 @@
+import sys
+from keyword import iskeyword
+from xml.dom.minidom import getDOMImplementation
+
+from zope.app.appsetup.appsetup import getConfigContext
+from zope.configuration.docutils import makeDocStructures
+from zope.schema import getFieldsInOrder
+
+namespaces, subdirs = makeDocStructures(getConfigContext())
+dom = getDOMImplementation()
+
+def quoteNS(ns):
+ ns = ns.replace(':', '_co_')
+ ns = ns.replace('/', '_sl_')
+ return ns
+
+seenDirectives = set()
+
+def addDoc(doc, element, text):
+ annotation = doc.createElement('annotation')
+ element.appendChild(annotation)
+ documentation = doc.createElement('documentation')
+ annotation.appendChild(documentation)
+ documentation.appendChild(doc.createTextNode(text))
+
+def main():
+
+ for ns, directives in namespaces.items():
+ if not ns:
+ ns = 'all'
+ filename = quoteNS(ns) + '.xsd'
+ file = open(filename, 'w')
+ doc = dom.createDocument('http://www.w3.org/2001/XMLSchema', 'schema', None)
+ root = doc.documentElement
+
+ root.setAttribute('xmlns', 'http://www.w3.org/2001/XMLSchema')
+ root.setAttribute('targetNamespace', ns)
+ root.setAttribute('xmlns:target', ns)
+
+ for directive in directives:
+ schema = directives[directive][0]
+ type_name = '%s.%s' % (schema.__module__, schema.__name__)
+
+ if type_name not in seenDirectives:
+ type = doc.createElement('complexType')
+ type.setAttribute('name', type_name)
+
+ if schema.__doc__:
+ addDoc(doc, type, schema.__doc__)
+
+ for name, field in getFieldsInOrder(schema):
+ if name.endswith('_') and iskeyword(name[:-1]):
+ name = name[:-1]
+ attr = doc.createElement('attribute')
+ attr.setAttribute('name', name)
+ attr.setAttribute('type', 'string')
+
+ if field.__doc__:
+ addDoc(doc, attr, field.__doc__)
+
+ type.appendChild(attr)
+ root.appendChild(type)
+ seenDirectives.add(type_name)
+
+ el = doc.createElement('element')
+ el.setAttribute('name', directive)
+ el.setAttribute('type', 'target:' + type_name)
+ root.appendChild(el)
+
+ doc.writexml(file, addindent='\t', newl='\n')
Property changes on: Sandbox/nadako/zcmlschema/src/zcmlschema/generate.py
___________________________________________________________________
Added: svn:mergeinfo
+
More information about the Checkins
mailing list