[Checkins] SVN: manuelpi.fake_module/trunk/ Initial commit of plugin package.
Paul Wilson
paulalexwilson at gmail.com
Sat Nov 21 19:18:19 EST 2009
Log message for revision 105951:
Initial commit of plugin package.
Changed:
_U manuelpi.fake_module/trunk/
A manuelpi.fake_module/trunk/CHANGES.txt
A manuelpi.fake_module/trunk/README.txt
A manuelpi.fake_module/trunk/buildout.cfg
A manuelpi.fake_module/trunk/setup.py
A manuelpi.fake_module/trunk/src/
A manuelpi.fake_module/trunk/src/manuelpi/
A manuelpi.fake_module/trunk/src/manuelpi/__init__.py
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/README.txt
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/__init__.py
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.py
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.txt
A manuelpi.fake_module/trunk/src/manuelpi/fake_module/tests.py
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/PKG-INFO
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/SOURCES.txt
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/dependency_links.txt
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/namespace_packages.txt
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/not-zip-safe
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/requires.txt
A manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/top_level.txt
-=-
Property changes on: manuelpi.fake_module/trunk
___________________________________________________________________
Added: svn:ignores
+ *.pyc
develop-eggs
bin
parts
eggs
.installed.cfg
Added: manuelpi.fake_module/trunk/CHANGES.txt
===================================================================
--- manuelpi.fake_module/trunk/CHANGES.txt (rev 0)
+++ manuelpi.fake_module/trunk/CHANGES.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,7 @@
+CHANGES
+*******
+
+0.1 (2009-11-21)
+================
+
+* Initial Public Release
Property changes on: manuelpi.fake_module/trunk/CHANGES.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/README.txt
===================================================================
--- manuelpi.fake_module/trunk/README.txt (rev 0)
+++ manuelpi.fake_module/trunk/README.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,6 @@
+********************
+manuelpi.fake_module
+********************
+
+A plugin to enable the definition and usage of whole
+Python modules from within doctests.
Property changes on: manuelpi.fake_module/trunk/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/buildout.cfg
===================================================================
--- manuelpi.fake_module/trunk/buildout.cfg (rev 0)
+++ manuelpi.fake_module/trunk/buildout.cfg 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,9 @@
+[buildout]
+develop = .
+parts = test
+find-links = http://download.zope.org/distribution/
+newest = false
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = manuelpi.fake_module
Property changes on: manuelpi.fake_module/trunk/buildout.cfg
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/setup.py
===================================================================
--- manuelpi.fake_module/trunk/setup.py (rev 0)
+++ manuelpi.fake_module/trunk/setup.py 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,36 @@
+import os
+from setuptools import setup, find_packages
+
+def read(*rnames):
+ return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+long_description = (
+ read('README.txt')
+ + '\n' +
+ read('src', 'manuelpi', 'fake_module', 'README.txt')
+ + '\n' +
+ read('CHANGES.txt')
+ )
+
+name='manuelpi.fake_module'
+
+setup(
+ name=name,
+ version='0.1a',
+ url='http://www.python.org/pypi/'+name,
+ license='ZPL 2.1',
+ description='Module support in doctests',
+ long_description=long_description,
+ classifiers=['Intended Audience :: Developers',
+ 'License :: OSI Approved :: Zope Public License',
+ 'Programming Language :: Python',
+ ],
+ author='Paul Wilson',
+ author_email='paulalexwilson at gmail.com',
+ packages=find_packages('src'),
+ package_dir = {'': 'src'},
+ namespace_packages=['manuelpi',],
+ include_package_data = True,
+ install_requires=['setuptools', 'manuel'],
+ zip_safe = False,
+ )
Property changes on: manuelpi.fake_module/trunk/setup.py
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/__init__.py
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/__init__.py (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/__init__.py 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,7 @@
+# this is a namespace package
+try:
+ import pkg_resources
+ pkg_resources.declare_namespace(__name__)
+except ImportError:
+ import pkgutil
+ __path__ = pkgutil.extend_path(__path__, __name__)
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/__init__.py
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/fake_module/README.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/fake_module/README.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/fake_module/README.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,64 @@
+Intro and Motivation
+====================
+
+`manuelpi.fake_module` is a plugin for `Manuel`_ that supports syntax
+for creating modules within a doctest. The module, once defined, is then
+usable by supporting doctest statements.
+
+This functionality is useful for packages that you might describe is
+being 'meta'; they operate on modules. Thus, being able to define
+and then process modules within the same doctest using a clean and
+uncluttered syntax delivers is extremely beneficial.
+
+One such package to benefit from this sort of facility is `Martian`_,
+which scans modules for configuration directives, registering them as
+it goes.
+
+.. _Martian: http://pypi.python.org/pypi/martian
+.. _Manuel: http://packages.python.org/manuel
+
+Usage
+=====
+The special REStructure Text directive::
+
+'.. module-block:: <MODULE_NAME>'
+
+is used to denote the start of a module and its alias <MODULE_NAME> for
+the rest of the doctest. We then define the module's body at a single
+indentation level after this directive. What follows is an example of a
+full doctest::
+
+We create a new module with a main function to perform this task::
+
+ .. module-block:: test_module
+
+ import sys
+
+ class A:
+ def do_something(self):
+ return "Hello World"
+
+ def main():
+ print A().do_something()
+
+ Now let's execute the main function
+
+.. ignore-next-block
+
+::
+
+ >>> test_module.main()
+ Hello World
+
+The above doctest creates a new module `test_module` and then exercises
+the objects within it. Notice how the module becomes immediately available
+to the doctet after definition.
+
+To use `manualpi.fake_module` in your application, set up your tests as
+described in the Manuel documentation and import the `Manuel` class from
+`manuelpi.fake_module`::
+
+ ...
+ import manuelpi.fake_module
+ ...
+ m += manuelpi.fake_module.Manuel()
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/fake_module/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/fake_module/__init__.py
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/fake_module/__init__.py (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/fake_module/__init__.py 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1 @@
+from manuelpi.fake_module.fake_module import Manuel
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/fake_module/__init__.py
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.py
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.py (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.py 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,62 @@
+import manuel
+import re
+import sys
+import new
+import textwrap
+
+FAKE_MODULE_START = re.compile(
+ r'^\.\.\s*module-block::?\s*(?P<module_name>[a-zA-Z_]*)',
+ re.MULTILINE)
+FAKE_MODULE_END = re.compile(r'(\n\Z|\n(?=\S))')
+MODULE_NS = "manueltest.fake"
+
+# To store our fake module's lines
+class FakeModuleSnippet(object):
+ def __init__(self, code, module_name):
+ self.code = code
+ self.module_name = module_name
+
+def find_fakes(document):
+ for region in document.find_regions(FAKE_MODULE_START, FAKE_MODULE_END):
+ if region.parsed:
+ continue
+
+ module_name = region.start_match.group('module_name')
+ # Sanitise indentation
+ source = textwrap.dedent('\n'.join(region.source.splitlines()[1:]))
+ source_location = '%s:%d' % (document.location, region.lineno)
+
+ code = compile(source, source_location, 'exec')
+ document.claim_region(region)
+ region.parsed = FakeModuleSnippet(code, module_name)
+
+def execute_into_module(region, document, doc_globs):
+ if not isinstance(region.parsed, FakeModuleSnippet):
+ return
+
+ # build a suitable module
+ module_name = region.parsed.module_name
+ full_module_name = MODULE_NS + "." + module_name
+ module = new.module(full_module_name)
+ module_name_parts = full_module_name.split('.')
+ module.__file__ = '/' + '/'.join(module_name_parts)
+
+ # Make the module also available through normal import
+ if not MODULE_NS in sys.modules:
+ sys.modules['manueltest'] = new.module('manueltest')
+ sys.modules['manueltest.fake'] = new.module('manueltest.fake')
+ sys.modules['manueltest'].fake = sys.modules['manueltest.fake']
+
+ exec region.parsed.code in module.__dict__
+ # XXX Do I want del module['__builtin__']??
+
+ # Make the module visible and usable in the given name
+ doc_globs[module_name] = module
+
+ sys.modules[full_module_name] = module
+ setattr(sys.modules['manueltest.fake'], full_module_name.split('.')[-1],
+ module)
+
+class Manuel(manuel.Manuel):
+ def __init__(self):
+ manuel.Manuel.__init__(self, [find_fakes], [execute_into_module])
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.py
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,166 @@
+Details
+=======
+
+The `fake_module` plugin defines a `module-block` directive that takes
+a single Python identifier as an argument. One or more lines of Python
+code indented will then form the body of the module, which is later
+referenced by its identifier::
+
+ >>> import manuel
+ >>> import manuelpi.fake_module
+
+The following string shows what this might look like::
+
+ This is a module doc-test:
+
+ .. module-block:: test_module
+
+ import pprint
+
+ class Something:
+ pass
+
+ def my_function(): pass
+
+ a = 1 + 2
+
+ As you can see, it does much!!
+
+.. -> source
+
+::
+ >>> doc = manuel.Document(source)
+ >>> from manuelpi.fake_module.fake_module import find_fakes
+ >>> find_fakes(doc)
+
+Let's extract the module name and its source::
+
+ >>> for region in doc:
+ ... if region.parsed:
+ ... print region.parsed.module_name
+ ... print region.source
+ test_module
+ .. module-block:: test_module
+ import pprint
+ <BLANKLINE>
+ class Something:
+ pass
+ <BLANKLINE>
+ def my_function(): pass
+ <BLANKLINE>
+ a = 1 + 2
+ <BLANKLINE>
+ <BLANKLINE>
+
+The code can correctly parse multiple modules:
+
+ Our system has a few modules:
+
+ .. module-block:: some_module
+ class Foo:
+ pass
+
+ and:
+
+ .. module-block:: an_other_module
+ class Bar:
+ pass
+
+ fin
+
+.. -> source
+
+ >>> doc = manuel.Document(source)
+ >>> find_fakes(doc)
+
+Again, we extract the various parsed regions:
+
+ >>> for region in doc:
+ ... if region.parsed:
+ ... print region.parsed.module_name
+ ... print region.source
+ some_module
+ .. module-block:: some_module
+ class Foo:
+ pass
+ <BLANKLINE>
+ <BLANKLINE>
+ an_other_module
+ .. module-block:: an_other_module
+ class Bar:
+ pass
+ <BLANKLINE>
+ <BLANKLINE>
+
+We can use `execute_into_module` to execute these regions into a
+glob dictionary of our own:
+
+ >>> from manuelpi.fake_module.fake_module import execute_into_module
+ >>> glob = {}
+ >>> for region in doc:
+ ... if region.parsed:
+ ... execute_into_module(region, doc, glob)
+
+Let's check that our glob contains the modules with their names:
+
+ >>> for module in glob.values():
+ ... print module.__name__, ":", type(module)
+ manueltest.fake.some_module : <type 'module'>
+ manueltest.fake.an_other_module : <type 'module'>
+
+and also confirm that the modules contain their respective class
+definitions:
+
+ >>> for module in glob.values():
+ ... print dir(module)
+ ['Foo', '__builtins__', '__doc__', '__file__', '__name__']
+ ['Bar', '__builtins__', '__doc__', '__file__', '__name__']
+
+We would also want to ensure that we can import the module correctly
+too. The fake_module system also adds the modules under their own
+namespace `manueltest.fake`, as you can see from the previous tests:
+
+ >>> import manueltest.fake.some_module
+ >>> import manueltest.fake.an_other_module
+ >>> manueltest.fake.some_module.Foo
+ <class manueltest.fake.some_module.Foo at ...>
+ >>> manueltest.fake.an_other_module.Bar
+ <class manueltest.fake.an_other_module.Bar at ...>
+
+Note: There is no checking done to ensure that the module definition
+hasn't overridden any previous modules defined in the doctest.
+
+Now that we can see objects in our modules, we need to ensure that
+they are fully 'module-aware'. In other words, are they aware that
+they are existing in a module? Let's create a new module with
+classes and functions to test this:
+
+ .. module-block:: cls_n_func
+ class Baz:
+ def __init__(self):
+ pass
+
+ def faz_func(): pass
+
+.. -> source
+
+We will now go through the usual steps to create the module in our
+own glob:
+
+ >>> doc = manuel.Document(source)
+ >>> find_fakes(doc)
+ >>> glob = {}
+ >>> for region in doc:
+ ... if region.parsed:
+ ... execute_into_module(region, doc, glob)
+
+The class must be aware that it exists within the `manuelfake.test.
+cls_n_func` module:
+
+ >>> print glob['cls_n_func'].Baz.__module__
+ manueltest.fake.cls_n_func
+
+In addition, functions must also be aware of their module:
+
+ >>> print glob['cls_n_func'].faz_func.__module__
+ manueltest.fake.cls_n_func
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/fake_module/fake_module.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi/fake_module/tests.py
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi/fake_module/tests.py (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi/fake_module/tests.py 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,27 @@
+import manuel.testing
+import manuel.doctest
+import manuel.ignore
+import manuel.capture
+import manuelpi.fake_module
+import re
+import unittest
+
+# Dependency on manuel
+from zope.testing import doctest, renormalizing
+
+def test_suite():
+ optionflags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
+ checker = renormalizing.RENormalizing([
+ (re.compile(r'<zope\.testing\.doctest\.'), '<doctest.'),
+ ])
+
+ tests = ['README.txt', 'fake_module.txt']
+
+ m = manuel.ignore.Manuel()
+ m += manuel.doctest.Manuel(optionflags=optionflags, checker=checker)
+ m += manuel.capture.Manuel()
+ m += manuelpi.fake_module.Manuel()
+ return manuel.testing.TestSuite(m, *tests)
+
+if __name__ == '__main__':
+ unittest.TextTestRunner().run(test_suite())
Property changes on: manuelpi.fake_module/trunk/src/manuelpi/fake_module/tests.py
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/PKG-INFO
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/PKG-INFO (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/PKG-INFO 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,202 @@
+Metadata-Version: 1.0
+Name: manuelpi.fake-module
+Version: 0.1
+Summary: Module support in doctests
+Home-page: http://www.python.org/pypi/manuelpi.fake_module
+Author: Paul Wilson
+Author-email: paulalexwilson at gmail.com
+License: ZPL 2.1
+Description: ********************
+ manuelpi.fake_module
+ ********************
+
+ A plugin to enable the definition and usage of whole
+ Python modules from within doctests.
+
+ This package enables the definition of whole modules within a Python
+ doctest when used with Manuel.
+
+ .. contents::
+
+ manuel.fake_module
+ ==================
+
+ This document discusses the `fake_module` plugin for Manuel that allows
+ doctests to define and then use Python modules.
+
+ The `fake_module` plugin defines a `module-block` directive that takes
+ a single Python identifier as an argument. One or more lines of Python
+ code indented will then form the body of the module, which is later
+ referenced by its identifier.
+
+ >>> import manuel
+ >>> import manuel.fake_module
+
+ The following string shows what this might look like:
+
+ >>> source = """\
+ ... This is a module doc-test:
+ ...
+ ... .. module-block:: test_module
+ ... import pprint
+ ...
+ ... class Something:
+ ... pass
+ ...
+ ... def my_function(): pass
+ ...
+ ... a = 1 + 2
+ ...
+ ... As you can see, it does much!!
+ ... """
+ >>> doc = manuel.Document(source)
+ >>> manuel.fake_module.find_fakes(doc)
+
+ Let's extract the module name and its source:
+
+ >>> for region in doc:
+ ... if region.parsed:
+ ... print region.parsed.module_name
+ ... print region.source
+ test_module
+ .. module-block:: test_module
+ import pprint
+ <BLANKLINE>
+ class Something:
+ pass
+ <BLANKLINE>
+ def my_function(): pass
+ <BLANKLINE>
+ a = 1 + 2
+ <BLANKLINE>
+ <BLANKLINE>
+
+ The code can correctly parse multiple modules:
+
+ >>> source = """\
+ ... Our system has a few modules:
+ ...
+ ... .. module-block:: some_module
+ ... class Foo:
+ ... pass
+ ...
+ ... and:
+ ...
+ ... .. module-block:: an_other_module
+ ... class Bar:
+ ... pass
+ ...
+ ... fin
+ ... """
+
+ >>> doc = manuel.Document(source)
+ >>> manuel.fake_module.find_fakes(doc)
+
+ Again, we extract the various parsed regions:
+
+ >>> for region in doc:
+ ... if region.parsed:
+ ... print region.parsed.module_name
+ ... print region.source
+ some_module
+ .. module-block:: some_module
+ class Foo:
+ pass
+ <BLANKLINE>
+ <BLANKLINE>
+ an_other_module
+ .. module-block:: an_other_module
+ class Bar:
+ pass
+ <BLANKLINE>
+ <BLANKLINE>
+
+ We can use `execute_into_module` to execute these regions into a
+ glob dictionary of our own:
+
+ >>> glob = {}
+ >>> for region in doc:
+ ... if region.parsed:
+ ... manuel.fake_module.execute_into_module(
+ ... region, doc, glob)
+
+ Let's check that our glob contains the modules with their names:
+
+ >>> for module in glob.values():
+ ... print module.__name__, ":", type(module)
+ manueltest.fake.some_module : <type 'module'>
+ manueltest.fake.an_other_module : <type 'module'>
+
+ and also confirm that the modules contain their respective class
+ definitions:
+
+ >>> for module in glob.values():
+ ... print dir(module)
+ ['Foo', '__builtins__', '__doc__', '__file__', '__name__']
+ ['Bar', '__builtins__', '__doc__', '__file__', '__name__']
+
+ We would also want to ensure that we can import the module correctly
+ too. The fake_module system also adds the modules under their own
+ namespace `manueltest.fake`, as you can see from the previous tests:
+
+ >>> import manueltest.fake.some_module
+ >>> import manueltest.fake.an_other_module
+ >>> manueltest.fake.some_module.Foo
+ <class manueltest.fake.some_module.Foo at ...>
+ >>> manueltest.fake.an_other_module.Bar
+ <class manueltest.fake.an_other_module.Bar at ...>
+
+ Note: There is no checking done to ensure that the module definition
+ hasn't overridden any previous modules defined in the doctest.
+
+ Now that we can see objects in our modules, we need to ensure that
+ they are fully 'module-aware'. In other words, are they aware that
+ they are existing in a module? Let's create a new module with
+ classes and functions to test this:
+
+ >>> source = """\
+ ...
+ ... .. module-block:: cls_n_func
+ ... class Baz:
+ ... def __init__(self):
+ ... pass
+ ...
+ ... def faz_func(): pass
+ ...
+ ... """
+
+ We will now go through the usual steps to create the module in our
+ own glob:
+
+ >>> doc = manuel.Document(source)
+ >>> manuel.fake_module.find_fakes(doc)
+ >>> glob = {}
+ >>> for region in doc:
+ ... if region.parsed:
+ ... manuel.fake_module.execute_into_module(
+ ... region, doc, glob)
+
+ The class must be aware that it exists within the `manuelfake.test.
+ cls_n_func` module:
+
+ >>> print glob['cls_n_func'].Baz.__module__
+ manueltest.fake.cls_n_func
+
+ In addition, functions must also be aware of their module:
+
+ >>> print glob['cls_n_func'].faz_func.__module__
+ manueltest.fake.cls_n_func
+
+
+ CHANGES
+ *******
+
+ 0.1 (2009-11-21)
+ ================
+
+ * Initial Public Release
+
+Platform: UNKNOWN
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Zope Public License
+Classifier: Programming Language :: Python
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/PKG-INFO
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/SOURCES.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/SOURCES.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/SOURCES.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,10 @@
+README.txt
+setup.py
+src/manuelpi/__init__.py
+src/manuelpi.fake_module.egg-info/PKG-INFO
+src/manuelpi.fake_module.egg-info/SOURCES.txt
+src/manuelpi.fake_module.egg-info/dependency_links.txt
+src/manuelpi.fake_module.egg-info/namespace_packages.txt
+src/manuelpi.fake_module.egg-info/not-zip-safe
+src/manuelpi.fake_module.egg-info/requires.txt
+src/manuelpi.fake_module.egg-info/top_level.txt
\ No newline at end of file
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/SOURCES.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/dependency_links.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/dependency_links.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/dependency_links.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1 @@
+
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/dependency_links.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/namespace_packages.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/namespace_packages.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/namespace_packages.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1 @@
+manuelpi
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/namespace_packages.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/not-zip-safe
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/not-zip-safe (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/not-zip-safe 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1 @@
+
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/not-zip-safe
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/requires.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/requires.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/requires.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1,2 @@
+setuptools
+manuel
\ No newline at end of file
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/requires.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Added: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/top_level.txt
===================================================================
--- manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/top_level.txt (rev 0)
+++ manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/top_level.txt 2009-11-22 00:18:19 UTC (rev 105951)
@@ -0,0 +1 @@
+manuelpi
Property changes on: manuelpi.fake_module/trunk/src/manuelpi.fake_module.egg-info/top_level.txt
___________________________________________________________________
Added: svn:eol-style
+ native
More information about the checkins
mailing list