[py-svn] r36671 - py/dist/py/test/rsession

guido at codespeak.net guido at codespeak.net
Sat Jan 13 16:51:13 CET 2007


Author: guido
Date: Sat Jan 13 16:51:11 2007
New Revision: 36671

Modified:
   py/dist/py/test/rsession/rsession.py
Log:
Small modifications for --apigen script.


Modified: py/dist/py/test/rsession/rsession.py
==============================================================================
--- py/dist/py/test/rsession/rsession.py	(original)
+++ py/dist/py/test/rsession/rsession.py	Sat Jan 13 16:51:11 2007
@@ -270,7 +270,7 @@
         reporter(report.RsyncFinished())
 
         if runner is None:
-            runner = self.init_runner()
+            runner = self.init_runner(pkgdir)
 
         keyword = self.config.option.keyword
 
@@ -283,28 +283,30 @@
         if not self.config.option.nomagic:
             py.magic.revoke(assertion=1)
 
-        self.write_docs()
+        self.write_docs(pkgdir)
         return retval
 
-    def write_docs(self):
+    def write_docs(self, pkgdir):
         if self.config.option.apigen:
             from py.__.apigen.tracer.docstorage import DocStorageAccessor
             apigen = py.path.local(self.config.option.apigen).pyimport()
-            pkgpath = py.path.local(py.__file__).dirpath()
             try:
-                apigen.build(pkgpath, DocStorageAccessor(self.docstorage))
+                apigen.build(pkgdir, DocStorageAccessor(self.docstorage))
             except (ValueError, AttributeError):
                 raise NotImplementedError("Provided script does not seem "
                                           "to contain build function")
 
-    def init_runner(self):
+    def init_runner(self, pkgdir):
         if self.config.option.apigen:
             from py.__.apigen.tracer.tracer import Tracer, DocStorage
             module = py
             try:
                 apigen = py.path.local(self.config.option.apigen).pyimport()
-                self.docstorage = DocStorage().from_dict(
-                    apigen.get_documentable_items())
+                items = apigen.get_documentable_items(pkgdir)
+                if isinstance(items, dict):
+                    self.docstorage = DocStorage().from_dict(items)
+                else:
+                    self.docstorage = DocStorage().from_pkg(items)
             except ImportError:
                 raise ImportError("Provided script cannot be imported")
             except (ValueError, AttributeError):
@@ -314,3 +316,4 @@
             return apigen_runner
         else:
             return RunnerPolicy[session_options.runner_policy]
+



More information about the pytest-commit mailing list