[svn r64027] make parser.getgroup create a group if it doesn't exist

--HG--
branch : trunk
This commit is contained in:
hpk 2009-04-13 14:54:32 +02:00
parent dfc6ac3b5a
commit 58c4366fb9
2 changed files with 8 additions and 63 deletions

View File

@ -20,9 +20,7 @@ of course all the functionality is bundled together rather than spread over a
number of modules.
Example usage, here we use the :api:`py.test.ensuretemp()` function to create
a :api:`py.path.local` object for us (which wraps a directory):
.. sourcecode:: pycon
a :api:`py.path.local` object for us (which wraps a directory)::
>>> import py
>>> temppath = py.test.ensuretemp('py.path_documentation')
@ -48,9 +46,7 @@ Both allow you to access relatively advanced features such as metadata and
versioning, and both in a way more user-friendly manner than existing other
solutions.
Some example usage of :api:`py.path.svnurl`:
.. sourcecode:: pycon
Some example usage of :api:`py.path.svnurl`::
.. >>> import py
.. >>> if not py.test.config.option.urlcheck: raise ValueError('skipchunk')
@ -63,9 +59,7 @@ Some example usage of :api:`py.path.svnurl`:
>>> time.strftime('%Y-%m-%d', time.gmtime(firstentry.date))
'2004-10-02'
Example usage of :api:`py.path.svnwc`:
.. sourcecode:: pycon
Example usage of :api:`py.path.svnwc`::
.. >>> if not py.test.config.option.urlcheck: raise ValueError('skipchunk')
>>> temp = py.test.ensuretemp('py.path_documentation')
@ -104,7 +98,7 @@ Searching `.txt` files
Search for a particular string inside all files with a .txt extension in a
specific directory.
.. sourcecode:: pycon
::
>>> dirpath = temppath.ensure('testdir', dir=True)
>>> dirpath.join('textfile1.txt').write('foo bar baz')
@ -126,9 +120,7 @@ Working with Paths
This example shows the :api:`py.path` features to deal with
filesystem paths Note that the filesystem is never touched,
all operations are performed on a string level (so the paths
don't have to exist, either):
.. sourcecode:: pycon
don't have to exist, either)::
>>> p1 = py.path.local('/foo/bar')
>>> p2 = p1.join('baz/qux')
@ -161,9 +153,7 @@ Checking path types
.......................
Now we will show a bit about the powerful 'check()' method on paths, which
allows you to check whether a file exists, what type it is, etc.:
.. sourcecode:: pycon
allows you to check whether a file exists, what type it is, etc.::
>>> file1 = temppath.join('file1')
>>> file1.check() # does it exist?
@ -187,9 +177,7 @@ Setting svn-properties
.......................
As an example of 'uncommon' methods, we'll show how to read and write
properties in an :api:`py.path.svnwc` instance:
.. sourcecode:: pycon
properties in an :api:`py.path.svnwc` instance::
.. >>> if not py.test.config.option.urlcheck: raise ValueError('skipchunk')
>>> wc.propget('foo')
@ -207,9 +195,7 @@ SVN authentication
.......................
Some uncommon functionality can also be provided as extensions, such as SVN
authentication:
.. sourcecode:: pycon
authentication::
.. >>> if not py.test.config.option.urlcheck: raise ValueError('skipchunk')
>>> auth = py.path.SvnAuth('anonymous', 'user', cache_auth=False,

View File

@ -96,47 +96,6 @@ class ReSTSyntaxTest(py.test.collect.Item):
toctree_directive.options = {'maxdepth': int, 'glob': directives.flag,
'hidden': directives.flag}
directives.register_directive('toctree', toctree_directive)
self.register_pygments()
def register_pygments(self):
# taken from pygments-main/external/rst-directive.py
try:
from pygments.formatters import HtmlFormatter
except ImportError:
def pygments_directive(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
return []
else:
# The default formatter
DEFAULT = HtmlFormatter(noclasses=True)
# Add name -> formatter pairs for every variant you want to use
VARIANTS = {
# 'linenos': HtmlFormatter(noclasses=INLINESTYLES, linenos=True),
}
from docutils import nodes
from docutils.parsers.rst import directives
from pygments import highlight
from pygments.lexers import get_lexer_by_name, TextLexer
def pygments_directive(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
try:
lexer = get_lexer_by_name(arguments[0])
except ValueError:
# no lexer found - use the text one instead of an exception
lexer = TextLexer()
# take an arbitrary option if more than one is given
formatter = options and VARIANTS[options.keys()[0]] or DEFAULT
parsed = highlight(u'\n'.join(content), lexer, formatter)
return [nodes.raw('', parsed, format='html')]
pygments_directive.arguments = (1, 0, 1)
pygments_directive.content = 1
pygments_directive.options = dict([(key, directives.flag) for key in VARIANTS])
directives.register_directive('sourcecode', pygments_directive)
def resolve_linkrole(self, name, text, check=True):
apigen_relpath = self.project.apigen_relpath