-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 09.06.2010 04:05, schrieb mfperzel: > I wanted the opposite of what the between function offered. So I > modified between to accept an optional exclude flag that excludes > lines that lie between lines that match the regex. The behavior is > unchanged if this flag is not set to True. I'm not particularly sure > how I am supposed to post a patch on here so I will just paste it into > this message. Let me know if there is anything you need or any > questions. > > Thanks, > Matt > > ps. I have a bitbucket patch queue here: > http://bitbucket.org/mfperzel/sphinx-additions
Hi Matt, posting a patch here is just as fine as posting it on the tracker. I've applied your patch (and added a CHANGES entry) as rev 36da2816e415. Thanks! Georg > # HG changeset patch -- Bitbucket.org > # Project sphinx-additions > # URL http://bitbucket.org/mfperzel/sphinx-additions/overview > # User m...@kubuntu > # Date 1276048301 25200 > # Node ID 6643ddb501bb028555365a397dfd2dbc47e55ae8 > # Parent 73e7599fa26679872903052752f1cdb9ac8c0fd6 > Modified sphinx.ext.autodoc.between() to have a flag to optionally > exclude matches instead of including > > --- a/series > +++ b/series > @@ -1,1 +1,2 @@ > +between_exclude > # Placed by Bitbucket > > --- /dev/null > +++ b/between_exclude > @@ -0,0 +1,48 @@ > +# HG changeset patch > +# Parent 04464ddd8808c655110c8203a7cbd712df54ddbc > + > +diff -r 04464ddd8808 sphinx/ext/autodoc.py > +--- a/sphinx/ext/autodoc.py Sat Jun 05 18:49:39 2010 +0200 > ++++ b/sphinx/ext/autodoc.py Tue Jun 08 18:49:00 2010 -0700 > +@@ -164,9 +164,9 @@ > + lines.append('') > + return process > + > +-def between(marker, what=None, keepempty=False): > ++def between(marker, what=None, keepempty=False, exclude=False): > + """ > +- Return a listener that only keeps lines between lines that match > the > ++ Return a listener that either keeps, or if *exclude* is True > excludes, lines between lines that match the > + *marker* regular expression. If no line matches, the resulting > docstring > + would be empty, so no change will be made unless *keepempty* is > true. > + > +@@ -178,7 +178,7 @@ > + if what and what_ not in what: > + return > + deleted = 0 > +- delete = True > ++ delete = not exclude > + orig_lines = lines[:] > + for i, line in enumerate(orig_lines): > + if delete: > +diff -r 04464ddd8808 tests/test_autodoc.py > +--- a/tests/test_autodoc.py Sat Jun 05 18:49:39 2010 +0200 > ++++ b/tests/test_autodoc.py Tue Jun 08 18:49:00 2010 -0700 > +@@ -282,6 +282,17 @@ > + assert process('function', 'f', f) == ['second line', ''] > + app.disconnect(lid) > + > ++ lid = app.connect('autodoc-process-docstring', between('---', > ['function'], exclude=True)) > ++ def f(): > ++ """ > ++ first line > ++ --- > ++ second line > ++ --- > ++ third line > ++ """ > ++ assert process('function', 'f', f) == ['first line', 'third > line', ''] > ++ app.disconnect(lid) > + > + def test_new_documenter(): > + class MyDocumenter(ModuleLevelDocumenter): > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) iEYEARECAAYFAkwTszkACgkQN9GcIYhpnLDOmgCfQWIdWy94UVb0OHA0eD1Ul01n pXsAn3Sz7tGVQjPw05NoJPllP3kr8E5i =85rg -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "sphinx-dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sphinx-dev?hl=en.
