sphinx-1.2.2+dfsg.orig/0000755000000000000000000000000012304560277013407 5ustar rootrootsphinx-1.2.2+dfsg.orig/setup.cfg0000644000000000000000000000063712304560277015236 0ustar rootroot[egg_info] tag_build = tag_date = 0 tag_svn_revision = 0 [aliases] release = egg_info -RDb '' upload = upload --sign --identity=36580288 [extract_messages] mapping_file = babel.cfg output_file = sphinx/locale/sphinx.pot keywords = _ l_ lazy_gettext [update_catalog] input_file = sphinx/locale/sphinx.pot domain = sphinx output_dir = sphinx/locale/ [compile_catalog] domain = sphinx directory = sphinx/locale/ sphinx-1.2.2+dfsg.orig/PKG-INFO0000644000000000000000000000461012304560277014505 0ustar rootrootMetadata-Version: 1.1 Name: Sphinx Version: 1.2.2 Summary: Python documentation generator Home-page: http://sphinx-doc.org/ Author: Georg Brandl Author-email: georg@python.org License: BSD Download-URL: http://pypi.python.org/pypi/Sphinx Description: Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), written by Georg Brandl. It was originally created for the new Python documentation, and has excellent facilities for Python project documentation, but C/C++ is supported as well, and more languages are planned. Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils. Among its features are the following: * Output formats: HTML (including derivative formats such as HTML Help, Epub and Qt Help), plain text, manual pages and LaTeX or direct PDF output using rst2pdf * Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information * Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children * Automatic indices: general index as well as a module index * Code handling: automatic highlighting using the Pygments highlighter * Flexible HTML output using the Jinja 2 templating engine * Various extensions are available, e.g. for automatic testing of snippets and inclusion of appropriately formatted docstrings * Setuptools integration Platform: any Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Environment :: Web Environment Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Education Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 3 Classifier: Topic :: Documentation Classifier: Topic :: Text Processing Classifier: Topic :: Utilities sphinx-1.2.2+dfsg.orig/CHANGES0000644000000000000000000013011012304560245014371 0ustar rootrootRelease 1.2.2 (released Mar 2, 2014) ==================================== Bugs fixed ---------- * PR#211: When checking for existence of the :confval:`html_logo` file, check the full relative path and not the basename. * PR#212: Fix traceback with autodoc and ``__init__`` methods without docstring. * PR#213: Fix a missing import in the setup command. * #1357: Option names documented by :rst:dir:`option` are now again allowed to not start with a dash or slash, and referencing them will work correctly. * #1358: Fix handling of image paths outside of the source directory when using the "wildcard" style reference. * #1374: Fix for autosummary generating overly-long summaries if first line doesn't end with a period. * #1383: Fix Python 2.5 compatibility of sphinx-apidoc. * #1391: Actually prevent using "pngmath" and "mathjax" extensions at the same time in sphinx-quickstart. * #1386: Fix bug preventing more than one theme being added by the entry point mechanism. * #1370: Ignore "toctree" nodes in text writer, instead of raising. * #1364: Fix 'make gettext' fails when the '.. todolist::' directive is present. * #1367: Fix a change of PR#96 that break sphinx.util.docfields.Field.make_field interface/behavior for `item` argument usage. Documentation ------------- * Extended the :ref:`documentation about building extensions `. Release 1.2.1 (released Jan 19, 2014) ===================================== Bugs fixed ---------- * #1335: Fix autosummary template overloading with exclamation prefix like ``{% extends "!autosummary/class.rst" %}`` cause infinite recursive function call. This was caused by PR#181. * #1337: Fix autodoc with ``autoclass_content="both"`` uses useless ``object.__init__`` docstring when class does not have ``__init__``. This was caused by a change for #1138. * #1340: Can't search alphabetical words on the HTML quick search generated with language='ja'. * #1319: Do not crash if the :confval:`html_logo` file does not exist. * #603: Do not use the HTML-ized title for building the search index (that resulted in "literal" being found on every page with a literal in the title). * #751: Allow production lists longer than a page in LaTeX by using longtable. * #764: Always look for stopwords lowercased in JS search. * #814: autodoc: Guard against strange type objects that don't have ``__bases__``. * #932: autodoc: Do not crash if ``__doc__`` is not a string. * #933: Do not crash if an :rst:role:`option` value is malformed (contains spaces but no option name). * #908: On Python 3, handle error messages from LaTeX correctly in the pngmath extension. * #943: In autosummary, recognize "first sentences" to pull from the docstring if they contain uppercase letters. * #923: Take the entire LaTeX document into account when caching pngmath-generated images. This rebuilds them correctly when :confval:`pngmath_latex_preamble` changes. * #901: Emit a warning when using docutils' new "math" markup without a Sphinx math extension active. * #845: In code blocks, when the selected lexer fails, display line numbers nevertheless if configured. * #929: Support parsed-literal blocks in LaTeX output correctly. * #949: Update the tabulary.sty packed with Sphinx. * #1050: Add anonymous labels into ``objects.inv`` to be referenced via :mod:`~sphinx.ext.intersphinx`. * #1095: Fix print-media stylesheet being included always in the "scrolls" theme. * #1085: Fix current classname not getting set if class description has ``:noindex:`` set. * #1181: Report option errors in autodoc directives more gracefully. * #1155: Fix autodocumenting C-defined methods as attributes in Python 3. * #1233: Allow finding both Python classes and exceptions with the "class" and "exc" roles in intersphinx. * #1198: Allow "image" for the "figwidth" option of the :rst:dir:`figure` directive as documented by docutils. * #1152: Fix pycode parsing errors of Python 3 code by including two grammar versions for Python 2 and 3, and loading the appropriate version for the running Python version. * #1017: Be helpful and tell the user when the argument to :rst:dir:`option` does not match the required format. * #1345: Fix two bugs with :confval:`nitpick_ignore`; now you don't have to remove the store environment for changes to have effect. * #1072: In the JS search, fix issues searching for upper-cased words by lowercasing words before stemming. * #1299: Make behavior of the :rst:dir:`math` directive more consistent and avoid producing empty environments in LaTeX output. * #1308: Strip HTML tags from the content of "raw" nodes before feeding it to the search indexer. * #1249: Fix duplicate LaTeX page numbering for manual documents. * #1292: In the linkchecker, retry HEAD requests when denied by HTTP 405. Also make the redirect code apparent and tweak the output a bit to be more obvious. * #1285: Avoid name clashes between C domain objects and section titles. * #848: Always take the newest code in incremental rebuilds with the :mod:`sphinx.ext.viewcode` extension. * #979, #1266: Fix exclude handling in ``sphinx-apidoc``. * #1302: Fix regression in :mod:`sphinx.ext.inheritance_diagram` when documenting classes that can't be pickled. * #1316: Remove hard-coded ``font-face`` resources from epub theme. * #1329: Fix traceback with empty translation msgstr in .po files. * #1300: Fix references not working in translated documents in some instances. * #1283: Fix a bug in the detection of changed files that would try to access doctrees of deleted documents. * #1330: Fix :confval:`exclude_patterns` behavior with subdirectories in the :confval:`html_static_path`. * #1323: Fix emitting empty ``' * (len(stack) - 1)) context = { 'title': _('Overview: module code'), 'body': _('

All modules for which code is available

') + \ ''.join(html), } yield ('_modules/index', context, 'page.html') def setup(app): app.connect('doctree-read', doctree_read) app.connect('html-collect-pages', collect_pages) app.connect('missing-reference', missing_reference) #app.add_config_value('viewcode_include_modules', [], 'env') #app.add_config_value('viewcode_exclude_modules', [], 'env') sphinx-1.2.2+dfsg.orig/sphinx/ext/mathbase.py0000644000000000000000000001362712304304673017663 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.mathbase ~~~~~~~~~~~~~~~~~~~ Set up math support in source files and LaTeX/text output. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes, utils from docutils.parsers.rst import directives from sphinx.util.nodes import set_source_info from sphinx.util.compat import Directive class math(nodes.Inline, nodes.TextElement): pass class displaymath(nodes.Part, nodes.Element): pass class eqref(nodes.Inline, nodes.TextElement): pass def wrap_displaymath(math, label): parts = math.split('\n\n') ret = [] for i, part in enumerate(parts): if not part.strip(): continue if label is not None and i == 0: ret.append('\\begin{split}%s\\end{split}' % part + (label and '\\label{'+label+'}' or '')) else: ret.append('\\begin{split}%s\\end{split}\\notag' % part) if not ret: return '' return '\\begin{gather}\n' + '\\\\'.join(ret) + '\n\\end{gather}' def math_role(role, rawtext, text, lineno, inliner, options={}, content=[]): latex = utils.unescape(text, restore_backslashes=True) return [math(latex=latex)], [] def eq_role(role, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) node = eqref('(?)', '(?)', target=text) node['docname'] = inliner.document.settings.env.docname return [node], [] class MathDirective(Directive): has_content = True required_arguments = 0 optional_arguments = 1 final_argument_whitespace = True option_spec = { 'label': directives.unchanged, 'name': directives.unchanged, 'nowrap': directives.flag, } def run(self): latex = '\n'.join(self.content) if self.arguments and self.arguments[0]: latex = self.arguments[0] + '\n\n' + latex node = displaymath() node['latex'] = latex node['label'] = self.options.get('name', None) if node['label'] is None: node['label'] = self.options.get('label', None) node['nowrap'] = 'nowrap' in self.options node['docname'] = self.state.document.settings.env.docname ret = [node] set_source_info(self, node) if hasattr(self, 'src'): node.source = self.src if node['label']: tnode = nodes.target('', '', ids=['equation-' + node['label']]) self.state.document.note_explicit_target(tnode) ret.insert(0, tnode) return ret def latex_visit_math(self, node): self.body.append('\\(' + node['latex'] + '\\)') raise nodes.SkipNode def latex_visit_displaymath(self, node): if node['nowrap']: self.body.append(node['latex']) else: label = node['label'] and node['docname'] + '-' + node['label'] or None self.body.append(wrap_displaymath(node['latex'], label)) raise nodes.SkipNode def latex_visit_eqref(self, node): self.body.append('\\eqref{%s-%s}' % (node['docname'], node['target'])) raise nodes.SkipNode def text_visit_math(self, node): self.add_text(node['latex']) raise nodes.SkipNode def text_visit_displaymath(self, node): self.new_state() self.add_text(node['latex']) self.end_state() raise nodes.SkipNode def text_visit_eqref(self, node): self.add_text(node['target']) raise nodes.SkipNode def man_visit_math(self, node): self.body.append(node['latex']) raise nodes.SkipNode def man_visit_displaymath(self, node): self.visit_centered(node) def man_depart_displaymath(self, node): self.depart_centered(node) def man_visit_eqref(self, node): self.body.append(node['target']) raise nodes.SkipNode def texinfo_visit_math(self, node): self.body.append('@math{' + self.escape_arg(node['latex']) + '}') raise nodes.SkipNode def texinfo_visit_displaymath(self, node): if node.get('label'): self.add_anchor(node['label'], node) self.body.append('\n\n@example\n%s\n@end example\n\n' % self.escape_arg(node['latex'])) def texinfo_depart_displaymath(self, node): pass def texinfo_visit_eqref(self, node): self.add_xref(node['docname'] + ':' + node['target'], node['target'], node) raise nodes.SkipNode def html_visit_eqref(self, node): self.body.append('' % node['target']) def html_depart_eqref(self, node): self.body.append('') def number_equations(app, doctree, docname): num = 0 numbers = {} for node in doctree.traverse(displaymath): if node['label'] is not None: num += 1 node['number'] = num numbers[node['label']] = num else: node['number'] = None for node in doctree.traverse(eqref): if node['target'] not in numbers: continue num = '(%d)' % numbers[node['target']] node[0] = nodes.Text(num, num) def setup_math(app, htmlinlinevisitors, htmldisplayvisitors): app.add_node(math, latex=(latex_visit_math, None), text=(text_visit_math, None), man=(man_visit_math, None), texinfo=(texinfo_visit_math, None), html=htmlinlinevisitors) app.add_node(displaymath, latex=(latex_visit_displaymath, None), text=(text_visit_displaymath, None), man=(man_visit_displaymath, man_depart_displaymath), texinfo=(texinfo_visit_displaymath, texinfo_depart_displaymath), html=htmldisplayvisitors) app.add_node(eqref, latex=(latex_visit_eqref, None), text=(text_visit_eqref, None), man=(man_visit_eqref, None), texinfo=(texinfo_visit_eqref, None), html=(html_visit_eqref, html_depart_eqref)) app.add_role('math', math_role) app.add_role('eq', eq_role) app.add_directive('math', MathDirective) app.connect('doctree-resolved', number_equations) sphinx-1.2.2+dfsg.orig/sphinx/ext/linkcode.py0000644000000000000000000000413112304304673017655 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.linkcode ~~~~~~~~~~~~~~~~~~~ Add external links to module code in Python object descriptions. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx import addnodes from sphinx.locale import _ from sphinx.errors import SphinxError class LinkcodeError(SphinxError): category = "linkcode error" def doctree_read(app, doctree): env = app.builder.env resolve_target = getattr(env.config, 'linkcode_resolve', None) if not callable(env.config.linkcode_resolve): raise LinkcodeError( "Function `linkcode_resolve` is not given in conf.py") domain_keys = dict( py=['module', 'fullname'], c=['names'], cpp=['names'], js=['object', 'fullname'], ) for objnode in doctree.traverse(addnodes.desc): domain = objnode.get('domain') uris = set() for signode in objnode: if not isinstance(signode, addnodes.desc_signature): continue # Convert signode to a specified format info = {} for key in domain_keys.get(domain, []): value = signode.get(key) if not value: value = '' info[key] = value if not info: continue # Call user code to resolve the link uri = resolve_target(domain, info) if not uri: # no source continue if uri in uris or not uri: # only one link per name, please continue uris.add(uri) onlynode = addnodes.only(expr='html') onlynode += nodes.reference('', '', internal=False, refuri=uri) onlynode[0] += nodes.inline('', _('[source]'), classes=['viewcode-link']) signode += onlynode def setup(app): app.connect('doctree-read', doctree_read) app.add_config_value('linkcode_resolve', None, '') sphinx-1.2.2+dfsg.orig/sphinx/ext/oldcmarkup.py0000644000000000000000000000443112304557741020237 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.oldcmarkup ~~~~~~~~~~~~~~~~~~~~~ Extension for compatibility with old C markup (directives and roles). :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils.parsers.rst import directives from sphinx.util.compat import Directive _warned_oldcmarkup = False WARNING_MSG = 'using old C markup; please migrate to new-style markup ' \ '(e.g. c:function instead of cfunction), see ' \ 'http://sphinx-doc.org/domains.html' class OldCDirective(Directive): has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = { 'noindex': directives.flag, 'module': directives.unchanged, } def run(self): env = self.state.document.settings.env if not env.app._oldcmarkup_warned: self.state_machine.reporter.warning(WARNING_MSG, line=self.lineno) env.app._oldcmarkup_warned = True newname = 'c:' + self.name[1:] newdir = env.lookup_domain_element('directive', newname)[0] return newdir(newname, self.arguments, self.options, self.content, self.lineno, self.content_offset, self.block_text, self.state, self.state_machine).run() def old_crole(typ, rawtext, text, lineno, inliner, options={}, content=[]): env = inliner.document.settings.env if not typ: typ = env.config.default_role if not env.app._oldcmarkup_warned: inliner.reporter.warning(WARNING_MSG, line=lineno) env.app._oldcmarkup_warned = True newtyp = 'c:' + typ[1:] newrole = env.lookup_domain_element('role', newtyp)[0] return newrole(newtyp, rawtext, text, lineno, inliner, options, content) def setup(app): app._oldcmarkup_warned = False app.add_directive('cfunction', OldCDirective) app.add_directive('cmember', OldCDirective) app.add_directive('cmacro', OldCDirective) app.add_directive('ctype', OldCDirective) app.add_directive('cvar', OldCDirective) app.add_role('cdata', old_crole) app.add_role('cfunc', old_crole) app.add_role('cmacro', old_crole) app.add_role('ctype', old_crole) app.add_role('cmember', old_crole) sphinx-1.2.2+dfsg.orig/sphinx/ext/mathjax.py0000644000000000000000000000525312304304673017527 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.mathjax ~~~~~~~~~~~~~~~~~~ Allow `MathJax `_ to be used to display math in Sphinx's HTML writer -- requires the MathJax JavaScript library on your webserver/computer. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx.application import ExtensionError from sphinx.ext.mathbase import setup_math as mathbase_setup def html_visit_math(self, node): self.body.append(self.starttag(node, 'span', '', CLASS='math')) self.body.append(self.builder.config.mathjax_inline[0] + self.encode(node['latex']) + self.builder.config.mathjax_inline[1] + '') raise nodes.SkipNode def html_visit_displaymath(self, node): self.body.append(self.starttag(node, 'div', CLASS='math')) if node['nowrap']: self.body.append(self.builder.config.mathjax_display[0] + node['latex'] + self.builder.config.mathjax_display[1]) self.body.append('') raise nodes.SkipNode parts = [prt for prt in node['latex'].split('\n\n') if prt.strip()] for i, part in enumerate(parts): part = self.encode(part) if i == 0: # necessary to e.g. set the id property correctly if node['number']: self.body.append('(%s)' % node['number']) if '&' in part or '\\\\' in part: self.body.append(self.builder.config.mathjax_display[0] + '\\begin{split}' + part + '\\end{split}' + self.builder.config.mathjax_display[1]) else: self.body.append(self.builder.config.mathjax_display[0] + part + self.builder.config.mathjax_display[1]) self.body.append('\n') raise nodes.SkipNode def builder_inited(app): if not app.config.mathjax_path: raise ExtensionError('mathjax_path config value must be set for the ' 'mathjax extension to work') app.add_javascript(app.config.mathjax_path) def setup(app): mathbase_setup(app, (html_visit_math, None), (html_visit_displaymath, None)) app.add_config_value('mathjax_path', 'http://cdn.mathjax.org/mathjax/latest/MathJax.js?' 'config=TeX-AMS-MML_HTMLorMML', False) app.add_config_value('mathjax_inline', [r'\(', r'\)'], 'html') app.add_config_value('mathjax_display', [r'\[', r'\]'], 'html') app.connect('builder-inited', builder_inited) sphinx-1.2.2+dfsg.orig/sphinx/ext/todo.py0000644000000000000000000001327212304557741017046 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.todo ~~~~~~~~~~~~~~~ Allow todos to be inserted into your documentation. Inclusion of todos can be switched of by a configuration variable. The todolist directive collects all todos of your project and lists them along with a backlink to the original location. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx.locale import _ from sphinx.environment import NoUri from sphinx.util.nodes import set_source_info from sphinx.util.compat import Directive, make_admonition class todo_node(nodes.Admonition, nodes.Element): pass class todolist(nodes.General, nodes.Element): pass class Todo(Directive): """ A todo entry, displayed (if configured) in the form of an admonition. """ has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = {} def run(self): env = self.state.document.settings.env targetid = 'index-%s' % env.new_serialno('index') targetnode = nodes.target('', '', ids=[targetid]) ad = make_admonition(todo_node, self.name, [_('Todo')], self.options, self.content, self.lineno, self.content_offset, self.block_text, self.state, self.state_machine) set_source_info(self, ad[0]) return [targetnode] + ad def process_todos(app, doctree): # collect all todos in the environment # this is not done in the directive itself because it some transformations # must have already been run, e.g. substitutions env = app.builder.env if not hasattr(env, 'todo_all_todos'): env.todo_all_todos = [] for node in doctree.traverse(todo_node): try: targetnode = node.parent[node.parent.index(node) - 1] if not isinstance(targetnode, nodes.target): raise IndexError except IndexError: targetnode = None newnode = node.deepcopy() del newnode['ids'] env.todo_all_todos.append({ 'docname': env.docname, 'source': node.source or env.doc2path(env.docname), 'lineno': node.line, 'todo': newnode, 'target': targetnode, }) class TodoList(Directive): """ A list of all todo entries. """ has_content = False required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = {} def run(self): # Simply insert an empty todolist node which will be replaced later # when process_todo_nodes is called return [todolist('')] def process_todo_nodes(app, doctree, fromdocname): if not app.config['todo_include_todos']: for node in doctree.traverse(todo_node): node.parent.remove(node) # Replace all todolist nodes with a list of the collected todos. # Augment each todo with a backlink to the original location. env = app.builder.env if not hasattr(env, 'todo_all_todos'): env.todo_all_todos = [] for node in doctree.traverse(todolist): if not app.config['todo_include_todos']: node.replace_self([]) continue content = [] for todo_info in env.todo_all_todos: para = nodes.paragraph(classes=['todo-source']) description = _('(The <> is located in ' ' %s, line %d.)') % \ (todo_info['source'], todo_info['lineno']) desc1 = description[:description.find('<<')] desc2 = description[description.find('>>')+2:] para += nodes.Text(desc1, desc1) # Create a reference newnode = nodes.reference('', '', internal=True) innernode = nodes.emphasis(_('original entry'), _('original entry')) try: newnode['refuri'] = app.builder.get_relative_uri( fromdocname, todo_info['docname']) newnode['refuri'] += '#' + todo_info['target']['refid'] except NoUri: # ignore if no URI can be determined, e.g. for LaTeX output pass newnode.append(innernode) para += newnode para += nodes.Text(desc2, desc2) # (Recursively) resolve references in the todo content todo_entry = todo_info['todo'] env.resolve_references(todo_entry, todo_info['docname'], app.builder) # Insert into the todolist content.append(todo_entry) content.append(para) node.replace_self(content) def purge_todos(app, env, docname): if not hasattr(env, 'todo_all_todos'): return env.todo_all_todos = [todo for todo in env.todo_all_todos if todo['docname'] != docname] def visit_todo_node(self, node): self.visit_admonition(node) def depart_todo_node(self, node): self.depart_admonition(node) def setup(app): app.add_config_value('todo_include_todos', False, 'html') app.add_node(todolist) app.add_node(todo_node, html=(visit_todo_node, depart_todo_node), latex=(visit_todo_node, depart_todo_node), text=(visit_todo_node, depart_todo_node), man=(visit_todo_node, depart_todo_node), texinfo=(visit_todo_node, depart_todo_node)) app.add_directive('todo', Todo) app.add_directive('todolist', TodoList) app.connect('doctree-read', process_todos) app.connect('doctree-resolved', process_todo_nodes) app.connect('env-purge-doc', purge_todos) sphinx-1.2.2+dfsg.orig/sphinx/ext/doctest.py0000644000000000000000000004020112304557741017536 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.doctest ~~~~~~~~~~~~~~~~~~ Mimic doctest by automatically executing code snippets and checking their results. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys import time import codecs import StringIO from os import path # circumvent relative import doctest = __import__('doctest') from docutils import nodes from docutils.parsers.rst import directives from sphinx.builders import Builder from sphinx.util import force_decode from sphinx.util.nodes import set_source_info from sphinx.util.compat import Directive from sphinx.util.console import bold from sphinx.util.pycompat import bytes blankline_re = re.compile(r'^\s*', re.MULTILINE) doctestopt_re = re.compile(r'#\s*doctest:.+$', re.MULTILINE) # set up the necessary directives class TestDirective(Directive): """ Base class for doctest-related directives. """ has_content = True required_arguments = 0 optional_arguments = 1 final_argument_whitespace = True def run(self): # use ordinary docutils nodes for test code: they get special attributes # so that our builder recognizes them, and the other builders are happy. code = '\n'.join(self.content) test = None if self.name == 'doctest': if '' in code: # convert s to ordinary blank lines for presentation test = code code = blankline_re.sub('', code) if doctestopt_re.search(code): if not test: test = code code = doctestopt_re.sub('', code) nodetype = nodes.literal_block if self.name in ('testsetup', 'testcleanup') or 'hide' in self.options: nodetype = nodes.comment if self.arguments: groups = [x.strip() for x in self.arguments[0].split(',')] else: groups = ['default'] node = nodetype(code, code, testnodetype=self.name, groups=groups) set_source_info(self, node) if test is not None: # only save if it differs from code node['test'] = test if self.name == 'testoutput': # don't try to highlight output node['language'] = 'none' node['options'] = {} if self.name in ('doctest', 'testoutput') and 'options' in self.options: # parse doctest-like output comparison flags option_strings = self.options['options'].replace(',', ' ').split() for option in option_strings: if (option[0] not in '+-' or option[1:] not in doctest.OPTIONFLAGS_BY_NAME): # XXX warn? continue flag = doctest.OPTIONFLAGS_BY_NAME[option[1:]] node['options'][flag] = (option[0] == '+') return [node] class TestsetupDirective(TestDirective): option_spec = {} class TestcleanupDirective(TestDirective): option_spec = {} class DoctestDirective(TestDirective): option_spec = { 'hide': directives.flag, 'options': directives.unchanged, } class TestcodeDirective(TestDirective): option_spec = { 'hide': directives.flag, } class TestoutputDirective(TestDirective): option_spec = { 'hide': directives.flag, 'options': directives.unchanged, } parser = doctest.DocTestParser() # helper classes class TestGroup(object): def __init__(self, name): self.name = name self.setup = [] self.tests = [] self.cleanup = [] def add_code(self, code, prepend=False): if code.type == 'testsetup': if prepend: self.setup.insert(0, code) else: self.setup.append(code) elif code.type == 'testcleanup': self.cleanup.append(code) elif code.type == 'doctest': self.tests.append([code]) elif code.type == 'testcode': self.tests.append([code, None]) elif code.type == 'testoutput': if self.tests and len(self.tests[-1]) == 2: self.tests[-1][1] = code else: raise RuntimeError('invalid TestCode type') def __repr__(self): return 'TestGroup(name=%r, setup=%r, cleanup=%r, tests=%r)' % ( self.name, self.setup, self.cleanup, self.tests) class TestCode(object): def __init__(self, code, type, lineno, options=None): self.code = code self.type = type self.lineno = lineno self.options = options or {} def __repr__(self): return 'TestCode(%r, %r, %r, options=%r)' % ( self.code, self.type, self.lineno, self.options) class SphinxDocTestRunner(doctest.DocTestRunner): def summarize(self, out, verbose=None): string_io = StringIO.StringIO() old_stdout = sys.stdout sys.stdout = string_io try: res = doctest.DocTestRunner.summarize(self, verbose) finally: sys.stdout = old_stdout out(string_io.getvalue()) return res def _DocTestRunner__patched_linecache_getlines(self, filename, module_globals=None): # this is overridden from DocTestRunner adding the try-except below m = self._DocTestRunner__LINECACHE_FILENAME_RE.match(filename) if m and m.group('name') == self.test.name: try: example = self.test.examples[int(m.group('examplenum'))] # because we compile multiple doctest blocks with the same name # (viz. the group name) this might, for outer stack frames in a # traceback, get the wrong test which might not have enough examples except IndexError: pass else: return example.source.splitlines(True) return self.save_linecache_getlines(filename, module_globals) # the new builder -- use sphinx-build.py -b doctest to run class DocTestBuilder(Builder): """ Runs test snippets in the documentation. """ name = 'doctest' def init(self): # default options self.opt = doctest.DONT_ACCEPT_TRUE_FOR_1 | doctest.ELLIPSIS | \ doctest.IGNORE_EXCEPTION_DETAIL # HACK HACK HACK # doctest compiles its snippets with type 'single'. That is nice # for doctest examples but unusable for multi-statement code such # as setup code -- to be able to use doctest error reporting with # that code nevertheless, we monkey-patch the "compile" it uses. doctest.compile = self.compile sys.path[0:0] = self.config.doctest_path self.type = 'single' self.total_failures = 0 self.total_tries = 0 self.setup_failures = 0 self.setup_tries = 0 self.cleanup_failures = 0 self.cleanup_tries = 0 date = time.strftime('%Y-%m-%d %H:%M:%S') self.outfile = codecs.open(path.join(self.outdir, 'output.txt'), 'w', encoding='utf-8') self.outfile.write('''\ Results of doctest builder run on %s ==================================%s ''' % (date, '='*len(date))) def _out(self, text): self.info(text, nonl=True) self.outfile.write(text) def _warn_out(self, text): self.info(text, nonl=True) if self.app.quiet: self.warn(text) if isinstance(text, bytes): text = force_decode(text, None) self.outfile.write(text) def get_target_uri(self, docname, typ=None): return '' def get_outdated_docs(self): return self.env.found_docs def finish(self): # write executive summary def s(v): return v != 1 and 's' or '' self._out(''' Doctest summary =============== %5d test%s %5d failure%s in tests %5d failure%s in setup code %5d failure%s in cleanup code ''' % (self.total_tries, s(self.total_tries), self.total_failures, s(self.total_failures), self.setup_failures, s(self.setup_failures), self.cleanup_failures, s(self.cleanup_failures))) self.outfile.close() if self.total_failures or self.setup_failures or self.cleanup_failures: self.app.statuscode = 1 def write(self, build_docnames, updated_docnames, method='update'): if build_docnames is None: build_docnames = sorted(self.env.all_docs) self.info(bold('running tests...')) for docname in build_docnames: # no need to resolve the doctree doctree = self.env.get_doctree(docname) self.test_doc(docname, doctree) def test_doc(self, docname, doctree): groups = {} add_to_all_groups = [] self.setup_runner = SphinxDocTestRunner(verbose=False, optionflags=self.opt) self.test_runner = SphinxDocTestRunner(verbose=False, optionflags=self.opt) self.cleanup_runner = SphinxDocTestRunner(verbose=False, optionflags=self.opt) self.test_runner._fakeout = self.setup_runner._fakeout self.cleanup_runner._fakeout = self.setup_runner._fakeout if self.config.doctest_test_doctest_blocks: def condition(node): return (isinstance(node, (nodes.literal_block, nodes.comment)) and node.has_key('testnodetype')) or \ isinstance(node, nodes.doctest_block) else: def condition(node): return isinstance(node, (nodes.literal_block, nodes.comment)) \ and node.has_key('testnodetype') for node in doctree.traverse(condition): source = node.has_key('test') and node['test'] or node.astext() if not source: self.warn('no code/output in %s block at %s:%s' % (node.get('testnodetype', 'doctest'), self.env.doc2path(docname), node.line)) code = TestCode(source, type=node.get('testnodetype', 'doctest'), lineno=node.line, options=node.get('options')) node_groups = node.get('groups', ['default']) if '*' in node_groups: add_to_all_groups.append(code) continue for groupname in node_groups: if groupname not in groups: groups[groupname] = TestGroup(groupname) groups[groupname].add_code(code) for code in add_to_all_groups: for group in groups.itervalues(): group.add_code(code) if self.config.doctest_global_setup: code = TestCode(self.config.doctest_global_setup, 'testsetup', lineno=0) for group in groups.itervalues(): group.add_code(code, prepend=True) if self.config.doctest_global_cleanup: code = TestCode(self.config.doctest_global_cleanup, 'testcleanup', lineno=0) for group in groups.itervalues(): group.add_code(code) if not groups: return self._out('\nDocument: %s\n----------%s\n' % (docname, '-'*len(docname))) for group in groups.itervalues(): self.test_group(group, self.env.doc2path(docname, base=None)) # Separately count results from setup code res_f, res_t = self.setup_runner.summarize(self._out, verbose=False) self.setup_failures += res_f self.setup_tries += res_t if self.test_runner.tries: res_f, res_t = self.test_runner.summarize(self._out, verbose=True) self.total_failures += res_f self.total_tries += res_t if self.cleanup_runner.tries: res_f, res_t = self.cleanup_runner.summarize(self._out, verbose=True) self.cleanup_failures += res_f self.cleanup_tries += res_t def compile(self, code, name, type, flags, dont_inherit): return compile(code, name, self.type, flags, dont_inherit) def test_group(self, group, filename): ns = {} def run_setup_cleanup(runner, testcodes, what): examples = [] for testcode in testcodes: examples.append(doctest.Example(testcode.code, '', lineno=testcode.lineno)) if not examples: return True # simulate a doctest with the code sim_doctest = doctest.DocTest(examples, {}, '%s (%s code)' % (group.name, what), filename, 0, None) sim_doctest.globs = ns old_f = runner.failures self.type = 'exec' # the snippet may contain multiple statements runner.run(sim_doctest, out=self._warn_out, clear_globs=False) if runner.failures > old_f: return False return True # run the setup code if not run_setup_cleanup(self.setup_runner, group.setup, 'setup'): # if setup failed, don't run the group return # run the tests for code in group.tests: if len(code) == 1: # ordinary doctests (code/output interleaved) try: test = parser.get_doctest(code[0].code, {}, group.name, filename, code[0].lineno) except Exception: self.warn('ignoring invalid doctest code: %r' % code[0].code, '%s:%s' % (filename, code[0].lineno)) continue if not test.examples: continue for example in test.examples: # apply directive's comparison options new_opt = code[0].options.copy() new_opt.update(example.options) example.options = new_opt self.type = 'single' # as for ordinary doctests else: # testcode and output separate output = code[1] and code[1].code or '' options = code[1] and code[1].options or {} # disable processing as it is not needed options[doctest.DONT_ACCEPT_BLANKLINE] = True # find out if we're testing an exception m = parser._EXCEPTION_RE.match(output) if m: exc_msg = m.group('msg') else: exc_msg = None example = doctest.Example(code[0].code, output, exc_msg=exc_msg, lineno=code[0].lineno, options=options) test = doctest.DocTest([example], {}, group.name, filename, code[0].lineno, None) self.type = 'exec' # multiple statements again # DocTest.__init__ copies the globs namespace, which we don't want test.globs = ns # also don't clear the globs namespace after running the doctest self.test_runner.run(test, out=self._warn_out, clear_globs=False) # run the cleanup run_setup_cleanup(self.cleanup_runner, group.cleanup, 'cleanup') def setup(app): app.add_directive('testsetup', TestsetupDirective) app.add_directive('testcleanup', TestcleanupDirective) app.add_directive('doctest', DoctestDirective) app.add_directive('testcode', TestcodeDirective) app.add_directive('testoutput', TestoutputDirective) app.add_builder(DocTestBuilder) # this config value adds to sys.path app.add_config_value('doctest_path', [], False) app.add_config_value('doctest_test_doctest_blocks', 'default', False) app.add_config_value('doctest_global_setup', '', False) app.add_config_value('doctest_global_cleanup', '', False) sphinx-1.2.2+dfsg.orig/sphinx/ext/coverage.py0000644000000000000000000002307412304557741017675 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.coverage ~~~~~~~~~~~~~~~~~~~ Check Python modules and C API for coverage. Mostly written by Josip Dzolonga for the Google Highly Open Participation contest. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import glob import inspect import cPickle as pickle from os import path from sphinx.builders import Builder # utility def write_header(f, text, char='-'): f.write(text + '\n') f.write(char * len(text) + '\n') def compile_regex_list(name, exps, warnfunc): lst = [] for exp in exps: try: lst.append(re.compile(exp)) except Exception: warnfunc('invalid regex %r in %s' % (exp, name)) return lst class CoverageBuilder(Builder): name = 'coverage' def init(self): self.c_sourcefiles = [] for pattern in self.config.coverage_c_path: pattern = path.join(self.srcdir, pattern) self.c_sourcefiles.extend(glob.glob(pattern)) self.c_regexes = [] for (name, exp) in self.config.coverage_c_regexes.items(): try: self.c_regexes.append((name, re.compile(exp))) except Exception: self.warn('invalid regex %r in coverage_c_regexes' % exp) self.c_ignorexps = {} for (name, exps) in self.config.coverage_ignore_c_items.iteritems(): self.c_ignorexps[name] = compile_regex_list( 'coverage_ignore_c_items', exps, self.warn) self.mod_ignorexps = compile_regex_list( 'coverage_ignore_modules', self.config.coverage_ignore_modules, self.warn) self.cls_ignorexps = compile_regex_list( 'coverage_ignore_classes', self.config.coverage_ignore_classes, self.warn) self.fun_ignorexps = compile_regex_list( 'coverage_ignore_functions', self.config.coverage_ignore_functions, self.warn) def get_outdated_docs(self): return 'coverage overview' def write(self, *ignored): self.py_undoc = {} self.build_py_coverage() self.write_py_coverage() self.c_undoc = {} self.build_c_coverage() self.write_c_coverage() def build_c_coverage(self): # Fetch all the info from the header files c_objects = self.env.domaindata['c']['objects'] for filename in self.c_sourcefiles: undoc = [] f = open(filename, 'r') try: for line in f: for key, regex in self.c_regexes: match = regex.match(line) if match: name = match.groups()[0] if name not in c_objects: for exp in self.c_ignorexps.get(key, ()): if exp.match(name): break else: undoc.append((key, name)) continue finally: f.close() if undoc: self.c_undoc[filename] = undoc def write_c_coverage(self): output_file = path.join(self.outdir, 'c.txt') op = open(output_file, 'w') try: if self.config.coverage_write_headline: write_header(op, 'Undocumented C API elements', '=') op.write('\n') for filename, undoc in self.c_undoc.iteritems(): write_header(op, filename) for typ, name in undoc: op.write(' * %-50s [%9s]\n' % (name, typ)) op.write('\n') finally: op.close() def build_py_coverage(self): objects = self.env.domaindata['py']['objects'] modules = self.env.domaindata['py']['modules'] skip_undoc = self.config.coverage_skip_undoc_in_source for mod_name in modules: ignore = False for exp in self.mod_ignorexps: if exp.match(mod_name): ignore = True break if ignore: continue try: mod = __import__(mod_name, fromlist=['foo']) except ImportError, err: self.warn('module %s could not be imported: %s' % (mod_name, err)) self.py_undoc[mod_name] = {'error': err} continue funcs = [] classes = {} for name, obj in inspect.getmembers(mod): # diverse module attributes are ignored: if name[0] == '_': # begins in an underscore continue if not hasattr(obj, '__module__'): # cannot be attributed to a module continue if obj.__module__ != mod_name: # is not defined in this module continue full_name = '%s.%s' % (mod_name, name) if inspect.isfunction(obj): if full_name not in objects: for exp in self.fun_ignorexps: if exp.match(name): break else: if skip_undoc and not obj.__doc__: continue funcs.append(name) elif inspect.isclass(obj): for exp in self.cls_ignorexps: if exp.match(name): break else: if full_name not in objects: if skip_undoc and not obj.__doc__: continue # not documented at all classes[name] = [] continue attrs = [] for attr_name in dir(obj): if attr_name not in obj.__dict__: continue attr = getattr(obj, attr_name) if not (inspect.ismethod(attr) or inspect.isfunction(attr)): continue if attr_name[0] == '_': # starts with an underscore, ignore it continue if skip_undoc and not attr.__doc__: # skip methods without docstring if wished continue full_attr_name = '%s.%s' % (full_name, attr_name) if full_attr_name not in objects: attrs.append(attr_name) if attrs: # some attributes are undocumented classes[name] = attrs self.py_undoc[mod_name] = {'funcs': funcs, 'classes': classes} def write_py_coverage(self): output_file = path.join(self.outdir, 'python.txt') op = open(output_file, 'w') failed = [] try: if self.config.coverage_write_headline: write_header(op, 'Undocumented Python objects', '=') keys = self.py_undoc.keys() keys.sort() for name in keys: undoc = self.py_undoc[name] if 'error' in undoc: failed.append((name, undoc['error'])) else: if not undoc['classes'] and not undoc['funcs']: continue write_header(op, name) if undoc['funcs']: op.write('Functions:\n') op.writelines(' * %s\n' % x for x in undoc['funcs']) op.write('\n') if undoc['classes']: op.write('Classes:\n') for name, methods in sorted( undoc['classes'].iteritems()): if not methods: op.write(' * %s\n' % name) else: op.write(' * %s -- missing methods:\n\n' % name) op.writelines(' - %s\n' % x for x in methods) op.write('\n') if failed: write_header(op, 'Modules that failed to import') op.writelines(' * %s -- %s\n' % x for x in failed) finally: op.close() def finish(self): # dump the coverage data to a pickle file too picklepath = path.join(self.outdir, 'undoc.pickle') dumpfile = open(picklepath, 'wb') try: pickle.dump((self.py_undoc, self.c_undoc), dumpfile) finally: dumpfile.close() def setup(app): app.add_builder(CoverageBuilder) app.add_config_value('coverage_ignore_modules', [], False) app.add_config_value('coverage_ignore_functions', [], False) app.add_config_value('coverage_ignore_classes', [], False) app.add_config_value('coverage_c_path', [], False) app.add_config_value('coverage_c_regexes', {}, False) app.add_config_value('coverage_ignore_c_items', {}, False) app.add_config_value('coverage_write_headline', True, False) app.add_config_value('coverage_skip_undoc_in_source', False, False) sphinx-1.2.2+dfsg.orig/sphinx/ext/pngmath.py0000644000000000000000000002112612304557741017534 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.pngmath ~~~~~~~~~~~~~~~~~~ Render math in HTML via dvipng. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import codecs import shutil import tempfile import posixpath from os import path, getcwd, chdir from subprocess import Popen, PIPE try: from hashlib import sha1 as sha except ImportError: from sha import sha from docutils import nodes from sphinx.errors import SphinxError from sphinx.util.png import read_png_depth, write_png_depth from sphinx.util.osutil import ensuredir, ENOENT from sphinx.util.pycompat import b, sys_encoding from sphinx.ext.mathbase import setup_math as mathbase_setup, wrap_displaymath class MathExtError(SphinxError): category = 'Math extension error' def __init__(self, msg, stderr=None, stdout=None): if stderr: msg += '\n[stderr]\n' + stderr.decode(sys_encoding, 'replace') if stdout: msg += '\n[stdout]\n' + stdout.decode(sys_encoding, 'replace') SphinxError.__init__(self, msg) DOC_HEAD = r''' \documentclass[12pt]{article} \usepackage[utf8x]{inputenc} \usepackage{amsmath} \usepackage{amsthm} \usepackage{amssymb} \usepackage{amsfonts} \usepackage{bm} \pagestyle{empty} ''' DOC_BODY = r''' \begin{document} %s \end{document} ''' DOC_BODY_PREVIEW = r''' \usepackage[active]{preview} \begin{document} \begin{preview} %s \end{preview} \end{document} ''' depth_re = re.compile(b(r'\[\d+ depth=(-?\d+)\]')) def render_math(self, math): """Render the LaTeX math expression *math* using latex and dvipng. Return the filename relative to the built document and the "depth", that is, the distance of image bottom and baseline in pixels, if the option to use preview_latex is switched on. Error handling may seem strange, but follows a pattern: if LaTeX or dvipng aren't available, only a warning is generated (since that enables people on machines without these programs to at least build the rest of the docs successfully). If the programs are there, however, they may not fail since that indicates a problem in the math source. """ use_preview = self.builder.config.pngmath_use_preview latex = DOC_HEAD + self.builder.config.pngmath_latex_preamble latex += (use_preview and DOC_BODY_PREVIEW or DOC_BODY) % math shasum = "%s.png" % sha(latex.encode('utf-8')).hexdigest() relfn = posixpath.join(self.builder.imgpath, 'math', shasum) outfn = path.join(self.builder.outdir, '_images', 'math', shasum) if path.isfile(outfn): depth = read_png_depth(outfn) return relfn, depth # if latex or dvipng has failed once, don't bother to try again if hasattr(self.builder, '_mathpng_warned_latex') or \ hasattr(self.builder, '_mathpng_warned_dvipng'): return None, None # use only one tempdir per build -- the use of a directory is cleaner # than using temporary files, since we can clean up everything at once # just removing the whole directory (see cleanup_tempdir) if not hasattr(self.builder, '_mathpng_tempdir'): tempdir = self.builder._mathpng_tempdir = tempfile.mkdtemp() else: tempdir = self.builder._mathpng_tempdir tf = codecs.open(path.join(tempdir, 'math.tex'), 'w', 'utf-8') tf.write(latex) tf.close() # build latex command; old versions of latex don't have the # --output-directory option, so we have to manually chdir to the # temp dir to run it. ltx_args = [self.builder.config.pngmath_latex, '--interaction=nonstopmode'] # add custom args from the config file ltx_args.extend(self.builder.config.pngmath_latex_args) ltx_args.append('math.tex') curdir = getcwd() chdir(tempdir) try: try: p = Popen(ltx_args, stdout=PIPE, stderr=PIPE) except OSError, err: if err.errno != ENOENT: # No such file or directory raise self.builder.warn('LaTeX command %r cannot be run (needed for math ' 'display), check the pngmath_latex setting' % self.builder.config.pngmath_latex) self.builder._mathpng_warned_latex = True return None, None finally: chdir(curdir) stdout, stderr = p.communicate() if p.returncode != 0: raise MathExtError('latex exited with error', stderr, stdout) ensuredir(path.dirname(outfn)) # use some standard dvipng arguments dvipng_args = [self.builder.config.pngmath_dvipng] dvipng_args += ['-o', outfn, '-T', 'tight', '-z9'] # add custom ones from config value dvipng_args.extend(self.builder.config.pngmath_dvipng_args) if use_preview: dvipng_args.append('--depth') # last, the input file name dvipng_args.append(path.join(tempdir, 'math.dvi')) try: p = Popen(dvipng_args, stdout=PIPE, stderr=PIPE) except OSError, err: if err.errno != ENOENT: # No such file or directory raise self.builder.warn('dvipng command %r cannot be run (needed for math ' 'display), check the pngmath_dvipng setting' % self.builder.config.pngmath_dvipng) self.builder._mathpng_warned_dvipng = True return None, None stdout, stderr = p.communicate() if p.returncode != 0: raise MathExtError('dvipng exited with error', stderr, stdout) depth = None if use_preview: for line in stdout.splitlines(): m = depth_re.match(line) if m: depth = int(m.group(1)) write_png_depth(outfn, depth) break return relfn, depth def cleanup_tempdir(app, exc): if exc: return if not hasattr(app.builder, '_mathpng_tempdir'): return try: shutil.rmtree(app.builder._mathpng_tempdir) except Exception: pass def get_tooltip(self, node): if self.builder.config.pngmath_add_tooltips: return ' alt="%s"' % self.encode(node['latex']).strip() return '' def html_visit_math(self, node): try: fname, depth = render_math(self, '$'+node['latex']+'$') except MathExtError, exc: msg = unicode(exc) sm = nodes.system_message(msg, type='WARNING', level=2, backrefs=[], source=node['latex']) sm.walkabout(self) self.builder.warn('display latex %r: ' % node['latex'] + msg) raise nodes.SkipNode if fname is None: # something failed -- use text-only as a bad substitute self.body.append('%s' % self.encode(node['latex']).strip()) else: c = ('') raise nodes.SkipNode def html_visit_displaymath(self, node): if node['nowrap']: latex = node['latex'] else: latex = wrap_displaymath(node['latex'], None) try: fname, depth = render_math(self, latex) except MathExtError, exc: sm = nodes.system_message(str(exc), type='WARNING', level=2, backrefs=[], source=node['latex']) sm.walkabout(self) self.builder.warn('inline latex %r: ' % node['latex'] + str(exc)) raise nodes.SkipNode self.body.append(self.starttag(node, 'div', CLASS='math')) self.body.append('

') if node['number']: self.body.append('(%s)' % node['number']) if fname is None: # something failed -- use text-only as a bad substitute self.body.append('%s

\n' % self.encode(node['latex']).strip()) else: self.body.append(('

\n') raise nodes.SkipNode def setup(app): mathbase_setup(app, (html_visit_math, None), (html_visit_displaymath, None)) app.add_config_value('pngmath_dvipng', 'dvipng', 'html') app.add_config_value('pngmath_latex', 'latex', 'html') app.add_config_value('pngmath_use_preview', False, 'html') app.add_config_value('pngmath_dvipng_args', ['-gamma', '1.5', '-D', '110', '-bg', 'Transparent'], 'html') app.add_config_value('pngmath_latex_args', [], 'html') app.add_config_value('pngmath_latex_preamble', '', 'html') app.add_config_value('pngmath_add_tooltips', True, 'html') app.connect('build-finished', cleanup_tempdir) sphinx-1.2.2+dfsg.orig/sphinx/ext/ifconfig.py0000644000000000000000000000434112304557741017662 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.ifconfig ~~~~~~~~~~~~~~~~~~~ Provides the ``ifconfig`` directive that allows to write documentation that is included depending on configuration variables. Usage:: .. ifconfig:: releaselevel in ('alpha', 'beta', 'rc') This stuff is only included in the built docs for unstable versions. The argument for ``ifconfig`` is a plain Python expression, evaluated in the namespace of the project configuration (that is, all variables from ``conf.py`` are available.) :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx.util.nodes import set_source_info from sphinx.util.compat import Directive class ifconfig(nodes.Element): pass class IfConfig(Directive): has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): node = ifconfig() node.document = self.state.document set_source_info(self, node) node['expr'] = self.arguments[0] self.state.nested_parse(self.content, self.content_offset, node, match_titles=1) return [node] def process_ifconfig_nodes(app, doctree, docname): ns = app.config.__dict__.copy() ns['builder'] = app.builder.name for node in doctree.traverse(ifconfig): try: res = eval(node['expr'], ns) except Exception, err: # handle exceptions in a clean fashion from traceback import format_exception_only msg = ''.join(format_exception_only(err.__class__, err)) newnode = doctree.reporter.error('Exception occured in ' 'ifconfig expression: \n%s' % msg, base_node=node) node.replace_self(newnode) else: if not res: node.replace_self([]) else: node.replace_self(node.children) def setup(app): app.add_node(ifconfig) app.add_directive('ifconfig', IfConfig) app.connect('doctree-resolved', process_ifconfig_nodes) sphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/0000755000000000000000000000000012304560277020106 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/templates/0000755000000000000000000000000012304560277022104 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/templates/autosummary/0000755000000000000000000000000012304560277024472 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/templates/autosummary/class.rst0000644000000000000000000000101711644410757026333 0ustar rootroot{{ fullname }} {{ underline }} .. currentmodule:: {{ module }} .. autoclass:: {{ objname }} {% block methods %} .. automethod:: __init__ {% if methods %} .. rubric:: Methods .. autosummary:: {% for item in methods %} ~{{ name }}.{{ item }} {%- endfor %} {% endif %} {% endblock %} {% block attributes %} {% if attributes %} .. rubric:: Attributes .. autosummary:: {% for item in attributes %} ~{{ name }}.{{ item }} {%- endfor %} {% endif %} {% endblock %} sphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/templates/autosummary/base.rst0000644000000000000000000000014611644410757026142 0ustar rootroot{{ fullname }} {{ underline }} .. currentmodule:: {{ module }} .. auto{{ objtype }}:: {{ objname }} sphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/templates/autosummary/module.rst0000644000000000000000000000117311644410757026516 0ustar rootroot{{ fullname }} {{ underline }} .. automodule:: {{ fullname }} {% block functions %} {% if functions %} .. rubric:: Functions .. autosummary:: {% for item in functions %} {{ item }} {%- endfor %} {% endif %} {% endblock %} {% block classes %} {% if classes %} .. rubric:: Classes .. autosummary:: {% for item in classes %} {{ item }} {%- endfor %} {% endif %} {% endblock %} {% block exceptions %} {% if exceptions %} .. rubric:: Exceptions .. autosummary:: {% for item in exceptions %} {{ item }} {%- endfor %} {% endif %} {% endblock %} sphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/__init__.py0000644000000000000000000004313612304557741022230 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.autosummary ~~~~~~~~~~~~~~~~~~~~~~ Sphinx extension that adds an autosummary:: directive, which can be used to generate function/method/attribute/etc. summary lists, similar to those output eg. by Epydoc and other API doc generation tools. An :autolink: role is also provided. autosummary directive --------------------- The autosummary directive has the form:: .. autosummary:: :nosignatures: :toctree: generated/ module.function_1 module.function_2 ... and it generates an output table (containing signatures, optionally) ======================== ============================================= module.function_1(args) Summary line from the docstring of function_1 module.function_2(args) Summary line from the docstring ... ======================== ============================================= If the :toctree: option is specified, files matching the function names are inserted to the toctree with the given prefix: generated/module.function_1 generated/module.function_2 ... Note: The file names contain the module:: or currentmodule:: prefixes. .. seealso:: autosummary_generate.py autolink role ------------- The autolink role functions as ``:obj:`` when the name referred can be resolved to a Python object, and otherwise it becomes simple emphasis. This can be used as the default role to make links 'smart'. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys import inspect import posixpath from docutils.parsers.rst import directives from docutils.statemachine import ViewList from docutils import nodes from sphinx import addnodes from sphinx.util.compat import Directive # -- autosummary_toc node ------------------------------------------------------ class autosummary_toc(nodes.comment): pass def process_autosummary_toc(app, doctree): """Insert items described in autosummary:: to the TOC tree, but do not generate the toctree:: list. """ env = app.builder.env crawled = {} def crawl_toc(node, depth=1): crawled[node] = True for j, subnode in enumerate(node): try: if (isinstance(subnode, autosummary_toc) and isinstance(subnode[0], addnodes.toctree)): env.note_toctree(env.docname, subnode[0]) continue except IndexError: continue if not isinstance(subnode, nodes.section): continue if subnode not in crawled: crawl_toc(subnode, depth+1) crawl_toc(doctree) def autosummary_toc_visit_html(self, node): """Hide autosummary toctree list in HTML output.""" raise nodes.SkipNode def autosummary_noop(self, node): pass # -- autosummary_table node ---------------------------------------------------- class autosummary_table(nodes.comment): pass def autosummary_table_visit_html(self, node): """Make the first column of the table non-breaking.""" try: tbody = node[0][0][-1] for row in tbody: col1_entry = row[0] par = col1_entry[0] for j, subnode in enumerate(list(par)): if isinstance(subnode, nodes.Text): new_text = unicode(subnode.astext()) new_text = new_text.replace(u" ", u"\u00a0") par[j] = nodes.Text(new_text) except IndexError: pass # -- autodoc integration ------------------------------------------------------- class FakeDirective: env = {} genopt = {} def get_documenter(obj, parent): """Get an autodoc.Documenter class suitable for documenting the given object. *obj* is the Python object to be documented, and *parent* is an another Python object (e.g. a module or a class) to which *obj* belongs to. """ from sphinx.ext.autodoc import AutoDirective, DataDocumenter, \ ModuleDocumenter if inspect.ismodule(obj): # ModuleDocumenter.can_document_member always returns False return ModuleDocumenter # Construct a fake documenter for *parent* if parent is not None: parent_doc_cls = get_documenter(parent, None) else: parent_doc_cls = ModuleDocumenter if hasattr(parent, '__name__'): parent_doc = parent_doc_cls(FakeDirective(), parent.__name__) else: parent_doc = parent_doc_cls(FakeDirective(), "") # Get the corrent documenter class for *obj* classes = [cls for cls in AutoDirective._registry.values() if cls.can_document_member(obj, '', False, parent_doc)] if classes: classes.sort(key=lambda cls: cls.priority) return classes[-1] else: return DataDocumenter # -- .. autosummary:: ---------------------------------------------------------- class Autosummary(Directive): """ Pretty table containing short signatures and summaries of functions etc. autosummary can also optionally generate a hidden toctree:: node. """ required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False has_content = True option_spec = { 'toctree': directives.unchanged, 'nosignatures': directives.flag, 'template': directives.unchanged, } def warn(self, msg): self.warnings.append(self.state.document.reporter.warning( msg, line=self.lineno)) def run(self): self.env = env = self.state.document.settings.env self.genopt = {} self.warnings = [] names = [x.strip().split()[0] for x in self.content if x.strip() and re.search(r'^[~a-zA-Z_]', x.strip()[0])] items = self.get_items(names) nodes = self.get_table(items) if 'toctree' in self.options: dirname = posixpath.dirname(env.docname) tree_prefix = self.options['toctree'].strip() docnames = [] for name, sig, summary, real_name in items: docname = posixpath.join(tree_prefix, real_name) docname = posixpath.normpath(posixpath.join(dirname, docname)) if docname not in env.found_docs: self.warn('toctree references unknown document %r' % docname) docnames.append(docname) tocnode = addnodes.toctree() tocnode['includefiles'] = docnames tocnode['entries'] = [(None, docname) for docname in docnames] tocnode['maxdepth'] = -1 tocnode['glob'] = None tocnode = autosummary_toc('', '', tocnode) nodes.append(tocnode) return self.warnings + nodes def get_items(self, names): """Try to import the given names, and return a list of ``[(name, signature, summary_string, real_name), ...]``. """ env = self.state.document.settings.env prefixes = get_import_prefixes_from_env(env) items = [] max_item_chars = 50 for name in names: display_name = name if name.startswith('~'): name = name[1:] display_name = name.split('.')[-1] try: real_name, obj, parent = import_by_name(name, prefixes=prefixes) except ImportError: self.warn('failed to import %s' % name) items.append((name, '', '', name)) continue # NB. using real_name here is important, since Documenters # handle module prefixes slightly differently documenter = get_documenter(obj, parent)(self, real_name) if not documenter.parse_name(): self.warn('failed to parse name %s' % real_name) items.append((display_name, '', '', real_name)) continue if not documenter.import_object(): self.warn('failed to import object %s' % real_name) items.append((display_name, '', '', real_name)) continue # -- Grab the signature sig = documenter.format_signature() if not sig: sig = '' else: max_chars = max(10, max_item_chars - len(display_name)) sig = mangle_signature(sig, max_chars=max_chars) sig = sig.replace('*', r'\*') # -- Grab the summary doc = list(documenter.process_doc(documenter.get_doc())) while doc and not doc[0].strip(): doc.pop(0) # If there's a blank line, then we can assume the first sentence / # paragraph has ended, so anything after shouldn't be part of the # summary for i, piece in enumerate(doc): if not piece.strip(): doc = doc[:i] break # Try to find the "first sentence", which may span multiple lines m = re.search(r"^([A-Z].*?\.)(?:\s|$)", " ".join(doc).strip()) if m: summary = m.group(1).strip() elif doc: summary = doc[0].strip() else: summary = '' items.append((display_name, sig, summary, real_name)) return items def get_table(self, items): """Generate a proper list of table nodes for autosummary:: directive. *items* is a list produced by :meth:`get_items`. """ table_spec = addnodes.tabular_col_spec() table_spec['spec'] = 'll' table = autosummary_table('') real_table = nodes.table('', classes=['longtable']) table.append(real_table) group = nodes.tgroup('', cols=2) real_table.append(group) group.append(nodes.colspec('', colwidth=10)) group.append(nodes.colspec('', colwidth=90)) body = nodes.tbody('') group.append(body) def append_row(*column_texts): row = nodes.row('') for text in column_texts: node = nodes.paragraph('') vl = ViewList() vl.append(text, '') self.state.nested_parse(vl, 0, node) try: if isinstance(node[0], nodes.paragraph): node = node[0] except IndexError: pass row.append(nodes.entry('', node)) body.append(row) for name, sig, summary, real_name in items: qualifier = 'obj' if 'nosignatures' not in self.options: col1 = ':%s:`%s <%s>`\ %s' % (qualifier, name, real_name, sig) else: col1 = ':%s:`%s <%s>`' % (qualifier, name, real_name) col2 = summary append_row(col1, col2) return [table_spec, table] def mangle_signature(sig, max_chars=30): """Reformat a function signature to a more compact form.""" s = re.sub(r"^\((.*)\)$", r"\1", sig).strip() # Strip strings (which can contain things that confuse the code below) s = re.sub(r"\\\\", "", s) s = re.sub(r"\\'", "", s) s = re.sub(r"'[^']*'", "", s) # Parse the signature to arguments + options args = [] opts = [] opt_re = re.compile(r"^(.*, |)([a-zA-Z0-9_*]+)=") while s: m = opt_re.search(s) if not m: # The rest are arguments args = s.split(', ') break opts.insert(0, m.group(2)) s = m.group(1)[:-2] # Produce a more compact signature sig = limited_join(", ", args, max_chars=max_chars-2) if opts: if not sig: sig = "[%s]" % limited_join(", ", opts, max_chars=max_chars-4) elif len(sig) < max_chars - 4 - 2 - 3: sig += "[, %s]" % limited_join(", ", opts, max_chars=max_chars-len(sig)-4-2) return u"(%s)" % sig def limited_join(sep, items, max_chars=30, overflow_marker="..."): """Join a number of strings to one, limiting the length to *max_chars*. If the string overflows this limit, replace the last fitting item by *overflow_marker*. Returns: joined_string """ full_str = sep.join(items) if len(full_str) < max_chars: return full_str n_chars = 0 n_items = 0 for j, item in enumerate(items): n_chars += len(item) + len(sep) if n_chars < max_chars - len(overflow_marker): n_items += 1 else: break return sep.join(list(items[:n_items]) + [overflow_marker]) # -- Importing items ----------------------------------------------------------- def get_import_prefixes_from_env(env): """ Obtain current Python import prefixes (for `import_by_name`) from ``document.env`` """ prefixes = [None] currmodule = env.temp_data.get('py:module') if currmodule: prefixes.insert(0, currmodule) currclass = env.temp_data.get('py:class') if currclass: if currmodule: prefixes.insert(0, currmodule + "." + currclass) else: prefixes.insert(0, currclass) return prefixes def import_by_name(name, prefixes=[None]): """Import a Python object that has the given *name*, under one of the *prefixes*. The first name that succeeds is used. """ tried = [] for prefix in prefixes: try: if prefix: prefixed_name = '.'.join([prefix, name]) else: prefixed_name = name obj, parent = _import_by_name(prefixed_name) return prefixed_name, obj, parent except ImportError: tried.append(prefixed_name) raise ImportError('no module named %s' % ' or '.join(tried)) def _import_by_name(name): """Import a Python object given its full name.""" try: name_parts = name.split('.') # try first interpret `name` as MODNAME.OBJ modname = '.'.join(name_parts[:-1]) if modname: try: __import__(modname) mod = sys.modules[modname] return getattr(mod, name_parts[-1]), mod except (ImportError, IndexError, AttributeError): pass # ... then as MODNAME, MODNAME.OBJ1, MODNAME.OBJ1.OBJ2, ... last_j = 0 modname = None for j in reversed(range(1, len(name_parts)+1)): last_j = j modname = '.'.join(name_parts[:j]) try: __import__(modname) except ImportError: continue if modname in sys.modules: break if last_j < len(name_parts): parent = None obj = sys.modules[modname] for obj_name in name_parts[last_j:]: parent = obj obj = getattr(obj, obj_name) return obj, parent else: return sys.modules[modname], None except (ValueError, ImportError, AttributeError, KeyError), e: raise ImportError(*e.args) # -- :autolink: (smart default role) ------------------------------------------- def autolink_role(typ, rawtext, etext, lineno, inliner, options={}, content=[]): """Smart linking role. Expands to ':obj:`text`' if `text` is an object that can be imported; otherwise expands to '*text*'. """ env = inliner.document.settings.env r = env.get_domain('py').role('obj')( 'obj', rawtext, etext, lineno, inliner, options, content) pnode = r[0][0] prefixes = get_import_prefixes_from_env(env) try: name, obj, parent = import_by_name(pnode['reftarget'], prefixes) except ImportError: content = pnode[0] r[0][0] = nodes.emphasis(rawtext, content[0].astext(), classes=content['classes']) return r def process_generate_options(app): genfiles = app.config.autosummary_generate ext = app.config.source_suffix if genfiles and not hasattr(genfiles, '__len__'): env = app.builder.env genfiles = [x + ext for x in env.found_docs if os.path.isfile(env.doc2path(x))] if not genfiles: return from sphinx.ext.autosummary.generate import generate_autosummary_docs genfiles = [genfile + (not genfile.endswith(ext) and ext or '') for genfile in genfiles] generate_autosummary_docs(genfiles, builder=app.builder, warn=app.warn, info=app.info, suffix=ext, base_path=app.srcdir) def setup(app): # I need autodoc app.setup_extension('sphinx.ext.autodoc') app.add_node(autosummary_toc, html=(autosummary_toc_visit_html, autosummary_noop), latex=(autosummary_noop, autosummary_noop), text=(autosummary_noop, autosummary_noop), man=(autosummary_noop, autosummary_noop), texinfo=(autosummary_noop, autosummary_noop)) app.add_node(autosummary_table, html=(autosummary_table_visit_html, autosummary_noop), latex=(autosummary_noop, autosummary_noop), text=(autosummary_noop, autosummary_noop), man=(autosummary_noop, autosummary_noop), texinfo=(autosummary_noop, autosummary_noop)) app.add_directive('autosummary', Autosummary) app.add_role('autolink', autolink_role) app.connect('doctree-read', process_autosummary_toc) app.connect('builder-inited', process_generate_options) app.add_config_value('autosummary_generate', [], True) sphinx-1.2.2+dfsg.orig/sphinx/ext/autosummary/generate.py0000644000000000000000000002642612304557741022266 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.autosummary.generate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Usable as a library or script to generate automatic RST source files for items referred to in autosummary:: directives. Each generated RST file contains a single auto*:: directive which extracts the docstring of the referred item. Example Makefile rule:: generate: sphinx-autogen -o source/generated source/*.rst :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys import pydoc import optparse from jinja2 import FileSystemLoader, TemplateNotFound from jinja2.sandbox import SandboxedEnvironment from sphinx import package_dir from sphinx.ext.autosummary import import_by_name, get_documenter from sphinx.jinja2glue import BuiltinTemplateLoader from sphinx.util.osutil import ensuredir from sphinx.util.inspect import safe_getattr # Add documenters to AutoDirective registry from sphinx.ext.autodoc import add_documenter, \ ModuleDocumenter, ClassDocumenter, ExceptionDocumenter, DataDocumenter, \ FunctionDocumenter, MethodDocumenter, AttributeDocumenter, \ InstanceAttributeDocumenter add_documenter(ModuleDocumenter) add_documenter(ClassDocumenter) add_documenter(ExceptionDocumenter) add_documenter(DataDocumenter) add_documenter(FunctionDocumenter) add_documenter(MethodDocumenter) add_documenter(AttributeDocumenter) add_documenter(InstanceAttributeDocumenter) def main(argv=sys.argv): usage = """%prog [OPTIONS] SOURCEFILE ...""" p = optparse.OptionParser(usage.strip()) p.add_option("-o", "--output-dir", action="store", type="string", dest="output_dir", default=None, help="Directory to place all output in") p.add_option("-s", "--suffix", action="store", type="string", dest="suffix", default="rst", help="Default suffix for files (default: %default)") p.add_option("-t", "--templates", action="store", type="string", dest="templates", default=None, help="Custom template directory (default: %default)") options, args = p.parse_args(argv[1:]) if len(args) < 1: p.error('no input files given') generate_autosummary_docs(args, options.output_dir, "." + options.suffix, template_dir=options.templates) def _simple_info(msg): print msg def _simple_warn(msg): print >> sys.stderr, 'WARNING: ' + msg # -- Generating output --------------------------------------------------------- def generate_autosummary_docs(sources, output_dir=None, suffix='.rst', warn=_simple_warn, info=_simple_info, base_path=None, builder=None, template_dir=None): showed_sources = list(sorted(sources)) if len(showed_sources) > 20: showed_sources = showed_sources[:10] + ['...'] + showed_sources[-10:] info('[autosummary] generating autosummary for: %s' % ', '.join(showed_sources)) if output_dir: info('[autosummary] writing to %s' % output_dir) if base_path is not None: sources = [os.path.join(base_path, filename) for filename in sources] # create our own templating environment template_dirs = [os.path.join(package_dir, 'ext', 'autosummary', 'templates')] if builder is not None: # allow the user to override the templates template_loader = BuiltinTemplateLoader() template_loader.init(builder, dirs=template_dirs) else: if template_dir: template_dirs.insert(0, template_dir) template_loader = FileSystemLoader(template_dirs) template_env = SandboxedEnvironment(loader=template_loader) # read items = find_autosummary_in_files(sources) # remove possible duplicates items = dict([(item, True) for item in items]).keys() # keep track of new files new_files = [] # write for name, path, template_name in sorted(items, key=str): if path is None: # The corresponding autosummary:: directive did not have # a :toctree: option continue path = output_dir or os.path.abspath(path) ensuredir(path) try: name, obj, parent = import_by_name(name) except ImportError, e: warn('[autosummary] failed to import %r: %s' % (name, e)) continue fn = os.path.join(path, name + suffix) # skip it if it exists if os.path.isfile(fn): continue new_files.append(fn) f = open(fn, 'w') try: doc = get_documenter(obj, parent) if template_name is not None: template = template_env.get_template(template_name) else: try: template = template_env.get_template('autosummary/%s.rst' % doc.objtype) except TemplateNotFound: template = template_env.get_template('autosummary/base.rst') def get_members(obj, typ, include_public=[]): items = [] for name in dir(obj): try: documenter = get_documenter(safe_getattr(obj, name), obj) except AttributeError: continue if documenter.objtype == typ: items.append(name) public = [x for x in items if x in include_public or not x.startswith('_')] return public, items ns = {} if doc.objtype == 'module': ns['members'] = dir(obj) ns['functions'], ns['all_functions'] = \ get_members(obj, 'function') ns['classes'], ns['all_classes'] = \ get_members(obj, 'class') ns['exceptions'], ns['all_exceptions'] = \ get_members(obj, 'exception') elif doc.objtype == 'class': ns['members'] = dir(obj) ns['methods'], ns['all_methods'] = \ get_members(obj, 'method', ['__init__']) ns['attributes'], ns['all_attributes'] = \ get_members(obj, 'attribute') parts = name.split('.') if doc.objtype in ('method', 'attribute'): mod_name = '.'.join(parts[:-2]) cls_name = parts[-2] obj_name = '.'.join(parts[-2:]) ns['class'] = cls_name else: mod_name, obj_name = '.'.join(parts[:-1]), parts[-1] ns['fullname'] = name ns['module'] = mod_name ns['objname'] = obj_name ns['name'] = parts[-1] ns['objtype'] = doc.objtype ns['underline'] = len(name) * '=' rendered = template.render(**ns) f.write(rendered) finally: f.close() # descend recursively to new files if new_files: generate_autosummary_docs(new_files, output_dir=output_dir, suffix=suffix, warn=warn, info=info, base_path=base_path, builder=builder, template_dir=template_dir) # -- Finding documented entries in files --------------------------------------- def find_autosummary_in_files(filenames): """Find out what items are documented in source/*.rst. See `find_autosummary_in_lines`. """ documented = [] for filename in filenames: f = open(filename, 'r') lines = f.read().splitlines() documented.extend(find_autosummary_in_lines(lines, filename=filename)) f.close() return documented def find_autosummary_in_docstring(name, module=None, filename=None): """Find out what items are documented in the given object's docstring. See `find_autosummary_in_lines`. """ try: real_name, obj, parent = import_by_name(name) lines = pydoc.getdoc(obj).splitlines() return find_autosummary_in_lines(lines, module=name, filename=filename) except AttributeError: pass except ImportError, e: print "Failed to import '%s': %s" % (name, e) return [] def find_autosummary_in_lines(lines, module=None, filename=None): """Find out what items appear in autosummary:: directives in the given lines. Returns a list of (name, toctree, template) where *name* is a name of an object and *toctree* the :toctree: path of the corresponding autosummary directive (relative to the root of the file name), and *template* the value of the :template: option. *toctree* and *template* ``None`` if the directive does not have the corresponding options set. """ autosummary_re = re.compile(r'^(\s*)\.\.\s+autosummary::\s*') automodule_re = re.compile( r'^\s*\.\.\s+automodule::\s*([A-Za-z0-9_.]+)\s*$') module_re = re.compile( r'^\s*\.\.\s+(current)?module::\s*([a-zA-Z0-9_.]+)\s*$') autosummary_item_re = re.compile(r'^\s+(~?[_a-zA-Z][a-zA-Z0-9_.]*)\s*.*?') toctree_arg_re = re.compile(r'^\s+:toctree:\s*(.*?)\s*$') template_arg_re = re.compile(r'^\s+:template:\s*(.*?)\s*$') documented = [] toctree = None template = None current_module = module in_autosummary = False base_indent = "" for line in lines: if in_autosummary: m = toctree_arg_re.match(line) if m: toctree = m.group(1) if filename: toctree = os.path.join(os.path.dirname(filename), toctree) continue m = template_arg_re.match(line) if m: template = m.group(1).strip() continue if line.strip().startswith(':'): continue # skip options m = autosummary_item_re.match(line) if m: name = m.group(1).strip() if name.startswith('~'): name = name[1:] if current_module and \ not name.startswith(current_module + '.'): name = "%s.%s" % (current_module, name) documented.append((name, toctree, template)) continue if not line.strip() or line.startswith(base_indent + " "): continue in_autosummary = False m = autosummary_re.match(line) if m: in_autosummary = True base_indent = m.group(1) toctree = None template = None continue m = automodule_re.search(line) if m: current_module = m.group(1).strip() # recurse into the automodule docstring documented.extend(find_autosummary_in_docstring( current_module, filename=filename)) continue m = module_re.match(line) if m: current_module = m.group(2) continue return documented if __name__ == '__main__': main() sphinx-1.2.2+dfsg.orig/sphinx/ext/jsmath.py0000644000000000000000000000370312304304673017357 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.jsmath ~~~~~~~~~~~~~~~~~ Set up everything for use of JSMath to display math in HTML via JavaScript. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx.application import ExtensionError from sphinx.ext.mathbase import setup_math as mathbase_setup def html_visit_math(self, node): self.body.append(self.starttag(node, 'span', '', CLASS='math')) self.body.append(self.encode(node['latex']) + '') raise nodes.SkipNode def html_visit_displaymath(self, node): if node['nowrap']: self.body.append(self.starttag(node, 'div', CLASS='math')) self.body.append(node['latex']) self.body.append('') raise nodes.SkipNode for i, part in enumerate(node['latex'].split('\n\n')): part = self.encode(part) if i == 0: # necessary to e.g. set the id property correctly if node['number']: self.body.append('(%s)' % node['number']) self.body.append(self.starttag(node, 'div', CLASS='math')) else: # but only once! self.body.append('
') if '&' in part or '\\\\' in part: self.body.append('\\begin{split}' + part + '\\end{split}') else: self.body.append(part) self.body.append('
\n') raise nodes.SkipNode def builder_inited(app): if not app.config.jsmath_path: raise ExtensionError('jsmath_path config value must be set for the ' 'jsmath extension to work') app.add_javascript(app.config.jsmath_path) def setup(app): mathbase_setup(app, (html_visit_math, None), (html_visit_displaymath, None)) app.add_config_value('jsmath_path', '', False) app.connect('builder-inited', builder_inited) sphinx-1.2.2+dfsg.orig/sphinx/ext/intersphinx.py0000644000000000000000000002467012304557741020460 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.intersphinx ~~~~~~~~~~~~~~~~~~~~~~ Insert links to objects documented in remote Sphinx documentation. This works as follows: * Each Sphinx HTML build creates a file named "objects.inv" that contains a mapping from object names to URIs relative to the HTML set's root. * Projects using the Intersphinx extension can specify links to such mapping files in the `intersphinx_mapping` config value. The mapping will then be used to resolve otherwise missing references to objects into links to the other documentation. * By default, the mapping file is assumed to be at the same location as the rest of the documentation; however, the location of the mapping file can also be specified individually, e.g. if the docs should be buildable without Internet access. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import time import zlib import codecs import urllib2 import posixpath from os import path import re from docutils import nodes from docutils.utils import relative_path from sphinx.locale import _ from sphinx.builders.html import INVENTORY_FILENAME from sphinx.util.pycompat import b handlers = [urllib2.ProxyHandler(), urllib2.HTTPRedirectHandler(), urllib2.HTTPHandler()] try: handlers.append(urllib2.HTTPSHandler) except AttributeError: pass urllib2.install_opener(urllib2.build_opener(*handlers)) UTF8StreamReader = codecs.lookup('utf-8')[2] def read_inventory_v1(f, uri, join): f = UTF8StreamReader(f) invdata = {} line = f.next() projname = line.rstrip()[11:] line = f.next() version = line.rstrip()[11:] for line in f: name, type, location = line.rstrip().split(None, 2) location = join(uri, location) # version 1 did not add anchors to the location if type == 'mod': type = 'py:module' location += '#module-' + name else: type = 'py:' + type location += '#' + name invdata.setdefault(type, {})[name] = (projname, version, location, '-') return invdata def read_inventory_v2(f, uri, join, bufsize=16*1024): invdata = {} line = f.readline() projname = line.rstrip()[11:].decode('utf-8') line = f.readline() version = line.rstrip()[11:].decode('utf-8') line = f.readline().decode('utf-8') if 'zlib' not in line: raise ValueError def read_chunks(): decompressor = zlib.decompressobj() for chunk in iter(lambda: f.read(bufsize), b('')): yield decompressor.decompress(chunk) yield decompressor.flush() def split_lines(iter): buf = b('') for chunk in iter: buf += chunk lineend = buf.find(b('\n')) while lineend != -1: yield buf[:lineend].decode('utf-8') buf = buf[lineend+1:] lineend = buf.find(b('\n')) assert not buf for line in split_lines(read_chunks()): # be careful to handle names with embedded spaces correctly m = re.match(r'(?x)(.+?)\s+(\S*:\S*)\s+(\S+)\s+(\S+)\s+(.*)', line.rstrip()) if not m: continue name, type, prio, location, dispname = m.groups() if type == 'py:module' and type in invdata and \ name in invdata[type]: # due to a bug in 1.1 and below, # two inventory entries are created # for Python modules, and the first # one is correct continue if location.endswith(u'$'): location = location[:-1] + name location = join(uri, location) invdata.setdefault(type, {})[name] = (projname, version, location, dispname) return invdata def fetch_inventory(app, uri, inv): """Fetch, parse and return an intersphinx inventory file.""" # both *uri* (base URI of the links to generate) and *inv* (actual # location of the inventory file) can be local or remote URIs localuri = uri.find('://') == -1 join = localuri and path.join or posixpath.join try: if inv.find('://') != -1: f = urllib2.urlopen(inv) else: f = open(path.join(app.srcdir, inv), 'rb') except Exception, err: app.warn('intersphinx inventory %r not fetchable due to ' '%s: %s' % (inv, err.__class__, err)) return try: line = f.readline().rstrip().decode('utf-8') try: if line == '# Sphinx inventory version 1': invdata = read_inventory_v1(f, uri, join) elif line == '# Sphinx inventory version 2': invdata = read_inventory_v2(f, uri, join) else: raise ValueError f.close() except ValueError: f.close() raise ValueError('unknown or unsupported inventory version') except Exception, err: app.warn('intersphinx inventory %r not readable due to ' '%s: %s' % (inv, err.__class__.__name__, err)) else: return invdata def load_mappings(app): """Load all intersphinx mappings into the environment.""" now = int(time.time()) cache_time = now - app.config.intersphinx_cache_limit * 86400 env = app.builder.env if not hasattr(env, 'intersphinx_cache'): env.intersphinx_cache = {} env.intersphinx_inventory = {} env.intersphinx_named_inventory = {} cache = env.intersphinx_cache update = False for key, value in app.config.intersphinx_mapping.iteritems(): if isinstance(value, tuple): # new format name, (uri, inv) = key, value if not name.isalnum(): app.warn('intersphinx identifier %r is not alphanumeric' % name) else: # old format, no name name, uri, inv = None, key, value # we can safely assume that the uri<->inv mapping is not changed # during partial rebuilds since a changed intersphinx_mapping # setting will cause a full environment reread if not inv: inv = posixpath.join(uri, INVENTORY_FILENAME) # decide whether the inventory must be read: always read local # files; remote ones only if the cache time is expired if '://' not in inv or uri not in cache \ or cache[uri][1] < cache_time: app.info('loading intersphinx inventory from %s...' % inv) invdata = fetch_inventory(app, uri, inv) if invdata: cache[uri] = (name, now, invdata) else: cache.pop(uri, None) update = True if update: env.intersphinx_inventory = {} env.intersphinx_named_inventory = {} # Duplicate values in different inventories will shadow each # other; which one will override which can vary between builds # since they are specified using an unordered dict. To make # it more consistent, we sort the named inventories and then # add the unnamed inventories last. This means that the # unnamed inventories will shadow the named ones but the named # ones can still be accessed when the name is specified. cached_vals = list(cache.itervalues()) named_vals = sorted(v for v in cached_vals if v[0]) unnamed_vals = [v for v in cached_vals if not v[0]] for name, _, invdata in named_vals + unnamed_vals: if name: env.intersphinx_named_inventory[name] = invdata for type, objects in invdata.iteritems(): env.intersphinx_inventory.setdefault( type, {}).update(objects) def missing_reference(app, env, node, contnode): """Attempt to resolve a missing reference via intersphinx references.""" domain = node.get('refdomain') if not domain: # only objects in domains are in the inventory return target = node['reftarget'] objtypes = env.domains[domain].objtypes_for_role(node['reftype']) if not objtypes: return objtypes = ['%s:%s' % (domain, objtype) for objtype in objtypes] to_try = [(env.intersphinx_inventory, target)] in_set = None if ':' in target: # first part may be the foreign doc set name setname, newtarget = target.split(':', 1) if setname in env.intersphinx_named_inventory: in_set = setname to_try.append((env.intersphinx_named_inventory[setname], newtarget)) for inventory, target in to_try: for objtype in objtypes: if objtype not in inventory or target not in inventory[objtype]: continue proj, version, uri, dispname = inventory[objtype][target] if '://' not in uri and node.get('refdoc'): # get correct path in case of subdirectories uri = path.join(relative_path(node['refdoc'], env.srcdir), uri) newnode = nodes.reference('', '', internal=False, refuri=uri, reftitle=_('(in %s v%s)') % (proj, version)) if node.get('refexplicit'): # use whatever title was given newnode.append(contnode) elif dispname == '-' or \ (domain == 'std' and node['reftype'] == 'keyword'): # use whatever title was given, but strip prefix title = contnode.astext() if in_set and title.startswith(in_set+':'): newnode.append(contnode.__class__(title[len(in_set)+1:], title[len(in_set)+1:])) else: newnode.append(contnode) else: # else use the given display name (used for :ref:) newnode.append(contnode.__class__(dispname, dispname)) return newnode # at least get rid of the ':' in the target if no explicit title given if in_set is not None and not node.get('refexplicit', True): if len(contnode) and isinstance(contnode[0], nodes.Text): contnode[0] = nodes.Text(newtarget, contnode[0].rawsource) def setup(app): app.add_config_value('intersphinx_mapping', {}, True) app.add_config_value('intersphinx_cache_limit', 5, False) app.connect('missing-reference', missing_reference) app.connect('builder-inited', load_mappings) sphinx-1.2.2+dfsg.orig/sphinx/ext/__init__.py0000644000000000000000000000035012304304673017623 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext ~~~~~~~~~~ Contains Sphinx features not activated by default. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ sphinx-1.2.2+dfsg.orig/sphinx/ext/autodoc.py0000644000000000000000000016113712304557741017543 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.autodoc ~~~~~~~~~~~~~~~~~~ Automatically insert docstrings for functions, classes or whole modules into the doctree, thus avoiding duplication between docstrings and documentation for those who like elaborate docstrings. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys import inspect import traceback from types import FunctionType, BuiltinFunctionType, MethodType from docutils import nodes from docutils.utils import assemble_option_dict from docutils.statemachine import ViewList from sphinx.util import rpartition, force_decode from sphinx.locale import _ from sphinx.pycode import ModuleAnalyzer, PycodeError from sphinx.application import ExtensionError from sphinx.util.nodes import nested_parse_with_titles from sphinx.util.compat import Directive from sphinx.util.inspect import getargspec, isdescriptor, safe_getmembers, \ safe_getattr, safe_repr, is_builtin_class_method from sphinx.util.pycompat import base_exception, class_types from sphinx.util.docstrings import prepare_docstring #: extended signature RE: with explicit module name separated by :: py_ext_sig_re = re.compile( r'''^ ([\w.]+::)? # explicit module name ([\w.]+\.)? # module and/or class name(s) (\w+) \s* # thing name (?: \((.*)\) # optional: arguments (?:\s* -> \s* (.*))? # return annotation )? $ # and nothing more ''', re.VERBOSE) class DefDict(dict): """A dict that returns a default on nonexisting keys.""" def __init__(self, default): dict.__init__(self) self.default = default def __getitem__(self, key): try: return dict.__getitem__(self, key) except KeyError: return self.default def __nonzero__(self): # docutils check "if option_spec" return True identity = lambda x: x class Options(dict): """A dict/attribute hybrid that returns None on nonexisting keys.""" def __getattr__(self, name): try: return self[name.replace('_', '-')] except KeyError: return None ALL = object() INSTANCEATTR = object() def members_option(arg): """Used to convert the :members: option to auto directives.""" if arg is None: return ALL return [x.strip() for x in arg.split(',')] def members_set_option(arg): """Used to convert the :members: option to auto directives.""" if arg is None: return ALL return set(x.strip() for x in arg.split(',')) SUPPRESS = object() def annotation_option(arg): if arg is None: # suppress showing the representation of the object return SUPPRESS else: return arg def bool_option(arg): """Used to convert flag options to auto directives. (Instead of directives.flag(), which returns None). """ return True class AutodocReporter(object): """ A reporter replacement that assigns the correct source name and line number to a system message, as recorded in a ViewList. """ def __init__(self, viewlist, reporter): self.viewlist = viewlist self.reporter = reporter def __getattr__(self, name): return getattr(self.reporter, name) def system_message(self, level, message, *children, **kwargs): if 'line' in kwargs and 'source' not in kwargs: try: source, line = self.viewlist.items[kwargs['line']] except IndexError: pass else: kwargs['source'] = source kwargs['line'] = line return self.reporter.system_message(level, message, *children, **kwargs) def debug(self, *args, **kwargs): if self.reporter.debug_flag: return self.system_message(0, *args, **kwargs) def info(self, *args, **kwargs): return self.system_message(1, *args, **kwargs) def warning(self, *args, **kwargs): return self.system_message(2, *args, **kwargs) def error(self, *args, **kwargs): return self.system_message(3, *args, **kwargs) def severe(self, *args, **kwargs): return self.system_message(4, *args, **kwargs) # Some useful event listener factories for autodoc-process-docstring. def cut_lines(pre, post=0, what=None): """Return a listener that removes the first *pre* and last *post* lines of every docstring. If *what* is a sequence of strings, only docstrings of a type in *what* will be processed. Use like this (e.g. in the ``setup()`` function of :file:`conf.py`):: from sphinx.ext.autodoc import cut_lines app.connect('autodoc-process-docstring', cut_lines(4, what=['module'])) This can (and should) be used in place of :confval:`automodule_skip_lines`. """ def process(app, what_, name, obj, options, lines): if what and what_ not in what: return del lines[:pre] if post: # remove one trailing blank line. if lines and not lines[-1]: lines.pop(-1) del lines[-post:] # make sure there is a blank line at the end if lines and lines[-1]: lines.append('') return process def between(marker, what=None, keepempty=False, exclude=False): """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. If *what* is a sequence of strings, only docstrings of a type in *what* will be processed. """ marker_re = re.compile(marker) def process(app, what_, name, obj, options, lines): if what and what_ not in what: return deleted = 0 delete = not exclude orig_lines = lines[:] for i, line in enumerate(orig_lines): if delete: lines.pop(i - deleted) deleted += 1 if marker_re.match(line): delete = not delete if delete: lines.pop(i - deleted) deleted += 1 if not lines and not keepempty: lines[:] = orig_lines # make sure there is a blank line at the end if lines and lines[-1]: lines.append('') return process class Documenter(object): """ A Documenter knows how to autodocument a single object type. When registered with the AutoDirective, it will be used to document objects of that type when needed by autodoc. Its *objtype* attribute selects what auto directive it is assigned to (the directive name is 'auto' + objtype), and what directive it generates by default, though that can be overridden by an attribute called *directivetype*. A Documenter has an *option_spec* that works like a docutils directive's; in fact, it will be used to parse an auto directive's options that matches the documenter. """ #: name by which the directive is called (auto...) and the default #: generated directive name objtype = 'object' #: indentation by which to indent the directive content content_indent = u' ' #: priority if multiple documenters return True from can_document_member priority = 0 #: order if autodoc_member_order is set to 'groupwise' member_order = 0 #: true if the generated content may contain titles titles_allowed = False option_spec = {'noindex': bool_option} @staticmethod def get_attr(obj, name, *defargs): """getattr() override for types such as Zope interfaces.""" for typ, func in AutoDirective._special_attrgetters.iteritems(): if isinstance(obj, typ): return func(obj, name, *defargs) return safe_getattr(obj, name, *defargs) @classmethod def can_document_member(cls, member, membername, isattr, parent): """Called to see if a member can be documented by this documenter.""" raise NotImplementedError('must be implemented in subclasses') def __init__(self, directive, name, indent=u''): self.directive = directive self.env = directive.env self.options = directive.genopt self.name = name self.indent = indent # the module and object path within the module, and the fully # qualified name (all set after resolve_name succeeds) self.modname = None self.module = None self.objpath = None self.fullname = None # extra signature items (arguments and return annotation, # also set after resolve_name succeeds) self.args = None self.retann = None # the object to document (set after import_object succeeds) self.object = None self.object_name = None # the parent/owner of the object to document self.parent = None # the module analyzer to get at attribute docs, or None self.analyzer = None def add_line(self, line, source, *lineno): """Append one line of generated reST to the output.""" self.directive.result.append(self.indent + line, source, *lineno) def resolve_name(self, modname, parents, path, base): """Resolve the module and name of the object to document given by the arguments and the current module/class. Must return a pair of the module name and a chain of attributes; for example, it would return ``('zipfile', ['ZipFile', 'open'])`` for the ``zipfile.ZipFile.open`` method. """ raise NotImplementedError('must be implemented in subclasses') def parse_name(self): """Determine what module to import and what attribute to document. Returns True and sets *self.modname*, *self.objpath*, *self.fullname*, *self.args* and *self.retann* if parsing and resolving was successful. """ # first, parse the definition -- auto directives for classes and # functions can contain a signature which is then used instead of # an autogenerated one try: explicit_modname, path, base, args, retann = \ py_ext_sig_re.match(self.name).groups() except AttributeError: self.directive.warn('invalid signature for auto%s (%r)' % (self.objtype, self.name)) return False # support explicit module and class name separation via :: if explicit_modname is not None: modname = explicit_modname[:-2] parents = path and path.rstrip('.').split('.') or [] else: modname = None parents = [] self.modname, self.objpath = \ self.resolve_name(modname, parents, path, base) if not self.modname: return False self.args = args self.retann = retann self.fullname = (self.modname or '') + \ (self.objpath and '.' + '.'.join(self.objpath) or '') return True def import_object(self): """Import the object given by *self.modname* and *self.objpath* and set it as *self.object*. Returns True if successful, False if an error occurred. """ dbg = self.env.app.debug if self.objpath: dbg('[autodoc] from %s import %s', self.modname, '.'.join(self.objpath)) try: dbg('[autodoc] import %s', self.modname) __import__(self.modname) parent = None obj = self.module = sys.modules[self.modname] dbg('[autodoc] => %r', obj) for part in self.objpath: parent = obj dbg('[autodoc] getattr(_, %r)', part) obj = self.get_attr(obj, part) dbg('[autodoc] => %r', obj) self.object_name = part self.parent = parent self.object = obj return True # this used to only catch SyntaxError, ImportError and AttributeError, # but importing modules with side effects can raise all kinds of errors except Exception: if self.objpath: errmsg = 'autodoc: failed to import %s %r from module %r' % \ (self.objtype, '.'.join(self.objpath), self.modname) else: errmsg = 'autodoc: failed to import %s %r' % \ (self.objtype, self.fullname) errmsg += '; the following exception was raised:\n%s' % \ traceback.format_exc() dbg(errmsg) self.directive.warn(errmsg) self.env.note_reread() return False def get_real_modname(self): """Get the real module name of an object to document. It can differ from the name of the module through which the object was imported. """ return self.get_attr(self.object, '__module__', None) or self.modname def check_module(self): """Check if *self.object* is really defined in the module given by *self.modname*. """ if self.options.imported_members: return True modname = self.get_attr(self.object, '__module__', None) if modname and modname != self.modname: return False return True def format_args(self): """Format the argument signature of *self.object*. Should return None if the object does not have a signature. """ return None def format_name(self): """Format the name of *self.object*. This normally should be something that can be parsed by the generated directive, but doesn't need to be (Sphinx will display it unparsed then). """ # normally the name doesn't contain the module (except for module # directives of course) return '.'.join(self.objpath) or self.modname def format_signature(self): """Format the signature (arguments and return annotation) of the object. Let the user process it via the ``autodoc-process-signature`` event. """ if self.args is not None: # signature given explicitly args = "(%s)" % self.args else: # try to introspect the signature try: args = self.format_args() except Exception, err: self.directive.warn('error while formatting arguments for ' '%s: %s' % (self.fullname, err)) args = None retann = self.retann result = self.env.app.emit_firstresult( 'autodoc-process-signature', self.objtype, self.fullname, self.object, self.options, args, retann) if result: args, retann = result if args is not None: return args + (retann and (' -> %s' % retann) or '') else: return '' def add_directive_header(self, sig): """Add the directive header and options to the generated content.""" domain = getattr(self, 'domain', 'py') directive = getattr(self, 'directivetype', self.objtype) name = self.format_name() self.add_line(u'.. %s:%s:: %s%s' % (domain, directive, name, sig), '') if self.options.noindex: self.add_line(u' :noindex:', '') if self.objpath: # Be explicit about the module, this is necessary since .. class:: # etc. don't support a prepended module name self.add_line(u' :module: %s' % self.modname, '') def get_doc(self, encoding=None, ignore=1): """Decode and return lines of the docstring(s) for the object.""" docstring = self.get_attr(self.object, '__doc__', None) # make sure we have Unicode docstrings, then sanitize and split # into lines if isinstance(docstring, unicode): return [prepare_docstring(docstring, ignore)] elif isinstance(docstring, str): # this will not trigger on Py3 return [prepare_docstring(force_decode(docstring, encoding), ignore)] # ... else it is something strange, let's ignore it return [] def process_doc(self, docstrings): """Let the user process the docstrings before adding them.""" for docstringlines in docstrings: if self.env.app: # let extensions preprocess docstrings self.env.app.emit('autodoc-process-docstring', self.objtype, self.fullname, self.object, self.options, docstringlines) for line in docstringlines: yield line def add_content(self, more_content, no_docstring=False): """Add content from docstrings, attribute documentation and user.""" # set sourcename and add content from attribute documentation if self.analyzer: # prevent encoding errors when the file name is non-ASCII if not isinstance(self.analyzer.srcname, unicode): filename = unicode(self.analyzer.srcname, sys.getfilesystemencoding(), 'replace') else: filename = self.analyzer.srcname sourcename = u'%s:docstring of %s' % (filename, self.fullname) attr_docs = self.analyzer.find_attr_docs() if self.objpath: key = ('.'.join(self.objpath[:-1]), self.objpath[-1]) if key in attr_docs: no_docstring = True docstrings = [attr_docs[key]] for i, line in enumerate(self.process_doc(docstrings)): self.add_line(line, sourcename, i) else: sourcename = u'docstring of %s' % self.fullname # add content from docstrings if not no_docstring: encoding = self.analyzer and self.analyzer.encoding docstrings = self.get_doc(encoding) if not docstrings: # append at least a dummy docstring, so that the event # autodoc-process-docstring is fired and can add some # content if desired docstrings.append([]) for i, line in enumerate(self.process_doc(docstrings)): self.add_line(line, sourcename, i) # add additional content (e.g. from document), if present if more_content: for line, src in zip(more_content.data, more_content.items): self.add_line(line, src[0], src[1]) def get_object_members(self, want_all): """Return `(members_check_module, members)` where `members` is a list of `(membername, member)` pairs of the members of *self.object*. If *want_all* is True, return all members. Else, only return those members given by *self.options.members* (which may also be none). """ analyzed_member_names = set() if self.analyzer: attr_docs = self.analyzer.find_attr_docs() namespace = '.'.join(self.objpath) for item in attr_docs.iteritems(): if item[0][0] == namespace: analyzed_member_names.add(item[0][1]) if not want_all: if not self.options.members: return False, [] # specific members given members = [] for mname in self.options.members: try: members.append((mname, self.get_attr(self.object, mname))) except AttributeError: if mname not in analyzed_member_names: self.directive.warn('missing attribute %s in object %s' % (mname, self.fullname)) elif self.options.inherited_members: # safe_getmembers() uses dir() which pulls in members from all # base classes members = safe_getmembers(self.object, attr_getter=self.get_attr) else: # __dict__ contains only the members directly defined in # the class (but get them via getattr anyway, to e.g. get # unbound method objects instead of function objects); # using keys() because apparently there are objects for which # __dict__ changes while getting attributes try: obj_dict = self.get_attr(self.object, '__dict__') except AttributeError: members = [] else: members = [(mname, self.get_attr(self.object, mname, None)) for mname in obj_dict.keys()] membernames = set(m[0] for m in members) # add instance attributes from the analyzer for aname in analyzed_member_names: if aname not in membernames and \ (want_all or aname in self.options.members): members.append((aname, INSTANCEATTR)) return False, sorted(members) def filter_members(self, members, want_all): """Filter the given member list. Members are skipped if - they are private (except if given explicitly or the private-members option is set) - they are special methods (except if given explicitly or the special-members option is set) - they are undocumented (except if the undoc-members option is set) The user can override the skipping decision by connecting to the ``autodoc-skip-member`` event. """ ret = [] # search for members in source code too namespace = '.'.join(self.objpath) # will be empty for modules if self.analyzer: attr_docs = self.analyzer.find_attr_docs() else: attr_docs = {} # process members and determine which to skip for (membername, member) in members: # if isattr is True, the member is documented as an attribute isattr = False doc = self.get_attr(member, '__doc__', None) # if the member __doc__ is the same as self's __doc__, it's just # inherited and therefore not the member's doc cls = self.get_attr(member, '__class__', None) if cls: cls_doc = self.get_attr(cls, '__doc__', None) if cls_doc == doc: doc = None has_doc = bool(doc) keep = False if want_all and membername.startswith('__') and \ membername.endswith('__') and len(membername) > 4: # special __methods__ if self.options.special_members is ALL and \ membername != '__doc__': keep = has_doc or self.options.undoc_members elif self.options.special_members and \ self.options.special_members is not ALL and \ membername in self.options.special_members: keep = has_doc or self.options.undoc_members elif want_all and membername.startswith('_'): # ignore members whose name starts with _ by default keep = self.options.private_members and \ (has_doc or self.options.undoc_members) elif (namespace, membername) in attr_docs: # keep documented attributes keep = True isattr = True else: # ignore undocumented members if :undoc-members: is not given keep = has_doc or self.options.undoc_members # give the user a chance to decide whether this member # should be skipped if self.env.app: # let extensions preprocess docstrings skip_user = self.env.app.emit_firstresult( 'autodoc-skip-member', self.objtype, membername, member, not keep, self.options) if skip_user is not None: keep = not skip_user if keep: ret.append((membername, member, isattr)) return ret def document_members(self, all_members=False): """Generate reST for member documentation. If *all_members* is True, do all members, else those given by *self.options.members*. """ # set current namespace for finding members self.env.temp_data['autodoc:module'] = self.modname if self.objpath: self.env.temp_data['autodoc:class'] = self.objpath[0] want_all = all_members or self.options.inherited_members or \ self.options.members is ALL # find out which members are documentable members_check_module, members = self.get_object_members(want_all) # remove members given by exclude-members if self.options.exclude_members: members = [(membername, member) for (membername, member) in members if membername not in self.options.exclude_members] # document non-skipped members memberdocumenters = [] for (mname, member, isattr) in self.filter_members(members, want_all): classes = [cls for cls in AutoDirective._registry.itervalues() if cls.can_document_member(member, mname, isattr, self)] if not classes: # don't know how to document this member continue # prefer the documenter with the highest priority classes.sort(key=lambda cls: cls.priority) # give explicitly separated module name, so that members # of inner classes can be documented full_mname = self.modname + '::' + \ '.'.join(self.objpath + [mname]) documenter = classes[-1](self.directive, full_mname, self.indent) memberdocumenters.append((documenter, isattr)) member_order = self.options.member_order or \ self.env.config.autodoc_member_order if member_order == 'groupwise': # sort by group; relies on stable sort to keep items in the # same group sorted alphabetically memberdocumenters.sort(key=lambda e: e[0].member_order) elif member_order == 'bysource' and self.analyzer: # sort by source order, by virtue of the module analyzer tagorder = self.analyzer.tagorder def keyfunc(entry): fullname = entry[0].name.split('::')[1] return tagorder.get(fullname, len(tagorder)) memberdocumenters.sort(key=keyfunc) for documenter, isattr in memberdocumenters: documenter.generate( all_members=True, real_modname=self.real_modname, check_module=members_check_module and not isattr) # reset current objects self.env.temp_data['autodoc:module'] = None self.env.temp_data['autodoc:class'] = None def generate(self, more_content=None, real_modname=None, check_module=False, all_members=False): """Generate reST for the object given by *self.name*, and possibly for its members. If *more_content* is given, include that content. If *real_modname* is given, use that module name to find attribute docs. If *check_module* is True, only generate if the object is defined in the module name it is imported from. If *all_members* is True, document all members. """ if not self.parse_name(): # need a module to import self.directive.warn( 'don\'t know which module to import for autodocumenting ' '%r (try placing a "module" or "currentmodule" directive ' 'in the document, or giving an explicit module name)' % self.name) return # now, import the module and get object to document if not self.import_object(): return # If there is no real module defined, figure out which to use. # The real module is used in the module analyzer to look up the module # where the attribute documentation would actually be found in. # This is used for situations where you have a module that collects the # functions and classes of internal submodules. self.real_modname = real_modname or self.get_real_modname() # try to also get a source code analyzer for attribute docs try: self.analyzer = ModuleAnalyzer.for_module(self.real_modname) # parse right now, to get PycodeErrors on parsing (results will # be cached anyway) self.analyzer.find_attr_docs() except PycodeError, err: self.env.app.debug('[autodoc] module analyzer failed: %s', err) # no source file -- e.g. for builtin and C modules self.analyzer = None # at least add the module.__file__ as a dependency if hasattr(self.module, '__file__') and self.module.__file__: self.directive.filename_set.add(self.module.__file__) else: self.directive.filename_set.add(self.analyzer.srcname) # check __module__ of object (for members not given explicitly) if check_module: if not self.check_module(): return # make sure that the result starts with an empty line. This is # necessary for some situations where another directive preprocesses # reST and no starting newline is present self.add_line(u'', '') # format the object's signature, if any sig = self.format_signature() # generate the directive header and options, if applicable self.add_directive_header(sig) self.add_line(u'', '') # e.g. the module directive doesn't have content self.indent += self.content_indent # add all content (from docstrings, attribute docs etc.) self.add_content(more_content) # document members, if possible self.document_members(all_members) class ModuleDocumenter(Documenter): """ Specialized Documenter subclass for modules. """ objtype = 'module' content_indent = u'' titles_allowed = True option_spec = { 'members': members_option, 'undoc-members': bool_option, 'noindex': bool_option, 'inherited-members': bool_option, 'show-inheritance': bool_option, 'synopsis': identity, 'platform': identity, 'deprecated': bool_option, 'member-order': identity, 'exclude-members': members_set_option, 'private-members': bool_option, 'special-members': members_option, 'imported-members': bool_option, } @classmethod def can_document_member(cls, member, membername, isattr, parent): # don't document submodules automatically return False def resolve_name(self, modname, parents, path, base): if modname is not None: self.directive.warn('"::" in automodule name doesn\'t make sense') return (path or '') + base, [] def parse_name(self): ret = Documenter.parse_name(self) if self.args or self.retann: self.directive.warn('signature arguments or return annotation ' 'given for automodule %s' % self.fullname) return ret def add_directive_header(self, sig): Documenter.add_directive_header(self, sig) # add some module-specific options if self.options.synopsis: self.add_line( u' :synopsis: ' + self.options.synopsis, '') if self.options.platform: self.add_line( u' :platform: ' + self.options.platform, '') if self.options.deprecated: self.add_line(u' :deprecated:', '') def get_object_members(self, want_all): if want_all: if not hasattr(self.object, '__all__'): # for implicit module members, check __module__ to avoid # documenting imported objects return True, safe_getmembers(self.object) else: memberlist = self.object.__all__ else: memberlist = self.options.members or [] ret = [] for mname in memberlist: try: ret.append((mname, safe_getattr(self.object, mname))) except AttributeError: self.directive.warn( 'missing attribute mentioned in :members: or __all__: ' 'module %s, attribute %s' % ( safe_getattr(self.object, '__name__', '???'), mname)) return False, ret class ModuleLevelDocumenter(Documenter): """ Specialized Documenter subclass for objects on module level (functions, classes, data/constants). """ def resolve_name(self, modname, parents, path, base): if modname is None: if path: modname = path.rstrip('.') else: # if documenting a toplevel object without explicit module, # it can be contained in another auto directive ... modname = self.env.temp_data.get('autodoc:module') # ... or in the scope of a module directive if not modname: modname = self.env.temp_data.get('py:module') # ... else, it stays None, which means invalid return modname, parents + [base] class ClassLevelDocumenter(Documenter): """ Specialized Documenter subclass for objects on class level (methods, attributes). """ def resolve_name(self, modname, parents, path, base): if modname is None: if path: mod_cls = path.rstrip('.') else: mod_cls = None # if documenting a class-level object without path, # there must be a current class, either from a parent # auto directive ... mod_cls = self.env.temp_data.get('autodoc:class') # ... or from a class directive if mod_cls is None: mod_cls = self.env.temp_data.get('py:class') # ... if still None, there's no way to know if mod_cls is None: return None, [] modname, cls = rpartition(mod_cls, '.') parents = [cls] # if the module name is still missing, get it like above if not modname: modname = self.env.temp_data.get('autodoc:module') if not modname: modname = self.env.temp_data.get('py:module') # ... else, it stays None, which means invalid return modname, parents + [base] class DocstringSignatureMixin(object): """ Mixin for FunctionDocumenter and MethodDocumenter to provide the feature of reading the signature from the docstring. """ def _find_signature(self, encoding=None): docstrings = Documenter.get_doc(self, encoding) if len(docstrings) != 1: return doclines = docstrings[0] setattr(self, '__new_doclines', doclines) if not doclines: return # match first line of docstring against signature RE match = py_ext_sig_re.match(doclines[0]) if not match: return exmod, path, base, args, retann = match.groups() # the base name must match ours if not self.objpath or base != self.objpath[-1]: return # re-prepare docstring to ignore indentation after signature docstrings = Documenter.get_doc(self, encoding, 2) doclines = docstrings[0] # ok, now jump over remaining empty lines and set the remaining # lines as the new doclines i = 1 while i < len(doclines) and not doclines[i].strip(): i += 1 setattr(self, '__new_doclines', doclines[i:]) return args, retann def get_doc(self, encoding=None, ignore=1): lines = getattr(self, '__new_doclines', None) if lines is not None: return [lines] return Documenter.get_doc(self, encoding, ignore) def format_signature(self): if self.args is None and self.env.config.autodoc_docstring_signature: # only act if a signature is not explicitly given already, and if # the feature is enabled result = self._find_signature() if result is not None: self.args, self.retann = result return Documenter.format_signature(self) class FunctionDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): """ Specialized Documenter subclass for functions. """ objtype = 'function' member_order = 30 @classmethod def can_document_member(cls, member, membername, isattr, parent): return isinstance(member, (FunctionType, BuiltinFunctionType)) def format_args(self): if inspect.isbuiltin(self.object) or \ inspect.ismethoddescriptor(self.object): # cannot introspect arguments of a C function or method return None try: argspec = getargspec(self.object) except TypeError: if (is_builtin_class_method(self.object, '__new__') and is_builtin_class_method(self.object, '__init__')): raise TypeError('%r is a builtin class' % self.object) # if a class should be documented as function (yay duck # typing) we try to use the constructor signature as function # signature without the first argument. try: argspec = getargspec(self.object.__new__) except TypeError: argspec = getargspec(self.object.__init__) if argspec[0]: del argspec[0][0] args = inspect.formatargspec(*argspec) # escape backslashes for reST args = args.replace('\\', '\\\\') return args def document_members(self, all_members=False): pass class ClassDocumenter(ModuleLevelDocumenter): """ Specialized Documenter subclass for classes. """ objtype = 'class' member_order = 20 option_spec = { 'members': members_option, 'undoc-members': bool_option, 'noindex': bool_option, 'inherited-members': bool_option, 'show-inheritance': bool_option, 'member-order': identity, 'exclude-members': members_set_option, 'private-members': bool_option, 'special-members': members_option, } @classmethod def can_document_member(cls, member, membername, isattr, parent): return isinstance(member, class_types) def import_object(self): ret = ModuleLevelDocumenter.import_object(self) # if the class is documented under another name, document it # as data/attribute if ret: if hasattr(self.object, '__name__'): self.doc_as_attr = (self.objpath[-1] != self.object.__name__) else: self.doc_as_attr = True return ret def format_args(self): # for classes, the relevant signature is the __init__ method's initmeth = self.get_attr(self.object, '__init__', None) # classes without __init__ method, default __init__ or # __init__ written in C? if initmeth is None or \ is_builtin_class_method(self.object, '__init__') or \ not(inspect.ismethod(initmeth) or inspect.isfunction(initmeth)): return None try: argspec = getargspec(initmeth) except TypeError: # still not possible: happens e.g. for old-style classes # with __init__ in C return None if argspec[0] and argspec[0][0] in ('cls', 'self'): del argspec[0][0] return inspect.formatargspec(*argspec) def format_signature(self): if self.doc_as_attr: return '' # get __init__ method signature from __init__.__doc__ if self.env.config.autodoc_docstring_signature: # only act if the feature is enabled init_doc = MethodDocumenter(self.directive, '__init__') init_doc.object = self.get_attr(self.object, '__init__', None) init_doc.objpath = ['__init__'] result = init_doc._find_signature() if result is not None: # use args only for Class signature return '(%s)' % result[0] return ModuleLevelDocumenter.format_signature(self) def add_directive_header(self, sig): if self.doc_as_attr: self.directivetype = 'attribute' Documenter.add_directive_header(self, sig) # add inheritance info, if wanted if not self.doc_as_attr and self.options.show_inheritance: self.add_line(u'', '') if hasattr(self.object, '__bases__') and len(self.object.__bases__): bases = [b.__module__ == '__builtin__' and u':class:`%s`' % b.__name__ or u':class:`%s.%s`' % (b.__module__, b.__name__) for b in self.object.__bases__] self.add_line(_(u' Bases: %s') % ', '.join(bases), '') def get_doc(self, encoding=None, ignore=1): content = self.env.config.autoclass_content docstrings = [] attrdocstring = self.get_attr(self.object, '__doc__', None) if attrdocstring: docstrings.append(attrdocstring) # for classes, what the "docstring" is can be controlled via a # config value; the default is only the class docstring if content in ('both', 'init'): # get __init__ method document from __init__.__doc__ if self.env.config.autodoc_docstring_signature: # only act if the feature is enabled init_doc = MethodDocumenter(self.directive, '__init__') init_doc.object = self.get_attr(self.object, '__init__', None) init_doc.objpath = ['__init__'] init_doc._find_signature() # this effects to get_doc() result initdocstring = '\n'.join( ['\n'.join(l) for l in init_doc.get_doc(encoding)]) else: initdocstring = self.get_attr( self.get_attr(self.object, '__init__', None), '__doc__') # for new-style classes, no __init__ means default __init__ if (initdocstring is not None and (initdocstring == object.__init__.__doc__ or # for pypy initdocstring.strip() == object.__init__.__doc__)): #for !pypy initdocstring = None if initdocstring: if content == 'init': docstrings = [initdocstring] else: docstrings.append(initdocstring) doc = [] for docstring in docstrings: if not isinstance(docstring, unicode): docstring = force_decode(docstring, encoding) doc.append(prepare_docstring(docstring)) return doc def add_content(self, more_content, no_docstring=False): if self.doc_as_attr: classname = safe_getattr(self.object, '__name__', None) if classname: content = ViewList( [_('alias of :class:`%s`') % classname], source='') ModuleLevelDocumenter.add_content(self, content, no_docstring=True) else: ModuleLevelDocumenter.add_content(self, more_content) def document_members(self, all_members=False): if self.doc_as_attr: return ModuleLevelDocumenter.document_members(self, all_members) class ExceptionDocumenter(ClassDocumenter): """ Specialized ClassDocumenter subclass for exceptions. """ objtype = 'exception' member_order = 10 # needs a higher priority than ClassDocumenter priority = 10 @classmethod def can_document_member(cls, member, membername, isattr, parent): return isinstance(member, class_types) and \ issubclass(member, base_exception) class DataDocumenter(ModuleLevelDocumenter): """ Specialized Documenter subclass for data items. """ objtype = 'data' member_order = 40 priority = -10 option_spec = dict(ModuleLevelDocumenter.option_spec) option_spec["annotation"] = annotation_option @classmethod def can_document_member(cls, member, membername, isattr, parent): return isinstance(parent, ModuleDocumenter) and isattr def add_directive_header(self, sig): ModuleLevelDocumenter.add_directive_header(self, sig) if not self.options.annotation: try: objrepr = safe_repr(self.object) except ValueError: pass else: self.add_line(u' :annotation: = ' + objrepr, '') elif self.options.annotation is SUPPRESS: pass else: self.add_line(u' :annotation: %s' % self.options.annotation, '') def document_members(self, all_members=False): pass class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): """ Specialized Documenter subclass for methods (normal, static and class). """ objtype = 'method' member_order = 50 priority = 1 # must be more than FunctionDocumenter @classmethod def can_document_member(cls, member, membername, isattr, parent): return inspect.isroutine(member) and \ not isinstance(parent, ModuleDocumenter) if sys.version_info >= (3, 0): def import_object(self): ret = ClassLevelDocumenter.import_object(self) obj_from_parent = self.parent.__dict__.get(self.object_name) if isinstance(obj_from_parent, classmethod): self.directivetype = 'classmethod' self.member_order = self.member_order - 1 elif isinstance(obj_from_parent, staticmethod): self.directivetype = 'staticmethod' self.member_order = self.member_order - 1 else: self.directivetype = 'method' return ret else: def import_object(self): ret = ClassLevelDocumenter.import_object(self) if isinstance(self.object, classmethod) or \ (isinstance(self.object, MethodType) and self.object.im_self is not None): self.directivetype = 'classmethod' # document class and static members before ordinary ones self.member_order = self.member_order - 1 elif isinstance(self.object, FunctionType) or \ (isinstance(self.object, BuiltinFunctionType) and hasattr(self.object, '__self__') and self.object.__self__ is not None): self.directivetype = 'staticmethod' # document class and static members before ordinary ones self.member_order = self.member_order - 1 else: self.directivetype = 'method' return ret def format_args(self): if inspect.isbuiltin(self.object) or \ inspect.ismethoddescriptor(self.object): # can never get arguments of a C function or method return None argspec = getargspec(self.object) if argspec[0] and argspec[0][0] in ('cls', 'self'): del argspec[0][0] return inspect.formatargspec(*argspec) def document_members(self, all_members=False): pass class AttributeDocumenter(ClassLevelDocumenter): """ Specialized Documenter subclass for attributes. """ objtype = 'attribute' member_order = 60 option_spec = dict(ModuleLevelDocumenter.option_spec) option_spec["annotation"] = annotation_option # must be higher than the MethodDocumenter, else it will recognize # some non-data descriptors as methods priority = 10 method_types = (FunctionType, BuiltinFunctionType, MethodType) @classmethod def can_document_member(cls, member, membername, isattr, parent): isdatadesc = isdescriptor(member) and not \ isinstance(member, cls.method_types) and not \ type(member).__name__ in ("type", "method_descriptor", "instancemethod") return isdatadesc or (not isinstance(parent, ModuleDocumenter) and not inspect.isroutine(member) and not isinstance(member, class_types)) def document_members(self, all_members=False): pass def import_object(self): ret = ClassLevelDocumenter.import_object(self) if isdescriptor(self.object) and \ not isinstance(self.object, self.method_types): self._datadescriptor = True else: # if it's not a data descriptor self._datadescriptor = False return ret def get_real_modname(self): return self.get_attr(self.parent or self.object, '__module__', None) \ or self.modname def add_directive_header(self, sig): ClassLevelDocumenter.add_directive_header(self, sig) if not self.options.annotation: if not self._datadescriptor: try: objrepr = safe_repr(self.object) except ValueError: pass else: self.add_line(u' :annotation: = ' + objrepr, '') elif self.options.annotation is SUPPRESS: pass else: self.add_line(u' :annotation: %s' % self.options.annotation, '') def add_content(self, more_content, no_docstring=False): if not self._datadescriptor: # if it's not a data descriptor, its docstring is very probably the # wrong thing to display no_docstring = True ClassLevelDocumenter.add_content(self, more_content, no_docstring) class InstanceAttributeDocumenter(AttributeDocumenter): """ Specialized Documenter subclass for attributes that cannot be imported because they are instance attributes (e.g. assigned in __init__). """ objtype = 'instanceattribute' directivetype = 'attribute' member_order = 60 # must be higher than AttributeDocumenter priority = 11 @classmethod def can_document_member(cls, member, membername, isattr, parent): """This documents only INSTANCEATTR members.""" return isattr and (member is INSTANCEATTR) def import_object(self): """Never import anything.""" # disguise as an attribute self.objtype = 'attribute' self._datadescriptor = False return True def add_content(self, more_content, no_docstring=False): """Never try to get a docstring from the object.""" AttributeDocumenter.add_content(self, more_content, no_docstring=True) class AutoDirective(Directive): """ The AutoDirective class is used for all autodoc directives. It dispatches most of the work to one of the Documenters, which it selects through its *_registry* dictionary. The *_special_attrgetters* attribute is used to customize ``getattr()`` calls that the Documenters make; its entries are of the form ``type: getattr_function``. Note: When importing an object, all items along the import chain are accessed using the descendant's *_special_attrgetters*, thus this dictionary should include all necessary functions for accessing attributes of the parents. """ # a registry of objtype -> documenter class _registry = {} # a registry of type -> getattr function _special_attrgetters = {} # flags that can be given in autodoc_default_flags _default_flags = set([ 'members', 'undoc-members', 'inherited-members', 'show-inheritance', 'private-members', 'special-members', ]) # standard docutils directive settings has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True # allow any options to be passed; the options are parsed further # by the selected Documenter option_spec = DefDict(identity) def warn(self, msg): self.warnings.append(self.reporter.warning(msg, line=self.lineno)) def run(self): self.filename_set = set() # a set of dependent filenames self.reporter = self.state.document.reporter self.env = self.state.document.settings.env self.warnings = [] self.result = ViewList() try: source, lineno = self.reporter.get_source_and_line(self.lineno) except AttributeError: source = lineno = None self.env.app.debug('[autodoc] %s:%s: input:\n%s', source, lineno, self.block_text) # find out what documenter to call objtype = self.name[4:] doc_class = self._registry[objtype] # add default flags for flag in self._default_flags: if flag not in doc_class.option_spec: continue negated = self.options.pop('no-' + flag, 'not given') is None if flag in self.env.config.autodoc_default_flags and \ not negated: self.options[flag] = None # process the options with the selected documenter's option_spec try: self.genopt = Options(assemble_option_dict( self.options.items(), doc_class.option_spec)) except (KeyError, ValueError, TypeError), err: # an option is either unknown or has a wrong type msg = self.reporter.error('An option to %s is either unknown or ' 'has an invalid value: %s' % (self.name, err), line=self.lineno) return [msg] # generate the output documenter = doc_class(self, self.arguments[0]) documenter.generate(more_content=self.content) if not self.result: return self.warnings self.env.app.debug2('[autodoc] output:\n%s', '\n'.join(self.result)) # record all filenames as dependencies -- this will at least # partially make automatic invalidation possible for fn in self.filename_set: self.state.document.settings.record_dependencies.add(fn) # use a custom reporter that correctly assigns lines to source # filename/description and lineno old_reporter = self.state.memo.reporter self.state.memo.reporter = AutodocReporter(self.result, self.state.memo.reporter) if documenter.titles_allowed: node = nodes.section() # necessary so that the child nodes get the right source/line set node.document = self.state.document nested_parse_with_titles(self.state, self.result, node) else: node = nodes.paragraph() node.document = self.state.document self.state.nested_parse(self.result, 0, node) self.state.memo.reporter = old_reporter return self.warnings + node.children def add_documenter(cls): """Register a new Documenter.""" if not issubclass(cls, Documenter): raise ExtensionError('autodoc documenter %r must be a subclass ' 'of Documenter' % cls) # actually, it should be possible to override Documenters #if cls.objtype in AutoDirective._registry: # raise ExtensionError('autodoc documenter for %r is already ' # 'registered' % cls.objtype) AutoDirective._registry[cls.objtype] = cls def setup(app): app.add_autodocumenter(ModuleDocumenter) app.add_autodocumenter(ClassDocumenter) app.add_autodocumenter(ExceptionDocumenter) app.add_autodocumenter(DataDocumenter) app.add_autodocumenter(FunctionDocumenter) app.add_autodocumenter(MethodDocumenter) app.add_autodocumenter(AttributeDocumenter) app.add_autodocumenter(InstanceAttributeDocumenter) app.add_config_value('autoclass_content', 'class', True) app.add_config_value('autodoc_member_order', 'alphabetic', True) app.add_config_value('autodoc_default_flags', [], True) app.add_config_value('autodoc_docstring_signature', True, True) app.add_event('autodoc-process-docstring') app.add_event('autodoc-process-signature') app.add_event('autodoc-skip-member') class testcls: """test doc string""" def __getattr__(self, x): return x def __setattr__(self, x, y): """Attr setter.""" sphinx-1.2.2+dfsg.orig/sphinx/ext/graphviz.py0000644000000000000000000002567112304557741017741 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.graphviz ~~~~~~~~~~~~~~~~~~~ Allow graphviz-formatted graphs to be included in Sphinx-generated documents inline. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import codecs import posixpath from os import path from subprocess import Popen, PIPE try: from hashlib import sha1 as sha except ImportError: from sha import sha from docutils import nodes from docutils.parsers.rst import directives from sphinx.errors import SphinxError from sphinx.locale import _ from sphinx.util.osutil import ensuredir, ENOENT, EPIPE, EINVAL from sphinx.util.compat import Directive mapname_re = re.compile(r' and ) self.body.append('%s\n' % (fname, alt, imgcss)) else: # has a map: get the name of the map and connect the parts mapname = mapname_re.match(imgmap[0].decode('utf-8')).group(1) self.body.append('%s\n' % (fname, alt, mapname, imgcss)) self.body.extend([item.decode('utf-8') for item in imgmap]) if node.get('caption') and not inline: self.body.append('

\n

') self.body.append(self.encode(node['caption'])) self.body.append('\n' % wrapper) raise nodes.SkipNode def html_visit_graphviz(self, node): render_dot_html(self, node, node['code'], node['options']) def render_dot_latex(self, node, code, options, prefix='graphviz'): try: fname, outfn = render_dot(self, code, options, 'pdf', prefix) except GraphvizError, exc: self.builder.warn('dot code %r: ' % code + str(exc)) raise nodes.SkipNode inline = node.get('inline', False) if inline: para_separator = '' else: para_separator = '\n' if fname is not None: caption = node.get('caption') # XXX add ids from previous target node if caption and not inline: self.body.append('\n\\begin{figure}[h!]') self.body.append('\n\\begin{center}') self.body.append('\n\\caption{%s}' % self.encode(caption)) self.body.append('\n\\includegraphics{%s}' % fname) self.body.append('\n\\end{center}') self.body.append('\n\\end{figure}\n') else: self.body.append('%s\\includegraphics{%s}%s' % (para_separator, fname, para_separator)) raise nodes.SkipNode def latex_visit_graphviz(self, node): render_dot_latex(self, node, node['code'], node['options']) def render_dot_texinfo(self, node, code, options, prefix='graphviz'): try: fname, outfn = render_dot(self, code, options, 'png', prefix) except GraphvizError, exc: self.builder.warn('dot code %r: ' % code + str(exc)) raise nodes.SkipNode if fname is not None: self.body.append('\n\n@float\n') caption = node.get('caption') if caption: self.body.append('@caption{%s}\n' % self.escape_arg(caption)) self.body.append('@image{%s,,,[graphviz],png}\n' '@end float\n\n' % fname[:-4]) raise nodes.SkipNode def texinfo_visit_graphviz(self, node): render_dot_texinfo(self, node, node['code'], node['options']) def text_visit_graphviz(self, node): if 'alt' in node.attributes: self.add_text(_('[graph: %s]') % node['alt']) else: self.add_text(_('[graph]')) raise nodes.SkipNode def man_visit_graphviz(self, node): if 'alt' in node.attributes: self.body.append(_('[graph: %s]') % node['alt']) else: self.body.append(_('[graph]')) raise nodes.SkipNode def setup(app): app.add_node(graphviz, html=(html_visit_graphviz, None), latex=(latex_visit_graphviz, None), texinfo=(texinfo_visit_graphviz, None), text=(text_visit_graphviz, None), man=(man_visit_graphviz, None)) app.add_directive('graphviz', Graphviz) app.add_directive('graph', GraphvizSimple) app.add_directive('digraph', GraphvizSimple) app.add_config_value('graphviz_dot', 'dot', 'html') app.add_config_value('graphviz_dot_args', [], 'html') app.add_config_value('graphviz_output_format', 'png', 'html') sphinx-1.2.2+dfsg.orig/sphinx/ext/extlinks.py0000644000000000000000000000403212304304673017726 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.ext.extlinks ~~~~~~~~~~~~~~~~~~~ Extension to save typing and prevent hard-coding of base URLs in the reST files. This adds a new config value called ``extlinks`` that is created like this:: extlinks = {'exmpl': ('http://example.com/%s.html', prefix), ...} Now you can use e.g. :exmpl:`foo` in your documents. This will create a link to ``http://example.com/foo.html``. The link caption depends on the *prefix* value given: - If it is ``None``, the caption will be the full URL. - If it is a string (empty or not), the caption will be the prefix prepended to the role content. You can also give an explicit caption, e.g. :exmpl:`Foo `. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes, utils from sphinx.util.nodes import split_explicit_title def make_link_role(base_url, prefix): def role(typ, rawtext, text, lineno, inliner, options={}, content=[]): text = utils.unescape(text) has_explicit_title, title, part = split_explicit_title(text) try: full_url = base_url % part except (TypeError, ValueError): inliner.reporter.warning( 'unable to expand %s extlink with base URL %r, please make ' 'sure the base contains \'%%s\' exactly once' % (typ, base_url), line=lineno) full_url = base_url + part if not has_explicit_title: if prefix is None: title = full_url else: title = prefix + part pnode = nodes.reference(title, title, internal=False, refuri=full_url) return [pnode], [] return role def setup_link_roles(app): for name, (base_url, prefix) in app.config.extlinks.iteritems(): app.add_role(name, make_link_role(base_url, prefix)) def setup(app): app.add_config_value('extlinks', {}, 'env') app.connect('builder-inited', setup_link_roles) sphinx-1.2.2+dfsg.orig/sphinx/ext/inheritance_diagram.py0000644000000000000000000003277312304557741022065 0ustar rootroot# -*- coding: utf-8 -*- r""" sphinx.ext.inheritance_diagram ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defines a docutils directive for inserting inheritance diagrams. Provide the directive with one or more classes or modules (separated by whitespace). For modules, all of the classes in that module will be used. Example:: Given the following classes: class A: pass class B(A): pass class C(A): pass class D(B, C): pass class E(B): pass .. inheritance-diagram: D E Produces a graph like the following: A / \ B C / \ / E D The graph is inserted as a PNG+image map into HTML and a PDF in LaTeX. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys import inspect import __builtin__ as __builtin__ # as __builtin__ is for lib2to3 compatibility try: from hashlib import md5 except ImportError: from md5 import md5 from docutils import nodes from docutils.parsers.rst import directives from sphinx.ext.graphviz import render_dot_html, render_dot_latex, \ render_dot_texinfo from sphinx.util.compat import Directive class_sig_re = re.compile(r'''^([\w.]*\.)? # module names (\w+) \s* $ # class/final module name ''', re.VERBOSE) class InheritanceException(Exception): pass class InheritanceGraph(object): """ Given a list of classes, determines the set of classes that they inherit from all the way to the root "object", and then is able to generate a graphviz dot graph from them. """ def __init__(self, class_names, currmodule, show_builtins=False, private_bases=False, parts=0): """*class_names* is a list of child classes to show bases from. If *show_builtins* is True, then Python builtins will be shown in the graph. """ self.class_names = class_names classes = self._import_classes(class_names, currmodule) self.class_info = self._class_info(classes, show_builtins, private_bases, parts) if not self.class_info: raise InheritanceException('No classes found for ' 'inheritance diagram') def _import_class_or_module(self, name, currmodule): """Import a class using its fully-qualified *name*.""" try: path, base = class_sig_re.match(name).groups() except (AttributeError, ValueError): raise InheritanceException('Invalid class or module %r specified ' 'for inheritance diagram' % name) fullname = (path or '') + base path = (path and path.rstrip('.') or '') # two possibilities: either it is a module, then import it try: __import__(fullname) todoc = sys.modules[fullname] except ImportError: # else it is a class, then import the module if not path: if currmodule: # try the current module path = currmodule else: raise InheritanceException( 'Could not import class %r specified for ' 'inheritance diagram' % base) try: __import__(path) todoc = getattr(sys.modules[path], base) except (ImportError, AttributeError): raise InheritanceException( 'Could not import class or module %r specified for ' 'inheritance diagram' % (path + '.' + base)) # If a class, just return it if inspect.isclass(todoc): return [todoc] elif inspect.ismodule(todoc): classes = [] for cls in todoc.__dict__.values(): if inspect.isclass(cls) and cls.__module__ == todoc.__name__: classes.append(cls) return classes raise InheritanceException('%r specified for inheritance diagram is ' 'not a class or module' % name) def _import_classes(self, class_names, currmodule): """Import a list of classes.""" classes = [] for name in class_names: classes.extend(self._import_class_or_module(name, currmodule)) return classes def _class_info(self, classes, show_builtins, private_bases, parts): """Return name and bases for all classes that are ancestors of *classes*. *parts* gives the number of dotted name parts that is removed from the displayed node names. """ all_classes = {} builtins = vars(__builtin__).values() def recurse(cls): if not show_builtins and cls in builtins: return if not private_bases and cls.__name__.startswith('_'): return nodename = self.class_name(cls, parts) fullname = self.class_name(cls, 0) # Use first line of docstring as tooltip, if available tooltip = None try: if cls.__doc__: doc = cls.__doc__.strip().split("\n")[0] if doc: tooltip = '"%s"' % doc.replace('"', '\\"') except Exception: # might raise AttributeError for strange classes pass baselist = [] all_classes[cls] = (nodename, fullname, baselist, tooltip) for base in cls.__bases__: if not show_builtins and base in builtins: continue if not private_bases and base.__name__.startswith('_'): continue baselist.append(self.class_name(base, parts)) if base not in all_classes: recurse(base) for cls in classes: recurse(cls) return all_classes.values() def class_name(self, cls, parts=0): """Given a class object, return a fully-qualified name. This works for things I've tested in matplotlib so far, but may not be completely general. """ module = cls.__module__ if module == '__builtin__': fullname = cls.__name__ else: fullname = '%s.%s' % (module, cls.__name__) if parts == 0: return fullname name_parts = fullname.split('.') return '.'.join(name_parts[-parts:]) def get_all_class_names(self): """Get all of the class names involved in the graph.""" return [fullname for (_, fullname, _, _) in self.class_info] # These are the default attrs for graphviz default_graph_attrs = { 'rankdir': 'LR', 'size': '"8.0, 12.0"', } default_node_attrs = { 'shape': 'box', 'fontsize': 10, 'height': 0.25, 'fontname': '"Vera Sans, DejaVu Sans, Liberation Sans, ' 'Arial, Helvetica, sans"', 'style': '"setlinewidth(0.5)"', } default_edge_attrs = { 'arrowsize': 0.5, 'style': '"setlinewidth(0.5)"', } def _format_node_attrs(self, attrs): return ','.join(['%s=%s' % x for x in attrs.items()]) def _format_graph_attrs(self, attrs): return ''.join(['%s=%s;\n' % x for x in attrs.items()]) def generate_dot(self, name, urls={}, env=None, graph_attrs={}, node_attrs={}, edge_attrs={}): """Generate a graphviz dot graph from the classes that were passed in to __init__. *name* is the name of the graph. *urls* is a dictionary mapping class names to HTTP URLs. *graph_attrs*, *node_attrs*, *edge_attrs* are dictionaries containing key/value pairs to pass on as graphviz properties. """ g_attrs = self.default_graph_attrs.copy() n_attrs = self.default_node_attrs.copy() e_attrs = self.default_edge_attrs.copy() g_attrs.update(graph_attrs) n_attrs.update(node_attrs) e_attrs.update(edge_attrs) if env: g_attrs.update(env.config.inheritance_graph_attrs) n_attrs.update(env.config.inheritance_node_attrs) e_attrs.update(env.config.inheritance_edge_attrs) res = [] res.append('digraph %s {\n' % name) res.append(self._format_graph_attrs(g_attrs)) for name, fullname, bases, tooltip in sorted(self.class_info): # Write the node this_node_attrs = n_attrs.copy() if fullname in urls: this_node_attrs['URL'] = '"%s"' % urls[fullname] if tooltip: this_node_attrs['tooltip'] = tooltip res.append(' "%s" [%s];\n' % (name, self._format_node_attrs(this_node_attrs))) # Write the edges for base_name in bases: res.append(' "%s" -> "%s" [%s];\n' % (base_name, name, self._format_node_attrs(e_attrs))) res.append('}\n') return ''.join(res) class inheritance_diagram(nodes.General, nodes.Element): """ A docutils node to use as a placeholder for the inheritance diagram. """ pass class InheritanceDiagram(Directive): """ Run when the inheritance_diagram directive is first encountered. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = { 'parts': directives.nonnegative_int, 'private-bases': directives.flag, } def run(self): node = inheritance_diagram() node.document = self.state.document env = self.state.document.settings.env class_names = self.arguments[0].split() class_role = env.get_domain('py').role('class') # Store the original content for use as a hash node['parts'] = self.options.get('parts', 0) node['content'] = ', '.join(class_names) # Create a graph starting with the list of classes try: graph = InheritanceGraph( class_names, env.temp_data.get('py:module'), parts=node['parts'], private_bases='private-bases' in self.options) except InheritanceException, err: return [node.document.reporter.warning(err.args[0], line=self.lineno)] # Create xref nodes for each target of the graph's image map and # add them to the doc tree so that Sphinx can resolve the # references to real URLs later. These nodes will eventually be # removed from the doctree after we're done with them. for name in graph.get_all_class_names(): refnodes, x = class_role( 'class', ':class:`%s`' % name, name, 0, self.state) node.extend(refnodes) # Store the graph object so we can use it to generate the # dot file later node['graph'] = graph return [node] def get_graph_hash(node): encoded = (node['content'] + str(node['parts'])).encode('utf-8') return md5(encoded).hexdigest()[-10:] def html_visit_inheritance_diagram(self, node): """ Output the graph for HTML. This will insert a PNG with clickable image map. """ graph = node['graph'] graph_hash = get_graph_hash(node) name = 'inheritance%s' % graph_hash # Create a mapping from fully-qualified class names to URLs. urls = {} for child in node: if child.get('refuri') is not None: urls[child['reftitle']] = child.get('refuri') elif child.get('refid') is not None: urls[child['reftitle']] = '#' + child.get('refid') dotcode = graph.generate_dot(name, urls, env=self.builder.env) render_dot_html(self, node, dotcode, [], 'inheritance', 'inheritance', alt='Inheritance diagram of ' + node['content']) raise nodes.SkipNode def latex_visit_inheritance_diagram(self, node): """ Output the graph for LaTeX. This will insert a PDF. """ graph = node['graph'] graph_hash = get_graph_hash(node) name = 'inheritance%s' % graph_hash dotcode = graph.generate_dot(name, env=self.builder.env, graph_attrs={'size': '"6.0,6.0"'}) render_dot_latex(self, node, dotcode, [], 'inheritance') raise nodes.SkipNode def texinfo_visit_inheritance_diagram(self, node): """ Output the graph for Texinfo. This will insert a PNG. """ graph = node['graph'] graph_hash = get_graph_hash(node) name = 'inheritance%s' % graph_hash dotcode = graph.generate_dot(name, env=self.builder.env, graph_attrs={'size': '"6.0,6.0"'}) render_dot_texinfo(self, node, dotcode, [], 'inheritance') raise nodes.SkipNode def skip(self, node): raise nodes.SkipNode def setup(app): app.setup_extension('sphinx.ext.graphviz') app.add_node( inheritance_diagram, latex=(latex_visit_inheritance_diagram, None), html=(html_visit_inheritance_diagram, None), text=(skip, None), man=(skip, None), texinfo=(texinfo_visit_inheritance_diagram, None)) app.add_directive('inheritance-diagram', InheritanceDiagram) app.add_config_value('inheritance_graph_attrs', {}, False), app.add_config_value('inheritance_node_attrs', {}, False), app.add_config_value('inheritance_edge_attrs', {}, False), sphinx-1.2.2+dfsg.orig/sphinx/locale/0000755000000000000000000000000012304560277016157 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/hu/0000755000000000000000000000000012304560277016573 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/hu/LC_MESSAGES/0000755000000000000000000000000012304560277020360 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/hu/LC_MESSAGES/sphinx.po0000644000000000000000000005133712263743422022241 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2011 # Tibor Toth , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 16:08+0000\n" "Last-Translator: Tibor Toth \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/sphinx-1/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s dokumentáció" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "lásd %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "lásd még %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Szimbólumok" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Fejlesztési Javaslatok; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y. %m. %d." #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Beépített" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modul szint" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Általános tárgymutató" #: sphinx/builders/html.py:309 msgid "index" msgstr "nyitóoldal" #: sphinx/builders/html.py:369 msgid "next" msgstr "következő" #: sphinx/builders/html.py:378 msgid "previous" msgstr "előző" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Fejezet szerző: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modul szerző: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kód szerző: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Szerző: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Paraméterek" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Visszatérési érték" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Visszatérés típusa" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C függvény)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C tagváltozó)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makró)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C típus)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C változó)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "függvény" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "tag" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makró" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "típus" #: sphinx/domains/c.py:207 msgid "variable" msgstr "változó" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ osztály)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ típus)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ tagváltozó)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ függvény)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "osztály" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (beépített függvény)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metódus)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (osztály)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globális változó vagy konstans)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attribútum)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumentum" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "adat" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribútum" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Változók" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s modulban)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (beépített változó)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s modulban)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (beépített osztály)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (osztály %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metódus)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statikus metódus)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statikus metódus)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s osztály metódus)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s osztály metódus)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attribútum)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python Modul Mutató" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modulok" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Elavult" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "kivétel" #: sphinx/domains/python.py:564 msgid "method" msgstr "metódus" #: sphinx/domains/python.py:565 msgid "class method" msgstr "osztály szintű metódus" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statikus metódus" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (elavult)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktíva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (szerepkör)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktíva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "szerepkör" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "környezeti változó; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sparancssor opció; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "szójegyzék" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "nyelvtani jel" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referencia cimke" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "környezeti változó" #: sphinx/domains/std.py:419 msgid "program option" msgstr "program opció" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Tárgymutató" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulok" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Keresés" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Alapul: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "álneve :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graph: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graph]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(%s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[source]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Visszatérési érték: Mindig NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Visszatérési érték: Új referencia érték." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Tennivaló" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(Az <> megtalálható a(z) %s, %d sor.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "eredeti bejegyzés" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modul forráskód" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s forráskódja

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Áttekintés: modul forráskód" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Az összes modul, melynek forrása elérhető

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Figyelem" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Figyelem" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Veszély" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Hiba" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Tipp" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Fontos" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Megjegyzés" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Lásd még" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Javaslat" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Figyelem" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Új a(z) %s verzióban" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "A %s verzióban változott" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Elavult a(z) %s verzió óta" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "kulcsszó" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operátor" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objektum" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "beépített függvény" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Tartalomjegyzék" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Keresés" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Ok" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Adjon meg egy keresendő kifejezést, modul, osztály vagy funkció nevet." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Forrás megtekintése" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Áttekintés" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "utoljára frissítve" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Tárgymutató és táblázatok" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Teljes tartalomjegyzék" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "kilistázza az összes fejezetet és alfejezetet" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "keresés ebben a dokumentációban" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Teljes modul tárgymutató" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "gyors hozzáférés az összes modulhoz" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "összes funkció, osztály és kifejezés" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Tárgymutató – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Teljes tárgymutató egy oldalon" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Oldalak ABC sorrendben" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "nagy lehet" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigáció" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Keresés köztük: %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Névjegy ezekről a dokumentumokról" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Minden jog fenntartva" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Minden jog fenntartva %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Minden jog fenntartva %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Utolsó frissítés %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sphinx %(sphinx_version)s használatával készült." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Keresés %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Előző témakör" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "előző fejezet" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Következő témakör" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "következő fejezet" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Kérem engedélyezze a JavaScriptet a kereső funkció\n használatához." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Erről az oldalról indíthatja kereséseit. Írja be a kulcsszavakat\n az alábbi szövegdobozba, majd kattintson a \"keresés\" gombra.\n Ügyeljen arra, hogy a keresés megadott kulcsszavak mindegyikét\n figyelembe veszi, így azok az oldalak, melyek nem tartalmazzák az\n összes kifejezést, nem jelennek meg a találati listában." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "keresés" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Keresési Eredmények" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Gyorskeresés" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Ez az Oldal" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Változások a(z) %(version)s változatban — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatikusan generált változáslista a(z) %(version)s változathoz" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Könyvtár változások" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API változások" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Egyéb változások" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Hivatkozás erre a fejezetcímre" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Hivatkozás erre a definícióra" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Keresési Találatok Elrejtése" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Keresés folyamatban" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Felkészülés a keresésre..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "A keresés befejeződött, %s oldal egyezik a keresési felételeknek." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Oldalsáv kinyitása" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Oldalsáv összezárása" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Tartalom" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Kiadás" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Lábjegyzetek" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "folytatás az előző oldalról" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "A következő oldalon folytatódik" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[image: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[image]" sphinx-1.2.2+dfsg.orig/sphinx/locale/hu/LC_MESSAGES/sphinx.js0000644000000000000000000000047112304304616022222 0ustar rootrootDocumentation.addTranslations({"locale": "hu", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Keres\u00e9si Tal\u00e1latok Elrejt\u00e9se", "Permalink to this definition": "Hivatkoz\u00e1s erre a defin\u00edci\u00f3ra", "Permalink to this headline": "Hivatkoz\u00e1s erre a fejezetc\u00edmre"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/hu/LC_MESSAGES/sphinx.mo0000644000000000000000000002542112263742675022242 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "   3J \j ~/&?f w1O_rB+;5>6D{$  E *=F@a" Y$ ~   J   !X! x""""""" " #)#@#%_##### # ### $$ ,$9$ Y$ f$ $K$$%&%%L% a%o%v%~%$%!%/% &"&+&B&K&Fa& &&& && '' /';'B' K' V'a'j'{'( (( !(-(5(>()R( |(( ((((( (()-) 6) A) N) \) h)r)0)))))) ))) * * *(*8*'G*o* **"** * ***+ + Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 16:08+0000 Last-Translator: Tibor Toth Language-Team: Hungarian (http://www.transifex.com/projects/p/sphinx-1/language/hu/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Alapul: %s (elavult) (%(filename)s — %(docstitle)s%Y. %m. %d.%b %d, %Y%s %s%s %s dokumentáció%s (%s attribútum)%s (%s.%s attribútum)%s (C függvény)%s (C makró)%s (C tagváltozó)%s (C típus)%s (C változó)%s (C++ osztály)%s (C++ függvény)%s (C++ tagváltozó)%s (C++ típus)%s (beépített osztály)%s (beépített változó)%s (osztály %s)%s (direktíva)%s (globális változó vagy konstans)%s (%s modulban)%s (modul)%s (szerepkör)%s() (%s osztály metódus)%s() (%s metódus)%s() (%s statikus metódus)%s() (%s.%s osztály metódus)%s() (%s.%s metódus)%s() (%s.%s statikus metódus)%s() (beépített függvény)%s() (osztály)%s() (%s modulban)%sparancssor opció; %s© Minden jog fenntartva %(copyright)s.© Minden jog fenntartva %(copyright)s.(Az <> megtalálható a(z) %s, %d sor.)(%s v%s), in

Az összes modul, melynek forrása elérhető

%s forráskódja

Névjegy ezekről a dokumentumokrólArgumentumFigyelemSzerző: Automatikusan generált változáslista a(z) %(version)s változathozBeépítettC API változásokFigyelemA %s verzióban változottVáltozások a(z) %(version)s változatban — %(docstitle)sKód szerző: Oldalsáv összezárásaTeljes tartalomjegyzékTartalomA következő oldalon folytatódikMinden jog fenntartvaSphinx %(sphinx_version)s használatával készült.VeszélyElavultElavult a(z) %s verzió ótaAdjon meg egy keresendő kifejezést, modul, osztály vagy funkció nevet.HibaOldalsáv kinyitásaLábjegyzetekErről az oldalról indíthatja kereséseit. Írja be a kulcsszavakat az alábbi szövegdobozba, majd kattintson a "keresés" gombra. Ügyeljen arra, hogy a keresés megadott kulcsszavak mindegyikét figyelembe veszi, így azok az oldalak, melyek nem tartalmazzák az összes kifejezést, nem jelennek meg a találati listában.Teljes tárgymutató egy oldalonÁltalános tárgymutatóTeljes modul tárgymutatóOkKeresési Találatok ElrejtéseTippFontosTárgymutatóTárgymutató – %(key)sOldalak ABC sorrendbenTárgymutató és táblázatokUtolsó frissítés %(last_updated)s.Könyvtár változásokModulokModul szerző: Modul forráskódModul szintNavigációÚj a(z) %s verzióbanKövetkező témakörMegjegyzésEgyéb változásokÁttekintésÁttekintés: modul forráskódParaméterekHivatkozás erre a definícióraHivatkozás erre a fejezetcímreKérem engedélyezze a JavaScriptet a kereső funkció használatához.Felkészülés a keresésre...Előző témakörPython Fejlesztési Javaslatok; PEP %sPython Modul MutatóGyorskeresésRaisesKiadásVisszatérés típusaVisszatérési érték: Mindig NULL.Return value: Borrowed reference.Visszatérési érték: Új referencia érték.Visszatérési értékKeresésKeresés %(docstitle)sKeresésKeresési EredményekA keresés befejeződött, %s oldal egyezik a keresési felételeknek.Keresés köztük: %(docstitle)sKeresés folyamatbanFejezet szerző: Lásd mégForrás megtekintéseSzimbólumokTartalomjegyzékEz az OldalThrowsJavaslatTennivalóVáltozókFigyelemWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]álneve :class:`%s`összes funkció, osztály és kifejezésattribútumbeépített függvénynagy lehetosztályosztály szintű metódusfolytatás az előző oldalróladatdirektívakörnyezeti változókörnyezeti változó; %skivételfüggvényszójegyzéknyelvtani jelnyitóoldalkulcsszóutoljára frissítvekilistázza az összes fejezetet és alfejezetetmakrótagmetódusmodulmodulokkövetkezőkövetkező fejezetobjektumoperátoreredeti bejegyzéselőzőelőző fejezetprogram opciógyors hozzáférés az összes modulhozreferencia cimkeszerepkörkereséskeresés ebben a dokumentációbanlásd %slásd még %sstatementstatikus metódusthe documentation fortípusváltozósphinx-1.2.2+dfsg.orig/sphinx/locale/nl/0000755000000000000000000000000012304560277016570 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/nl/LC_MESSAGES/0000755000000000000000000000000012304560277020355 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/nl/LC_MESSAGES/sphinx.po0000644000000000000000000004707412263743422022241 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:33+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/sphinx-1/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s documentatie" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "zie %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "zie %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d. %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Builtins" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Moduleniveau" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d.%b.%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Algemene index" #: sphinx/builders/html.py:309 msgid "index" msgstr "Index" #: sphinx/builders/html.py:369 msgid "next" msgstr "volgende" #: sphinx/builders/html.py:378 msgid "previous" msgstr "vorige" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Auteur van deze sectie: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Auteur van deze module: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Auteur: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parameters" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Returns" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Return type" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C-functie)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C member)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C-macro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C type)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C-variabele)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "functie" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "member" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "type" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabele" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ klasse)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ type)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ member)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ functie)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasse" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (geïntegreerde functie)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s methode)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasse)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globale variabele of constante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attribuut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribuut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Veroorzaakt" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (in module %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (geïntegreerde variabele)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (in module %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (geïntegreerde klasse)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasse in %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s methode)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statische methode)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statische methode)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attribuut)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (module)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modules" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Verouderd" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "exceptie" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statische methode" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "module" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (verouderd)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "omgevingsvariabele; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopdrachtregel optie; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "omgevingsvariabele" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Index" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Module-index" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Zoekpagina" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Te doen" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(Het <> is te vinden in %s, regel %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "originele item" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Let op" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Pas op" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Gevaar" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Fout" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Hint" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Belangrijk" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Notitie" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Zie ook" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Waarschuwing" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nieuw in versie %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Veranderd in versie %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Verouderd sinds versie %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "trefwoord" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "object" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "statement" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "ingebouwde functie" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Inhoudsopgave" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Zoeken" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Ga" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Geef zoekterm of de naam van een module, klasse of functie." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Broncode weergeven" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Overzicht" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indices en tabellen:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Volledige inhoudsopgave" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "geeft alle secties en subsecties weer" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "zoeken in deze documentatie" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globale Module-index" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "sneltoegang naar alle modules" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "alle functies, klasses en begrippen" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Volledige index op een pagina" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Index pagineerd per letter" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "kan heel groot zijn" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigatie" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Zoeken in %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Over deze documenten" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Laatste aanpassing op %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Aangemaakt met Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Zoeken %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Vorig onderwerp" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Vorig hoofdstuk" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Volgend onderwerp" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "volgend hoofdstuk" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Activeer JavaSscript om de zoekfunctionaliteit in te schakelen." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Hier kan u de documenten doorzoeken. Geef enkele trefwoorden\n in het veld hieronder en klik \"zoeken\". Merk op dat de zoekfunctie\n steeds naar alle woorden zoekt. Pagina's die minder woorden bevatten\n zullen niet tussen de resultaten verschijnen." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "zoeken" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Zoekresultaten" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Snel zoeken" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Deze pagina" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Veranderingen in versie %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatisch gegenereerde lijst van veranderingen in versie %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Veranderingen in de bibliotheek" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Veranderingen in de C-API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Andere veranderingen" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Permalink naar deze titel" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Permalink naar deze definitie" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Zoekresultaten verbergen" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Inhoud" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Release" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Voetnoten" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "Vervolgd van vorige pagina" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Vervolgd op volgende pagina" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[afbeelding]" sphinx-1.2.2+dfsg.orig/sphinx/locale/nl/LC_MESSAGES/sphinx.js0000644000000000000000000000041012304304616022210 0ustar rootrootDocumentation.addTranslations({"locale": "nl", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Zoekresultaten verbergen", "Permalink to this definition": "Permalink naar deze definitie", "Permalink to this headline": "Permalink naar deze titel"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/nl/LC_MESSAGES/sphinx.mo0000644000000000000000000002434412263742675022242 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " +@ O \ jv # D V bl +?6Y6 0*F [elFu9 7EVnu N ; Q V e o q!!!!!! !!!!"'+"S" s"" " " """"" "# #)#G#?a###$## # $$ $*$!E$g$$$$ $$<$$ %!%:%B%U% ]% k%w%~%% % %%%=& D&P& X& d&q&z&#& &&&& &&' '"'5'L'U' ]' k'y' ' '%'''''''''( (( (0(?(](m(r(y((( (((( ( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:33+0000 Last-Translator: birkenfeld Language-Team: Dutch (http://www.transifex.com/projects/p/sphinx-1/language/nl/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (verouderd) (in %(filename)s — %(docstitle)s%d. %B %Y%d.%b.%Y%s %s%s %s documentatie%s (%s attribuut)%s (%s.%s attribuut)%s (C-functie)%s (C-macro)%s (C member)%s (C type)%s (C-variabele)%s (C++ klasse)%s (C++ functie)%s (C++ member)%s (C++ type)%s (geïntegreerde klasse)%s (geïntegreerde variabele)%s (klasse in %s)%s (directive)%s (globale variabele of constante)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s methode)%s() (%s statische methode)%s() (%s.%s class method)%s() (%s.%s methode)%s() (%s.%s statische methode)%s() (geïntegreerde functie)%s() (klasse)%s() (in module %s)%sopdrachtregel optie; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(Het <> is te vinden in %s, regel %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

Over deze documentenArgumentsLet opAuteur: Automatisch gegenereerde lijst van veranderingen in versie %(version)sBuiltinsVeranderingen in de C-APIPas opVeranderd in versie %sVeranderingen in versie %(version)s — %(docstitle)sCode author: Collapse sidebarVolledige inhoudsopgaveInhoudVervolgd op volgende paginaCopyrightAangemaakt met Sphinx %(sphinx_version)s.GevaarVerouderdVerouderd sinds versie %sGeef zoekterm of de naam van een module, klasse of functie.FoutExpand sidebarVoetnotenHier kan u de documenten doorzoeken. Geef enkele trefwoorden in het veld hieronder en klik "zoeken". Merk op dat de zoekfunctie steeds naar alle woorden zoekt. Pagina's die minder woorden bevatten zullen niet tussen de resultaten verschijnen.Volledige index op een paginaAlgemene indexGlobale Module-indexGaZoekresultaten verbergenHintBelangrijkIndexIndex – %(key)sIndex pagineerd per letterIndices en tabellen:Laatste aanpassing op %(last_updated)s.Veranderingen in de bibliotheekModule-indexAuteur van deze module: Module codeModuleniveauNavigatieNieuw in versie %sVolgend onderwerpNotitieAndere veranderingenOverzichtOverview: module codeParametersPermalink naar deze definitiePermalink naar deze titelActiveer JavaSscript om de zoekfunctionaliteit in te schakelen.Preparing search...Vorig onderwerpPython Enhancement Proposals; PEP %sPython Module IndexSnel zoekenVeroorzaaktReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsZoekenZoeken %(docstitle)sZoekpaginaZoekresultatenSearch finished, found %s page(s) matching the search query.Zoeken in %(docstitle)sSearchingAuteur van deze sectie: Zie ookBroncode weergevenSymbolsInhoudsopgaveDeze paginaThrowsTipTe doenVariablesWaarschuwingWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][afbeelding][source]alias of :class:`%s`alle functies, klasses en begrippenattribuutingebouwde functiekan heel groot zijnklasseclass methodVervolgd van vorige paginadatadirectiveomgevingsvariabeleomgevingsvariabele; %sexceptiefunctieglossary termgrammar tokenIndextrefwoordlast updatedgeeft alle secties en subsecties weermacromembermethodmodulemodulesvolgendevolgend hoofdstukobjectoperatororiginele itemvorigeVorig hoofdstukprogram optionsneltoegang naar alle modulesreference labelrolezoekenzoeken in deze documentatiezie %szie %sstatementstatische methodethe documentation fortypevariabelesphinx-1.2.2+dfsg.orig/sphinx/locale/zh_TW/0000755000000000000000000000000012304560277017212 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/zh_TW/LC_MESSAGES/0000755000000000000000000000000012304560277020777 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po0000644000000000000000000004376312263743422022664 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Fred Lin , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:42+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/sphinx-1/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "總索引" #: sphinx/builders/html.py:309 msgid "index" msgstr "索引" #: sphinx/builders/html.py:369 msgid "next" msgstr "下一頁" #: sphinx/builders/html.py:378 msgid "previous" msgstr "上一頁" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Section 作者:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "模組作者:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "作者:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "參數" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "返回" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "返回類別" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C 函式)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C 成員)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C 巨集)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C 類別)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C 變數)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "函式" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "成員" #: sphinx/domains/c.py:205 msgid "macro" msgstr "巨集" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "類別" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ 類別)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ 成員)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ 函式)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (內建函式)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s 方法)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s 屬性)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "屬性" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (在 %s 模組中)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (內建變數)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s() (在 %s 模組中)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (內建類別)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s 方法)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s 靜態方法)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s 靜態方法)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s 屬性)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (模組)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "模組" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "已移除" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "例外" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "靜態方法" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "模組" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "環境變數; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s命令列選項; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "環境變數" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "索引" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "模組索引" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "搜尋頁面" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "待辦" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "注意" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "警示" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "危險" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "錯誤" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "提示" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "重要" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "註解" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "小技巧" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "警告" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "%s 版新功能" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "在 %s 版改變" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "%s 版後已移除" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "關鍵字" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "運算子" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "物件" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "內建函式" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "內容目錄" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "搜尋" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "顯示原始碼" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "瀏覽" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "在 %(docstitle)s 中搜尋" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "版權所有" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "最後更新日期是 %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "搜尋 %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "上一個主題" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "上一章" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "下一個主題" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "下一章" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "搜尋" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "搜尋結果" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "快速搜尋" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "本頁" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API 改變" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "其他改變:" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "釋出" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[圖片]" sphinx-1.2.2+dfsg.orig/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js0000644000000000000000000000027312304304616022641 0ustar rootrootDocumentation.addTranslations({"locale": "zh_Hant_TW", "plural_expr": "0", "messages": {"Hide Search Matches": "", "Permalink to this definition": "", "Permalink to this headline": ""}});sphinx-1.2.2+dfsg.orig/sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo0000644000000000000000000002404112263742675022656 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " %9H Z h v   #D \ hr 26H4 03 IS Z>d 4 %@I `Mm 7  - 7 8! O!Y!m!p!!!!!!!'!" "" ." :"G"N"^"n"u""""""B"&#:#$J#o# ### ##!##$ $$ ($ 5$<B$$ $$$$$ $$$ $$ %%%&%% %% %%%%%& $& 1&=& C&P&m& r& |&&&& & && & &"&' '''!' (' 2'<' C'M' \' f'p''''''' ' ' ''(( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:42+0000 Last-Translator: birkenfeld Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/sphinx-1/language/zh_TW/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%Y 年 %m 月 %d 日%Y 年 %m 月 %d 日%s %s%s %s documentation%s (%s 屬性)%s (%s.%s 屬性)%s (C 函式)%s (C 巨集)%s (C 成員)%s (C 類別)%s (C 變數)%s (C++ class)%s (C++ 函式)%s (C++ 成員)%s (C++ 類別)%s (內建類別)%s (內建變數)%s (class in %s)%s (directive)%s (global variable or constant)%s() (在 %s 模組中)%s (模組)%s (role)%s() (%s class method)%s() (%s 方法)%s() (%s 靜態方法)%s() (%s.%s class method)%s() (%s.%s 方法)%s() (%s.%s 靜態方法)%s() (內建函式)%s() (class)%s() (在 %s 模組中)%s命令列選項; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArguments注意作者:Automatically generated list of changes in version %(version)sBuiltinsC API 改變警示在 %s 版改變Changes in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next page版權所有Created using Sphinx %(sphinx_version)s.危險已移除%s 版後已移除Enter search terms or a module, class or function name.錯誤Expand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one page總索引Global Module IndexGoHide Search Matches提示重要索引Index – %(key)sIndex pages by letterIndices and tables:最後更新日期是 %(last_updated)s.Library changes模組索引模組作者:Module codeModule level瀏覽%s 版新功能下一個主題註解其他改變:OverviewOverview: module code參數Permalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...上一個主題Python Enhancement Proposals; PEP %sPython Module Index快速搜尋Raises釋出返回類別Return value: Always NULL.Return value: Borrowed reference.Return value: New reference.返回搜尋搜尋 %(docstitle)s搜尋頁面搜尋結果Search finished, found %s page(s) matching the search query.在 %(docstitle)s 中搜尋SearchingSection 作者:See also顯示原始碼Symbols內容目錄本頁Throws小技巧待辦Variables警告Welcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][圖片][source]alias of :class:`%s`all functions, classes, terms屬性內建函式can be hugeclassclass methodcontinued from previous pagedatadirective環境變數環境變數; %s例外函式glossary termgrammar token索引關鍵字last updatedlists all sections and subsections巨集成員method模組模組下一頁下一章物件運算子original entry上一頁上一章program optionquick access to all modulesreference labelrole搜尋search this documentationsee %ssee also %sstatement靜態方法the documentation for類別variablesphinx-1.2.2+dfsg.orig/sphinx/locale/ja/0000755000000000000000000000000012304560277016551 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ja/LC_MESSAGES/0000755000000000000000000000000012304560277020336 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ja/LC_MESSAGES/sphinx.po0000644000000000000000000005254312263776123022223 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # shirou - しろう, 2013 # Akitoshi Ohta , 2011 # Kouhei Sutou , 2011 # Takayuki Shimizukawa , 2013 # whosaysni , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-11-20 09:59+0000\n" "Last-Translator: Takayuki Shimizukawa \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/sphinx-1/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s ドキュメント" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "%sを参照" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "%sも参照" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "シンボル" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "組み込み" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "モジュールレベル" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "総合索引" #: sphinx/builders/html.py:309 msgid "index" msgstr "索引" #: sphinx/builders/html.py:369 msgid "next" msgstr "次へ" #: sphinx/builders/html.py:378 msgid "previous" msgstr "前へ" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (in " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "この節の作者: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "モジュールの作者: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "コードの作者: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "作者: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "パラメタ" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "戻り値" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "戻り値の型" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C の関数)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C のメンバ変数)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C のマクロ)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C のデータ型)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C の変数)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "の関数" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "のメンバ変数" #: sphinx/domains/c.py:205 msgid "macro" msgstr "のマクロ" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "のデータ型" #: sphinx/domains/c.py:207 msgid "variable" msgstr "変数" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "例外" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ のクラス)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ のデータ型)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ のメンバ変数)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ の関数)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "クラス" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (組み込み関数)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s のメソッド)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (クラス)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (グローバル変数または定数)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s の属性)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "引数" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "データ" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "の属性" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "変数" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "例外" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s モジュール)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (組み込み変数)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s モジュール)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (組み込みクラス)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (%s のクラス)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s のメソッド)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s の静的メソッド)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s の静的メソッド)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s のクラスメソッド)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s のクラスメソッド)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s の属性)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (モジュール)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Pythonモジュール索引" #: sphinx/domains/python.py:492 msgid "modules" msgstr "モジュール" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "撤廃" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "例外" #: sphinx/domains/python.py:564 msgid "method" msgstr "メソッド" #: sphinx/domains/python.py:565 msgid "class method" msgstr "クラスメソッド" #: sphinx/domains/python.py:566 msgid "static method" msgstr "の静的メソッド" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "モジュール" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (撤廃)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (ディレクティブ)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (ロール)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "ディレクティブ" #: sphinx/domains/rst.py:105 msgid "role" msgstr "ロール" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "環境変数; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sコマンドラインオプション; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "用語集の項目" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "文法トークン" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "参照ラベル" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "環境変数" #: sphinx/domains/std.py:419 msgid "program option" msgstr "プログラムオプション" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "索引" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "モジュール索引" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "検索ページ" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " ベースクラス: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr ":class:`%s` のエイリアス" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[グラフ: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[グラフ]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(in %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[ソース]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "返り値: 常にNULL。" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "返り値: 新たな参照" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "返り値: 借用参照" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "課題" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<<元のエントリ>> は、 %s の %d 行目です)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "元のエントリ" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[ドキュメント]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "モジュールコード" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s のソースコード

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "概要: モジュールコード" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

全モジュールのうち、コードを読めるもの

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "注意" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "ご用心" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "危険" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "エラー" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "ヒント" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "重要" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "ノート" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "参考" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "ちなみに" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "警告" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "バージョン %s で追加" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "バージョン %s で変更" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "バージョン %s で撤廃" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "キーワード" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "演算子" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "オブジェクト" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "文" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "組み込み関数" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "目次" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "検索" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "検索" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "モジュール、クラス、または関数名を入力してください" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "ソースコードを表示" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "概要" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Welcome! This is" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "the documentation for" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "最終更新" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "索引と表一覧:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "総合目次" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "章/節一覧" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "ドキュメントを検索" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "モジュール総索引" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "全モジュール早見表" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "関数、クラスおよび用語総覧" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "索引 – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "総索引" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "頭文字別索引" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "大きい場合があるので注意" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "ナビゲーション" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "%(docstitle)s 内を検索" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "このドキュメントについて" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "著作権" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "最終更新: %(last_updated)s" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "このドキュメントは Sphinx %(sphinx_version)s で生成しました。" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s 内を検索" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "前のトピックへ" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "前の章へ" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "次のトピックへ" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "次の章へ" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "検索機能を使うには JavaScript を有効にしてください。" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "このページからドキュメントを検索できます。キーワードを下のボックスに入力して、「検索」をクリックしてください。入力された全てのキーワードを含むページが検索されます。一部のキーワードしか含まないページは検索結果に表示されないので注意してください。" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "検索" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "検索結果" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "検索した文字列はどの文書にも見つかりませんでした。すべての単語が正確に記述されているか、あるいは、十分なカテゴリーが選択されているか確認してください。" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "クイック検索" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "このページ" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "バージョン %(version)s の変更点 — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "バージョン %(version)s の変更点(このリストは自動生成されています)" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "ライブラリに関する変更" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API に関する変更" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "その多の変更" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "このヘッドラインへのパーマリンク" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "この定義へのパーマリンク" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "検索結果を隠す" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "検索中" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "検索を準備しています..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "検索が完了し、 %s ページ見つけました。" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", in " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "サイドバーを展開" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "サイドバーをたたむ" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "コンテンツ" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "リリース" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "注記" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "前のページからの続き" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "次のページに続く" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[画像: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[画像]" sphinx-1.2.2+dfsg.orig/sphinx/locale/ja/LC_MESSAGES/sphinx.js0000644000000000000000000000060512304304616022177 0ustar rootrootDocumentation.addTranslations({"locale": "ja", "plural_expr": "0", "messages": {"Hide Search Matches": "\u691c\u7d22\u7d50\u679c\u3092\u96a0\u3059", "Permalink to this definition": "\u3053\u306e\u5b9a\u7fa9\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af", "Permalink to this headline": "\u3053\u306e\u30d8\u30c3\u30c9\u30e9\u30a4\u30f3\u3078\u306e\u30d1\u30fc\u30de\u30ea\u30f3\u30af"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/ja/LC_MESSAGES/sphinx.mo0000644000000000000000000002605712263776123022221 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    ",2K]r7Rj)"#=%]"*63j6 B!$8]dk^t   > _ t   s D!K!R!Ko! !!!n! T# ^#k### #######!$8$N$i$$$$$ $$% % )%$6%0[%H%!%%$ &2&N&a& h&u&&&& &&&& '7'R' m'w''' '''' ''''' (() ) )-) 6)B)'a) ))$) ))) ** **7*H* O*Y*l*** ** ** ***+ ++ '+1+D+ K+X+w++ +++ + +++,,(, Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-11-20 09:59+0000 Last-Translator: Takayuki Shimizukawa Language-Team: Japanese (http://www.transifex.com/projects/p/sphinx-1/language/ja/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 ベースクラス: %s (撤廃) (in %(filename)s — %(docstitle)s%Y 年 %m 月 %d 日%Y 年 %m 月 %d 日%s %s%s %s ドキュメント%s (%s の属性)%s (%s.%s の属性)%s (C の関数)%s (C のマクロ)%s (C のメンバ変数)%s (C のデータ型)%s (C の変数)%s (C++ のクラス)%s (C++ の関数)%s (C++ のメンバ変数)%s (C++ のデータ型)%s (組み込みクラス)%s (組み込み変数)%s (%s のクラス)%s (ディレクティブ)%s (グローバル変数または定数)%s (%s モジュール)%s (モジュール)%s (ロール)%s() (%s のクラスメソッド)%s() (%s のメソッド)%s() (%s の静的メソッド)%s() (%s.%s のクラスメソッド)%s() (%s.%s のメソッド)%s() (%s.%s の静的メソッド)%s() (組み込み関数)%s() (クラス)%s() (%s モジュール)%sコマンドラインオプション; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<<元のエントリ>> は、 %s の %d 行目です)(in %s v%s), in

全モジュールのうち、コードを読めるもの

%s のソースコード

このドキュメントについて引数注意作者: バージョン %(version)s の変更点(このリストは自動生成されています)組み込みC API に関する変更ご用心バージョン %s で変更バージョン %(version)s の変更点 — %(docstitle)sコードの作者: サイドバーをたたむ総合目次コンテンツ次のページに続く著作権このドキュメントは Sphinx %(sphinx_version)s で生成しました。危険撤廃バージョン %s で撤廃モジュール、クラス、または関数名を入力してくださいエラーサイドバーを展開注記このページからドキュメントを検索できます。キーワードを下のボックスに入力して、「検索」をクリックしてください。入力された全てのキーワードを含むページが検索されます。一部のキーワードしか含まないページは検索結果に表示されないので注意してください。総索引総合索引モジュール総索引検索検索結果を隠すヒント重要索引索引 – %(key)s頭文字別索引索引と表一覧:最終更新: %(last_updated)sライブラリに関する変更モジュール索引モジュールの作者: モジュールコードモジュールレベルナビゲーションバージョン %s で追加次のトピックへノートその多の変更概要概要: モジュールコードパラメタこの定義へのパーマリンクこのヘッドラインへのパーマリンク検索機能を使うには JavaScript を有効にしてください。検索を準備しています...前のトピックへPython Enhancement Proposals; PEP %sPythonモジュール索引クイック検索例外リリース戻り値の型返り値: 常にNULL。返り値: 借用参照返り値: 新たな参照戻り値検索%(docstitle)s 内を検索検索ページ検索結果検索が完了し、 %s ページ見つけました。%(docstitle)s 内を検索検索中この節の作者: 参考ソースコードを表示シンボル目次このページ例外ちなみに課題変数警告Welcome! This is検索した文字列はどの文書にも見つかりませんでした。すべての単語が正確に記述されているか、あるいは、十分なカテゴリーが選択されているか確認してください。[ドキュメント][グラフ: %s][グラフ][画像: %s][画像][ソース]:class:`%s` のエイリアス関数、クラスおよび用語総覧の属性組み込み関数大きい場合があるので注意クラスクラスメソッド前のページからの続きデータディレクティブ環境変数環境変数; %s例外の関数用語集の項目文法トークン索引キーワード最終更新章/節一覧のマクロのメンバ変数メソッドモジュールモジュール次へ次の章へオブジェクト演算子元のエントリ前へ前の章へプログラムオプション全モジュール早見表参照ラベルロール検索ドキュメントを検索%sを参照%sも参照文の静的メソッドthe documentation forのデータ型変数sphinx-1.2.2+dfsg.orig/sphinx/locale/si/0000755000000000000000000000000012304560277016572 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/si/LC_MESSAGES/0000755000000000000000000000000012304560277020357 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/si/LC_MESSAGES/sphinx.po0000644000000000000000000004465212263743422022242 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # callkalpa , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-08-11 13:44+0000\n" "Last-Translator: callkalpa \n" "Language-Team: Sinhala (http://www.transifex.com/projects/p/sphinx-1/language/si/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: si\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s ලේඛණය" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "%s බලන්න" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "%s ද බලන්න" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "සංකේත" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "" #: sphinx/builders/html.py:309 msgid "index" msgstr "" #: sphinx/builders/html.py:369 msgid "next" msgstr "ඊළඟ" #: sphinx/builders/html.py:378 msgid "previous" msgstr "පෙර" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "කේත ලේඛක:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "ලේඛක:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "පරාමිතීන්" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "ක්‍රියාව" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "සාමාජික" #: sphinx/domains/c.py:205 msgid "macro" msgstr "මැක්‍රෝ" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "වර්ගය" #: sphinx/domains/c.py:207 msgid "variable" msgstr "විචල්‍යය" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "දත්ත" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "විචල්‍ය" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "සෙවුම් පිටුව" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graph: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graph]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(%s හි%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[source]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "කිරීමට තිබෙන" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "දෝෂය" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "හැඟවීම" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "සටහන" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "මෙයද බලන්න" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "අනතුරු ඇඟවීම" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "%s වෙළුමේ අලුත්" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "%s වෙළුමේ වෙනස් කල" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "වස්තුව" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "පටුන" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "සොයන්න" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "යන්න" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "මූලය පෙන්වන්න" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "අවසන්වරට යාවත්කාල කල" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "සම්පූර්ණ පටුන" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "විශාල විය හැක" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "ගමන් කිරීම" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "මෙම ලේඛණ ගැන" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s සොයන්න" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "පෙර මාතෘකාව" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "පෙර පරිච්ඡේදය" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "ඊළඟ මාතෘකාව" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "ඊළඟ පරිච්ඡේදය" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "සොයන්න" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "සෙවුම් ප්‍රතිඵල" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "ඉක්මන් සෙවුම" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "මෙම පිටුව" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "පුස්තකාල වෙනස්කම්" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API වෙනස්කම්" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "වෙනත් වෙනස්කම්" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "සොයමින්..." #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "සෙවුම සූදානම් කරමින්...." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "අන්තර්ගතය" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "නිකුත් කිරීම" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[image: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[image]" sphinx-1.2.2+dfsg.orig/sphinx/locale/si/LC_MESSAGES/sphinx.js0000644000000000000000000000027212304304616022220 0ustar rootrootDocumentation.addTranslations({"locale": "si", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "", "Permalink to this definition": "", "Permalink to this headline": ""}});sphinx-1.2.2+dfsg.orig/sphinx/locale/si/LC_MESSAGES/sphinx.mo0000644000000000000000000002562612263742674022247 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "   "4I Y f t   ; M Ycz &6@w4 0 - N X b>p,4 AY%j M " - 7I   ! !! !!" ""%";"Q"!e"1" "" " ""% #2# R#(_######B#<>${$$$$"$$"$ !%-%!H%j%%% %"%+%<&O&k&&&%&& &&''"'='"S'v''( (%( -(9(A(J(_( }((#(( (( ( ()) 2)<) U) c)q)w)8)")))*** *%'*M*`*i* x*%*******+(+ ?+ I+W+m+}+ Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-08-11 13:44+0000 Last-Translator: callkalpa Language-Team: Sinhala (http://www.transifex.com/projects/p/sphinx-1/language/si/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s ලේඛණය%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(%s හි%s), in

All modules for which code is available

Source code for %s

මෙම ලේඛණ ගැනArgumentsAttentionලේඛක:Automatically generated list of changes in version %(version)sBuiltinsC API වෙනස්කම්Caution%s වෙළුමේ වෙනස් කලChanges in Version %(version)s — %(docstitle)sකේත ලේඛක:Collapse sidebarසම්පූර්ණ පටුනඅන්තර්ගතයContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.දෝෂයExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module Indexයන්නHide Search MatchesහැඟවීමImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.පුස්තකාල වෙනස්කම්Module IndexModule author: Module codeModule levelගමන් කිරීම%s වෙළුමේ අලුත්ඊළඟ මාතෘකාවසටහනවෙනත් වෙනස්කම්OverviewOverview: module codeපරාමිතීන්Permalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.සෙවුම සූදානම් කරමින්....පෙර මාතෘකාවPython Enhancement Proposals; PEP %sPython Module Indexඉක්මන් සෙවුමRaisesනිකුත් කිරීමReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Returnsසොයන්න%(docstitle)s සොයන්නසෙවුම් පිටුවසෙවුම් ප්‍රතිඵලSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sසොයමින්...Section author: මෙයද බලන්නමූලය පෙන්වන්නසංකේතපටුනමෙම පිටුවThrowsTipකිරීමට තිබෙනවිචල්‍යඅනතුරු ඇඟවීමWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functionවිශාල විය හැකclassclass methodcontinued from previous pageදත්තdirectiveenvironment variableenvironment variable; %sexceptionක්‍රියාවglossary termgrammar tokenindexkeywordඅවසන්වරට යාවත්කාල කලlists all sections and subsectionsමැක්‍රෝසාමාජිකmethodmodulemodulesඊළඟඊළඟ පරිච්ඡේදයවස්තුවoperatororiginal entryපෙරපෙර පරිච්ඡේදයprogram optionquick access to all modulesreference labelroleසොයන්නsearch this documentation%s බලන්න%s ද බලන්නstatementstatic methodthe documentation forවර්ගයවිචල්‍යයsphinx-1.2.2+dfsg.orig/sphinx/locale/mk/0000755000000000000000000000000012304560277016566 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/mk/LC_MESSAGES/0000755000000000000000000000000012304560277020353 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/mk/LC_MESSAGES/sphinx.po0000644000000000000000000004342512263743422022233 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # vvangelovski , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-03 10:57+0000\n" "Last-Translator: vvangelovski \n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/sphinx-1/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s документација" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "погледни %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "погледни %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Симболи" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Предлог за подобрување на Python; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Вградени" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Ниво на модул" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Главна содржина" #: sphinx/builders/html.py:309 msgid "index" msgstr "содржина" #: sphinx/builders/html.py:369 msgid "next" msgstr "следна" #: sphinx/builders/html.py:378 msgid "previous" msgstr "претходна" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (во " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Автор на секцијата:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Автор на модул:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Автор на код:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Автор: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Параметри" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Враќа" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Повратен тип" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C функција)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C член)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C макро)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C тип)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C променлива)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "функција" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "член" #: sphinx/domains/c.py:205 msgid "macro" msgstr "макро" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "тип" #: sphinx/domains/c.py:207 msgid "variable" msgstr "променлива" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Фрла" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ класа)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ тип)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ член)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ функција)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "класа" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (вградена функција)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s метод)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (класа)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "" sphinx-1.2.2+dfsg.orig/sphinx/locale/mk/LC_MESSAGES/sphinx.js0000644000000000000000000000033012304304616022207 0ustar rootrootDocumentation.addTranslations({"locale": "mk", "plural_expr": "(n % 10 == 1 && n % 100 != 11) ? 0 : 1", "messages": {"Hide Search Matches": "", "Permalink to this definition": "", "Permalink to this headline": ""}});sphinx-1.2.2+dfsg.orig/sphinx/locale/mk/LC_MESSAGES/sphinx.mo0000644000000000000000000002463112263742675022237 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  %/ 5Vh} !1E\m |   #7(R{64 GS0Y   > -;C4Y MJ Q \ 7x    !!"""0" 5"?"E"["q"!"" "" "" ## "#-# 2#@#I#_#r##B##$>$O$ c$p$w$$$!$$ $$% %$%<3%p% %#%% %%% %%&& &&&/&& && &&&&' %'/' A' M' X'e'' ''' '' ' ''( ("( ?(J(S(Z(a( i( v((((((((()) )');) O) Y)g)})) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-03 10:57+0000 Last-Translator: vvangelovski Language-Team: Macedonian (http://www.transifex.com/projects/p/sphinx-1/language/mk/) Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated) (во %(filename)s — %(docstitle)s%d %B, %Y%d %b, %Y%s %s%s %s документација%s (%s attribute)%s (%s.%s attribute)%s (C функција)%s (C макро)%s (C член)%s (C тип)%s (C променлива)%s (C++ класа)%s (C++ функција)%s (C++ член)%s (C++ тип)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s метод)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (вградена функција)%s() (класа)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionАвтор: Automatically generated list of changes in version %(version)sВградениC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sАвтор на код:Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageГлавна содржинаGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexАвтор на модул:Module codeНиво на модулNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeПараметриPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicПредлог за подобрување на Python; PEP %sPython Module IndexQuick searchRaisesReleaseПовратен типReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ВраќаSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingАвтор на секцијата:See alsoShow SourceСимболиTable Of ContentsThis PageФрлаTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeкласаclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionфункцијаglossary termgrammar tokenсодржинаkeywordlast updatedlists all sections and subsectionsмакрочленmethodmodulemodulesследнаnext chapterobjectoperatororiginal entryпретходнаprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationпогледни %sпогледни %sstatementstatic methodthe documentation forтиппроменливаsphinx-1.2.2+dfsg.orig/sphinx/locale/bn/0000755000000000000000000000000012304560277016556 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/bn/LC_MESSAGES/0000755000000000000000000000000012304560277020343 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/bn/LC_MESSAGES/sphinx.po0000644000000000000000000005522012263743422022217 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:10+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Bengali (http://www.transifex.com/projects/p/sphinx-1/language/bn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "পাইথন উন্নয়ন পরামর্শ; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "বিল্টইন সমূহ" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "মডিউল লেভেল" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "সাধারণ ইনডেক্স" #: sphinx/builders/html.py:309 msgid "index" msgstr "ইনডেক্স" #: sphinx/builders/html.py:369 msgid "next" msgstr "পরবর্তী" #: sphinx/builders/html.py:378 msgid "previous" msgstr "পূর্ববর্তী" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(-" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "অনুচ্ছেদ লেখক:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "মডিউল লেখক:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "লেখক:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "প্যারামিটার" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "রিটার্নস" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "রিটার্ন টাইপ" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C ফাংশন)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C মেম্বার)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C ম্যাক্রো)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C টাইপ)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C ভ্যারিয়েবল)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "ফাংশন" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ ক্লাসে)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ টাইপ)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ মেম্বার)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ ফাংশন)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "ক্লাস" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (বিল্ট-ইন ফাংশন)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s মেথড)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (ক্লাসে)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s এ্যট্রিবিউট)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "ডাটা" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "এ্যট্রিবিউট" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "রেইজেস" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s মডিউলে)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (বিল্ট-ইন ভ্যারিয়েবল)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s মডিউলে)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (বিল্ট-ইন ক্লাস)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (%s ক্লাসে)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s (%s.%s মেথড)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s (%s.%s স্ট্যাটিক মেথড)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s স্ট্যাটিক মেথড)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s ক্লাস মেথড)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s ক্লাস মেথড)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s এ্যট্রিবিউট)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (মডিউল)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "মডিউল সমূহ" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "ডেপ্রিকেটেড" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "এক্সেপশন" #: sphinx/domains/python.py:564 msgid "method" msgstr "মেথড" #: sphinx/domains/python.py:565 msgid "class method" msgstr "ক্লাস মেথড" #: sphinx/domains/python.py:566 msgid "static method" msgstr "স্ট্যাটিক মেথড" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "মডিউল" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "এনভায়রনমেন্ট ভ্যারিয়েবল; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sকমান্ড লাইন অপশন; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "শব্দকোষ" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "ব্যকরণ টোকেন" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "এনভায়রনমেন্ট ভ্যারিয়েবল" #: sphinx/domains/std.py:419 msgid "program option" msgstr "প্রোগ্রাম অপশন" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "ইনডেক্স" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "মডিউল ইনডেক্স" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "অনুসন্ধান পাতা" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "বেস: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr ":class:`%s` এর উপনাম" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "অসমাপ্ত কাজ" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "দৃষ্টি আকর্ষণ" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "সতর্কীকরণ" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "বিপজ্জনক" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "ভুল (এরর)" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "আভাস" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "গুরুত্বপূর্ণ" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "নোট" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "আরও দেখুন" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "পরামর্শ" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "সতর্কতা" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "%s ভার্সনে নতুন" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "%s ভার্সনে পরিবর্তিত" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "%s ভার্সন থেকে ডেপ্রিকেটেড" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "কিওয়ার্ড" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "অপারেটর" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "অবজেক্ট" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "স্ট্যাটমেন্ট" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "বিল্ট-ইন ফাংশন" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "সূচীপত্র" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "অনুসন্ধান" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "যান" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "অনুসন্ধানের জন্য টার্ম, মডিউল, ক্লাস অথবা ফাংশনের নাম দিন।" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "সোর্স দেখুন" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "ভুমিকা" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "ইনডেক্স ও টেবিল সমূহ:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "পূর্ণাঙ্গ সূচীপত্র" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "সকল অনুচ্ছেদ সমূহের তালিকা" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "এই সহায়িকাতে অনুসন্ধা করুন" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "গ্লোবাল মডিউল ইনডেক্স" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "সকল মডিউলে দ্রুত প্রবেশ" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "সকল ফাংশন, ক্লাস, টার্ম" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "ইনডেক্স – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "এক পাতায় সম্পূর্ণ ইনডেক্স" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "বর্ণানুসারে ইনডেক্স পাতা" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "খুব বড় হতে পারে" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "নেভিগেশন" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "%(docstitle)s এর মধ্যে খুঁজুন" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "এই ডকুমেন্ট সম্পর্কে" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "কপিরাইট" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© কপিরাইট %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© কপিরাইট %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "%(last_updated)s সর্বশেষ পরিবর্তন করা হয়েছে।" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sphinx %(sphinx_version)s দিয়ে তৈরী।" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s-এ খুঁজুন" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "পূর্ববর্তী টপিক" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "পূর্ববর্তী অধ্যায়" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "পরবর্তী টপিক" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "পরবর্তী অধ্যায়" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "অনুসন্ধান করার জন্য অনুগ্রহপূর্বক জাভাস্ক্রিপ্ট \n সক্রিয় করুন।" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "এখান থেকে এই নথিগুলোতে আপনি অনুসন্ধান করতে পারবেন। \n আপনার কাঙ্ক্ষিত শব্দসমূহ নিচের বাক্সে লিখুন এবং \"অনুসন্ধান\" বাটনে ক্লিক করুন।\n উল্লেখ্য, সকল শব্দসমূহের উপস্থিতি নিয়ে অনুসন্ধান করা হবে। যেসব পাতায় সকল\n শব্দ নেই সেগুলো বাদ দেয়া হবে।" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "খুঁজুন" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "অনুসন্ধানের ফলাফল" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "দ্রুত অনুসন্ধান" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "এই পাতা" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "%(version)s — %(docstitle)s-এ পরিবর্তন সমূহ" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "স্বয়ংক্রিয়ভাবে তৈরী %(version)s-এ পরিবর্তন সমূহের তালিকা।" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "লাইব্রেরির পরিবর্তন" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API পরিবর্তন" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "অন্যান্য পরিবর্তন" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "এই শিরোনামের পার্মালিঙ্ক" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "এই সংজ্ঞার পার্মালিঙ্ক" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "অনুসন্ধানের ম্যাচগুলো লুকান" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "রিলিজ" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "পাদটীকা" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "পূর্ববর্তী পাতা হতে চলমান" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "পরবর্তী পাতাতে চলমান" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[ছবি]" sphinx-1.2.2+dfsg.orig/sphinx/locale/bn/LC_MESSAGES/sphinx.js0000644000000000000000000000113612304304616022204 0ustar rootrootDocumentation.addTranslations({"locale": "bn", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "\u0985\u09a8\u09c1\u09b8\u09a8\u09cd\u09a7\u09be\u09a8\u09c7\u09b0 \u09ae\u09cd\u09af\u09be\u099a\u0997\u09c1\u09b2\u09c7\u09be \u09b2\u09c1\u0995\u09be\u09a8", "Permalink to this definition": "\u098f\u0987 \u09b8\u0982\u099c\u09cd\u099e\u09be\u09b0 \u09aa\u09be\u09b0\u09cd\u09ae\u09be\u09b2\u09bf\u0999\u09cd\u0995", "Permalink to this headline": "\u098f\u0987 \u09b6\u09bf\u09b0\u09c7\u09be\u09a8\u09be\u09ae\u09c7\u09b0 \u09aa\u09be\u09b0\u09cd\u09ae\u09be\u09b2\u09bf\u0999\u09cd\u0995"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/bn/LC_MESSAGES/sphinx.mo0000644000000000000000000003252712263742674022231 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  ),Fs"% 9X+n:  ; P&Z2)3 -Ao2B+4H }08  % E S " !!4;!Kp! !!4!"8"R"[h""!"D"D###$y$E&(&>' B'PL' '$''%'D (7P(\(7(%)C) a)m))%)") )1).*A*!W*>y*G*++++@+.,+B,n,,",,!,,-'-$C-(h-1-<-7. 8.&B.i."....... /"/8/I// // / /0"0;30!o0&0'000E 1 S1 `1Cj1G1122%82^2t2 2H222 22 3*3(@3i333313+3?!4a4q4v4H44 4$4( 535I5N5 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:10+0000 Last-Translator: birkenfeld Language-Team: Bengali (http://www.transifex.com/projects/p/sphinx-1/language/bn/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 বেস: %s (deprecated)(-%(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s এ্যট্রিবিউট)%s (%s.%s এ্যট্রিবিউট)%s (C ফাংশন)%s (C ম্যাক্রো)%s (C মেম্বার)%s (C টাইপ)%s (C ভ্যারিয়েবল)%s (C++ ক্লাসে)%s (C++ ফাংশন)%s (C++ মেম্বার)%s (C++ টাইপ)%s (বিল্ট-ইন ক্লাস)%s (বিল্ট-ইন ভ্যারিয়েবল)%s (%s ক্লাসে)%s (directive)%s (global variable or constant)%s (%s মডিউলে)%s (মডিউল)%s (role)%s() (%s ক্লাস মেথড)%s() (%s মেথড)%s() (%s স্ট্যাটিক মেথড)%s() (%s.%s ক্লাস মেথড)%s (%s.%s মেথড)%s (%s.%s স্ট্যাটিক মেথড)%s() (বিল্ট-ইন ফাংশন)%s() (ক্লাসে)%s() (%s মডিউলে)%sকমান্ড লাইন অপশন; %s© কপিরাইট %(copyright)s.© কপিরাইট %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

এই ডকুমেন্ট সম্পর্কেArgumentsদৃষ্টি আকর্ষণলেখক:স্বয়ংক্রিয়ভাবে তৈরী %(version)s-এ পরিবর্তন সমূহের তালিকা।বিল্টইন সমূহC API পরিবর্তনসতর্কীকরণ%s ভার্সনে পরিবর্তিত%(version)s — %(docstitle)s-এ পরিবর্তন সমূহCode author: Collapse sidebarপূর্ণাঙ্গ সূচীপত্রContentsপরবর্তী পাতাতে চলমানকপিরাইটSphinx %(sphinx_version)s দিয়ে তৈরী।বিপজ্জনকডেপ্রিকেটেড%s ভার্সন থেকে ডেপ্রিকেটেডঅনুসন্ধানের জন্য টার্ম, মডিউল, ক্লাস অথবা ফাংশনের নাম দিন।ভুল (এরর)Expand sidebarপাদটীকাএখান থেকে এই নথিগুলোতে আপনি অনুসন্ধান করতে পারবেন। আপনার কাঙ্ক্ষিত শব্দসমূহ নিচের বাক্সে লিখুন এবং "অনুসন্ধান" বাটনে ক্লিক করুন। উল্লেখ্য, সকল শব্দসমূহের উপস্থিতি নিয়ে অনুসন্ধান করা হবে। যেসব পাতায় সকল শব্দ নেই সেগুলো বাদ দেয়া হবে।এক পাতায় সম্পূর্ণ ইনডেক্সসাধারণ ইনডেক্সগ্লোবাল মডিউল ইনডেক্সযানঅনুসন্ধানের ম্যাচগুলো লুকানআভাসগুরুত্বপূর্ণইনডেক্সইনডেক্স – %(key)sবর্ণানুসারে ইনডেক্স পাতাইনডেক্স ও টেবিল সমূহ:%(last_updated)s সর্বশেষ পরিবর্তন করা হয়েছে।লাইব্রেরির পরিবর্তনমডিউল ইনডেক্সমডিউল লেখক:Module codeমডিউল লেভেলনেভিগেশন%s ভার্সনে নতুনপরবর্তী টপিকনোটঅন্যান্য পরিবর্তনভুমিকাOverview: module codeপ্যারামিটারএই সংজ্ঞার পার্মালিঙ্কএই শিরোনামের পার্মালিঙ্কঅনুসন্ধান করার জন্য অনুগ্রহপূর্বক জাভাস্ক্রিপ্ট সক্রিয় করুন।Preparing search...পূর্ববর্তী টপিকপাইথন উন্নয়ন পরামর্শ; PEP %sPython Module Indexদ্রুত অনুসন্ধানরেইজেসরিলিজরিটার্ন টাইপReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.রিটার্নসঅনুসন্ধান%(docstitle)s-এ খুঁজুনঅনুসন্ধান পাতাঅনুসন্ধানের ফলাফলSearch finished, found %s page(s) matching the search query.%(docstitle)s এর মধ্যে খুঁজুনSearchingঅনুচ্ছেদ লেখক:আরও দেখুনসোর্স দেখুনSymbolsসূচীপত্রএই পাতাThrowsপরামর্শঅসমাপ্ত কাজVariablesসতর্কতাWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][ছবি][source]:class:`%s` এর উপনামসকল ফাংশন, ক্লাস, টার্মএ্যট্রিবিউটবিল্ট-ইন ফাংশনখুব বড় হতে পারেক্লাসক্লাস মেথডপূর্ববর্তী পাতা হতে চলমানডাটাdirectiveএনভায়রনমেন্ট ভ্যারিয়েবলএনভায়রনমেন্ট ভ্যারিয়েবল; %sএক্সেপশনফাংশনশব্দকোষব্যকরণ টোকেনইনডেক্সকিওয়ার্ডlast updatedসকল অনুচ্ছেদ সমূহের তালিকাmacromemberমেথডমডিউলমডিউল সমূহপরবর্তীপরবর্তী অধ্যায়অবজেক্টঅপারেটরoriginal entryপূর্ববর্তীপূর্ববর্তী অধ্যায়প্রোগ্রাম অপশনসকল মডিউলে দ্রুত প্রবেশreference labelroleখুঁজুনএই সহায়িকাতে অনুসন্ধা করুনsee %ssee also %sস্ট্যাটমেন্টস্ট্যাটিক মেথডthe documentation fortypevariablesphinx-1.2.2+dfsg.orig/sphinx/locale/pt_BR/0000755000000000000000000000000012304560277017165 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/pt_BR/LC_MESSAGES/0000755000000000000000000000000012304560277020752 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po0000644000000000000000000005146512263743422022635 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:35+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/sphinx-1/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s documentação" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "veja %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "veja também %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d/%m/%Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Internos" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Módulo" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d/%m/%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Índice Geral" #: sphinx/builders/html.py:309 msgid "index" msgstr "índice" #: sphinx/builders/html.py:369 msgid "next" msgstr "próximo" #: sphinx/builders/html.py:378 msgid "previous" msgstr "anterior" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (em " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor da seção: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor do módulo: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autor do código: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parâmetros" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Retorna" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Tipo de retorno" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (função C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (membro C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (tipo C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variável C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "função" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "membro" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipo" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variável" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Gera" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (classe C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (tipo C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (membro C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (função C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "classe" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (função interna)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (método %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (classe)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (variável global ou constante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atributo %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Parâmetros" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dado" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atributo" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variáveis" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Levanta" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (no módulo %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variável interna)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (no módulo %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (classe interna)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (classe em %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (método %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (método estático %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (método estático %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (método de classe %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (método de classe %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atributo %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (módulo)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Índice de Módulos do Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "módulos" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Obsoleto" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "exceção" #: sphinx/domains/python.py:564 msgid "method" msgstr "método" #: sphinx/domains/python.py:565 msgid "class method" msgstr "método de classe" #: sphinx/domains/python.py:566 msgid "static method" msgstr "método estático" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "módulo" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (obsoleto)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (diretiva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (papel)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "diretiva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "papel" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "váriavel de ambiente; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopção de linha de comando; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "Termo de glossário" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "token de gramática" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "rótulo de referência" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "váriavel de ambiente" #: sphinx/domains/std.py:419 msgid "program option" msgstr "opção de programa" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Índice" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Índice do Módulo" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Página de Pesquisa" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Bases: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "apelido de :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[gráfico: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[gráfico]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(em %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[código fonte]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Valor Retorno: Sempre NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Valor Retorno: Nova referência." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Valor Retorn: Referência emprestada." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Por fazer" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(A <> está localizada em %s, linha %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "entrada original" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[documentos]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Código do módulo" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Código fonte de %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Visão geral: código do módulo" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Todos os módulos onde este código está disponível

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Atenção" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Cuidado" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Perigo" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Erro" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Dica" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Importante" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Nota" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Veja também" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Dica" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Aviso" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Novo na versão %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Alterado na versão %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Obsoleto desde a versão %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "palavra-chave" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operador" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objeto" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "comando" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "função interna" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Tabela de Conteúdo" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Pesquisar" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Ir" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Digite os termos da busca ou o nome de um módulo, classe ou função." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Exibir Fonte" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Visão geral" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Bem Vindo(a)! É isso aí" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "documentação para" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "última atualização" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Índices e tabelas:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Tabela de Conteúdo Completa" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "Lista todas seções e subseções" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "Pesquisar esta documentação" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Índice Global de Módulos" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "acesso rápido para todos os módulos" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "todas funções, classes, termos" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Índice – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Índice completo em uma página" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Paginas de índice por letra" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "pode ser enorme" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navegação" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Pesquisar dentro de %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Sobre estes documentos" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Última atualização em %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Criado usando Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Pesquisar em %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Tópico anterior" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "capítulo anterior" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Próximo tópico" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "próximo capítulo" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Por favor ative o JavaScript para habilitar a\n\"\n\" funcionalidade de pesquisa." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "A partir daqui você pode pesquisar estes documentos. Preencha suas \n palavras de pesquisa na caixa abaixo e clique em \"pesquisar\".\n Observe que a função de pesquisa\n irá procurar automaticamente por todas as palavras.\n Páginas contendo menos palavras não irão aparecer na lista de\n resultado." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "pesquisar" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Resultados da Pesquisa" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Sua pesquisa não encontrou nenhum documento. Por favor, confirme que todas as palavras estão grafadas corretamente e que você selecionou categorias suficientes." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Pesquisa rápida" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Esta Página" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Alterações na Versão%(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Lista de alterações na versão %(version)s gerada automaticamente" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Alterações na biblioteca" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Alterações na API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Outras alterações" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Link permanente para este título" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Link permanente para esta definição" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Esconder Resultados da Pesquisa" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Pesquisando" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Preparando a pesquisa..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Pesquisa concluída, foram encontrada(s) %s página(s) que \"\n\"combinam com a consulta feita." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", em " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Expandir painel lateral" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Recolher painel lateral" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Conteúdo" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Versão" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Notas de rodapé" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "continuação da página anterior" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Continuação na próxima página" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[imagem: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[imagem]" sphinx-1.2.2+dfsg.orig/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js0000644000000000000000000000045512304304616022616 0ustar rootrootDocumentation.addTranslations({"locale": "pt_BR", "plural_expr": "(n > 1)", "messages": {"Hide Search Matches": "Esconder Resultados da Pesquisa", "Permalink to this definition": "Link permanente para esta defini\u00e7\u00e3o", "Permalink to this headline": "Link permanente para este t\u00edtulo"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo0000644000000000000000000002522412263742675022635 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "):N ^ k y  "!D W do  $2!G6i: > Li  C 8 Yl ! M% , 5 FQ    ; " ""0"K"N"n" s"~""""*""#(#;#N# V#b#u### # # #%#!#P!$r$$$$$$$$%%%,% R%s% {%%%%\%!(& J&V& i& v&&& &&& & &&&& '' ' '''' '((.(>(E(!W(y(~((( ((((( ()")A)G)N)V)^)g)p)))))))%))* *!*?*G*W*_*q** * Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:35+0000 Last-Translator: birkenfeld Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/sphinx-1/language/pt_BR/) Plural-Forms: nplurals=2; plural=(n > 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (obsoleto) (em %(filename)s — %(docstitle)s%d/%m/%Y%d/%m/%Y%s %s%s %s documentação%s (atributo %s)%s (atributo %s.%s)%s (função C)%s (macro C)%s (membro C)%s (tipo C)%s (variável C)%s (classe C++)%s (função C++)%s (membro C++)%s (tipo C++)%s (classe interna)%s (variável interna)%s (classe em %s)%s (diretiva)%s (variável global ou constante)%s (no módulo %s)%s (módulo)%s (papel)%s() (método de classe %s)%s() (método %s)%s() (método estático %s)%s() (método de classe %s.%s)%s() (método %s.%s)%s() (método estático %s.%s)%s() (função interna)%s() (classe)%s() (no módulo %s)%sopção de linha de comando; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(A <> está localizada em %s, linha %d.)(em %s v%s), em

Todos os módulos onde este código está disponível

Código fonte de %s

Sobre estes documentosParâmetrosAtençãoAutor: Lista de alterações na versão %(version)s gerada automaticamenteInternosAlterações na API CCuidadoAlterado na versão %sAlterações na Versão%(version)s — %(docstitle)sAutor do código: Recolher painel lateralTabela de Conteúdo CompletaConteúdoContinuação na próxima páginaCopyrightCriado usando Sphinx %(sphinx_version)s.PerigoObsoletoObsoleto desde a versão %sDigite os termos da busca ou o nome de um módulo, classe ou função.ErroExpandir painel lateralNotas de rodapéA partir daqui você pode pesquisar estes documentos. Preencha suas palavras de pesquisa na caixa abaixo e clique em "pesquisar". Observe que a função de pesquisa irá procurar automaticamente por todas as palavras. Páginas contendo menos palavras não irão aparecer na lista de resultado.Índice completo em uma páginaÍndice GeralÍndice Global de MódulosIrEsconder Resultados da PesquisaDicaImportanteÍndiceÍndice – %(key)sPaginas de índice por letraÍndices e tabelas:Última atualização em %(last_updated)s.Alterações na bibliotecaÍndice do MóduloAutor do módulo: Código do móduloMóduloNavegaçãoNovo na versão %sPróximo tópicoNotaOutras alteraçõesVisão geralVisão geral: código do móduloParâmetrosLink permanente para esta definiçãoLink permanente para este títuloPor favor ative o JavaScript para habilitar a " " funcionalidade de pesquisa.Preparando a pesquisa...Tópico anteriorPython Enhancement Proposals; PEP %sÍndice de Módulos do PythonPesquisa rápidaLevantaVersãoTipo de retornoValor Retorno: Sempre NULL.Valor Retorn: Referência emprestada.Valor Retorno: Nova referência.RetornaPesquisarPesquisar em %(docstitle)sPágina de PesquisaResultados da PesquisaPesquisa concluída, foram encontrada(s) %s página(s) que " "combinam com a consulta feita.Pesquisar dentro de %(docstitle)sPesquisandoAutor da seção: Veja tambémExibir FonteSymbolsTabela de ConteúdoEsta PáginaGeraDicaPor fazerVariáveisAvisoBem Vindo(a)! É isso aíSua pesquisa não encontrou nenhum documento. Por favor, confirme que todas as palavras estão grafadas corretamente e que você selecionou categorias suficientes.[documentos][gráfico: %s][gráfico][imagem: %s][imagem][código fonte]apelido de :class:`%s`todas funções, classes, termosatributofunção internapode ser enormeclassemétodo de classecontinuação da página anteriordadodiretivaváriavel de ambienteváriavel de ambiente; %sexceçãofunçãoTermo de glossáriotoken de gramáticaíndicepalavra-chaveúltima atualizaçãoLista todas seções e subseçõesmacromembrométodomódulomódulospróximopróximo capítuloobjetooperadorentrada originalanteriorcapítulo anterioropção de programaacesso rápido para todos os módulosrótulo de referênciapapelpesquisarPesquisar esta documentaçãoveja %sveja também %scomandométodo estáticodocumentação paratipovariávelsphinx-1.2.2+dfsg.orig/sphinx/locale/sv/0000755000000000000000000000000012304560277016607 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sv/LC_MESSAGES/0000755000000000000000000000000012304560277020374 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sv/LC_MESSAGES/sphinx.po0000644000000000000000000004727012263743422022256 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:39+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/sphinx-1/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "se %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "se även %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Inbyggda" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulnivå" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Huvudindex" #: sphinx/builders/html.py:309 msgid "index" msgstr "index" #: sphinx/builders/html.py:369 msgid "next" msgstr "nästa" #: sphinx/builders/html.py:378 msgid "previous" msgstr "föregående" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(i " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Sektionsförfattare" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modulförfattare" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Källkodsförfattare" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Upphovsman:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametrar" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Returnerar" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Returtyp" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C-funktion)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C-medlem)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C-makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C-typ)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C-variabel)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funktion" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "medlem" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "typ" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabel" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Kastar" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++-klass)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++-typ)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++-medlem)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++-funktion)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klass" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (inbyggd funktion)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metod)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klass)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (global variabel eller konstant)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attribut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argument" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variabler" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Väcker" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (i modul %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (inbyggd variabel)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (i modul %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (inbyggd klass)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klass i %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metod)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statisk metod)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statisk metod)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s klassmetod)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s klassmetod)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attribut)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python Modulindex" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduler" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Ersatt" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "undantag" #: sphinx/domains/python.py:564 msgid "method" msgstr "metod" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klassmetod" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statisk metod" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktiv)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (roll)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktiv" #: sphinx/domains/rst.py:105 msgid "role" msgstr "roll" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "miljövariabel; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skommandorad växel; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "ordlista" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "grammatisk token" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referensetikett" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "miljövariabel" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programväxel" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Index" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulindex" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Söksida" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Baserad: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias för :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[source]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Att göra" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> finns i %s, på rad %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "ursprungsvärde" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modulkällkod" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Källkod för %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Översikt: modulkällkod" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Alla moduler där källkod finns

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Uppmärksamma" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Varning" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Risk" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Fel" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Råd" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Viktigt" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Observera" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Se även" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tips" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Varning" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nyheter i version %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Förändrat i version %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Ersatt sedan version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "nyckelord" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "uttryck" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "inbyggda funktioner" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Innehållsförteckning" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Sök" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Gå" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Ange sökord eller modul-, klass- eller funktionsnamn." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Visa källfil" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Översikt" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Index och tabeller" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Komplett Innehållsförteckning" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "lista över alla paragrafer och underparagrafer" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "sök i det här dokumentet" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Global Modulindex" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "genväg till alla moduler" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "alla funktioner, klasser, villkor" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Hela innehållsförteckningen på en sida" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Innehållsförteckning per inledande bokstav" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "kan bli stort" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigation" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Sök bland %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Om dessa dokument" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Senast uppdaterad %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Skapad med Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Sök %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Föregående titel" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Föregående kapitel" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Nästa titel" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "Nästa kapitel" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Var god aktivera JavaScript för sökfunktionalitet." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Här kan du söka bland dessa dokument. Ange sökord nedan och klicka \"sök\".\n Sökningen måste träffa på samtliga angivna sökord." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "sök" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Sökresultat" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Snabbsök" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Denna Sida" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Förändringar i Version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatiskt genererad lista över förändringar i version %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Förändringar i bibliotek" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Förändringar i C-API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Övriga förändringar" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Permalink till denna rubrik" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Permalink till denna definition" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Dölj Sökresultat" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Expandera sidolist" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Dölj sidolist" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Innehåll" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Utgåva" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Fotnoter" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "fortsättning från föregående sida" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Fortsätter på nästa sida" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[image]" sphinx-1.2.2+dfsg.orig/sphinx/locale/sv/LC_MESSAGES/sphinx.js0000644000000000000000000000041612304304616022235 0ustar rootrootDocumentation.addTranslations({"locale": "sv", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "D\u00f6lj S\u00f6kresultat", "Permalink to this definition": "Permalink till denna definition", "Permalink to this headline": "Permalink till denna rubrik"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/sv/LC_MESSAGES/sphinx.mo0000644000000000000000000002401612263742674022254 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    "   /C S ` ny  #2 B MWl| 6*a( )  )F5|:  <F bJl6  ) 2 )  !!!!'!-!,C!p!#!! !! ! ! !" " $"." E"O" h"s""4"""$ #0# B#L#T#\#e#!## #### #<#5$ N$X$l$ u$$$ $$$ $ $$$$q% x%% %%%%!%%% % & &%&D&I&R&a&t&}&&&& & &/&&&&''''$'+'4' D'Q' f't'''''' '' ''(( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:39+0000 Last-Translator: birkenfeld Language-Team: Swedish (http://www.transifex.com/projects/p/sphinx-1/language/sv/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Baserad: %s (deprecated)(i %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribut)%s (%s.%s attribut)%s (C-funktion)%s (C-makro)%s (C-medlem)%s (C-typ)%s (C-variabel)%s (C++-klass)%s (C++-funktion)%s (C++-medlem)%s (C++-typ)%s (inbyggd klass)%s (inbyggd variabel)%s (klass i %s)%s (direktiv)%s (global variabel eller konstant)%s (i modul %s)%s (modul)%s (roll)%s() (%s klassmetod)%s() (%s metod)%s() (%s statisk metod)%s() (%s.%s klassmetod)%s() (%s.%s metod)%s() (%s.%s statisk metod)%s() (inbyggd funktion)%s() (klass)%s() (i modul %s)%skommandorad växel; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> finns i %s, på rad %d.)(in %s v%s), in

Alla moduler där källkod finns

Källkod för %s

Om dessa dokumentArgumentUppmärksammaUpphovsman:Automatiskt genererad lista över förändringar i version %(version)sInbyggdaFörändringar i C-APIVarningFörändrat i version %sFörändringar i Version %(version)s — %(docstitle)sKällkodsförfattareDölj sidolistKomplett InnehållsförteckningInnehållFortsätter på nästa sidaCopyrightSkapad med Sphinx %(sphinx_version)s.RiskErsattErsatt sedan version %sAnge sökord eller modul-, klass- eller funktionsnamn.FelExpandera sidolistFotnoterHär kan du söka bland dessa dokument. Ange sökord nedan och klicka "sök". Sökningen måste träffa på samtliga angivna sökord.Hela innehållsförteckningen på en sidaHuvudindexGlobal ModulindexGåDölj SökresultatRådViktigtIndexIndex – %(key)sInnehållsförteckning per inledande bokstavIndex och tabellerSenast uppdaterad %(last_updated)s.Förändringar i bibliotekModulindexModulförfattareModulkällkodModulnivåNavigationNyheter i version %sNästa titelObserveraÖvriga förändringarÖversiktÖversikt: modulkällkodParametrarPermalink till denna definitionPermalink till denna rubrikVar god aktivera JavaScript för sökfunktionalitet.Preparing search...Föregående titelPython Enhancement Proposals; PEP %sPython ModulindexSnabbsökVäckerUtgåvaReturtypReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnerarSökSök %(docstitle)sSöksidaSökresultatSearch finished, found %s page(s) matching the search query.Sök bland %(docstitle)sSearchingSektionsförfattareSe ävenVisa källfilSymbolsInnehållsförteckningDenna SidaKastarTipsAtt göraVariablerVarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias för :class:`%s`alla funktioner, klasser, villkorattributinbyggda funktionerkan bli stortklassklassmetodfortsättning från föregående sidadatadirektivmiljövariabelmiljövariabel; %sundantagfunktionordlistagrammatisk tokenindexnyckelordlast updatedlista över alla paragrafer och underparagrafermakromedlemmetodmodulmodulernästaNästa kapitelobjektoperatorursprungsvärdeföregåendeFöregående kapitelprogramväxelgenväg till alla modulerreferensetikettrollsöksök i det här dokumentetse %sse även %suttryckstatisk metodthe documentation fortypvariabelsphinx-1.2.2+dfsg.orig/sphinx/locale/sl/0000755000000000000000000000000012304560277016575 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sl/LC_MESSAGES/0000755000000000000000000000000012304560277020362 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sl/LC_MESSAGES/sphinx.po0000644000000000000000000004661512263743422022246 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:38+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/sphinx-1/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Vgrajeni deli" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Nivo modula" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Splošni abecedni seznam" #: sphinx/builders/html.py:309 msgid "index" msgstr "abecedni seznam" #: sphinx/builders/html.py:369 msgid "next" msgstr "naprej" #: sphinx/builders/html.py:378 msgid "previous" msgstr "nazaj" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (v " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Avtor sekcije: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Avtor modula: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Avtor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametri" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Vrne" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Vrne tip" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funkcija)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C član)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tip)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C spremenljivka)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcija" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "član" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tip" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ razred)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tip)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ član)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funkcija)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "razred" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (vgrajene funkcije)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metoda)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (razred)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atribut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Sproži izjemo" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (v modulu %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (vgrajene spremenljivke)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (v modulu %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (vgrajen razred)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (razred v %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metoda)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statična metoda)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statična metoda)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atribut)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "Moduli" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Zastarelo" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "izjema" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statična metoda" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (zastarelo)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "okoljska spremenljivka; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%scommand line parameter; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "okoljska spremenljivka" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Abecedni seznam" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Seznam modulov" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Iskalnik" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Baza: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "vzdevek za :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Pozor" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Previdno" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Nevarno" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Napaka" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Nasvet" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Pomembno" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Opomba" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Poglej Tudi" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Nasvet" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Opozorilo" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Novo v verziji %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Spremenjeno v verziji %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Zastarelo od verzije %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "ključna beseda" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "izjava" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "vgrajene funkcije" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Seznam Vsebine" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Išči" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Potrdi" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Vnesi ime modula, razreda ali funkcije." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Prikaži izvorno kodo" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Pregled" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Kazalo in seznami:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Popoln Seznam Vsebine" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "prikazi vse sekcije in podsekcije" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "išči po dokumentaciji" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Splošen seznam modulov" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "hiter dostop do vseh modulov" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "vse funkcije, razredi, izrazi" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Seznam – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Poln indeks na eni strani" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indeksiraj strani po črki" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "lahko je veliko" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigacija" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Išči med %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "O dokumentih" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Vse pravice pridržane" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Vse pravice pridržane %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Vse pravice pridržane %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Zadnjič posodobljeno %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Narejeno s Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Išči %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Prejšnja tema" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "prejšnje poglavje" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Naslednja tema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "naslednje poglavje" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Za pravilno delovanje Iskanja morete vklopiti\n JavaScript." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Tukaj lahko iščete dokumente. Vnesite iskalni\n niz v polje spodaj in pritisnite \"išči\". Sproženo iskanje\n bo iskalo po vseh besedah v iskalnem nizu. Strani, ki ne\n vsebujejo vseh besed ne bodo prikazane na seznamu rezultatov." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "išči" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Rezultati Iskanja" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Hitro iskanje" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Trenutna stran" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Spremembe v Verziji %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Avtomatsko generiran seznam sprememb v verziji %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Spremembe knjižnice" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API spremembe" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Ostale spremembe" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Povezava na naslov" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Povezava na to definicijo" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Skrij resultate iskanja" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Izdaja" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Opombe" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "nadaljevanje iz prejšnje strani" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Nadaljevanje na naslednji strani" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[slika]" sphinx-1.2.2+dfsg.orig/sphinx/locale/sl/LC_MESSAGES/sphinx.js0000644000000000000000000000046012304304616022222 0ustar rootrootDocumentation.addTranslations({"locale": "sl", "plural_expr": "(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3)", "messages": {"Hide Search Matches": "Skrij resultate iskanja", "Permalink to this definition": "Povezava na to definicijo", "Permalink to this headline": "Povezava na naslov"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/sl/LC_MESSAGES/sphinx.mo0000644000000000000000000002431712263742675022247 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " # -7=Qat    ,= Lm ~ " ;I\Cy,4 +01b ~ : 5 Tbs J  ' '? g n } t!!!!!!!!!"0"'C"k""" " " """"""# #"#<#=O###$## ##$ $$!1$S$p$u$|$$$<$$ % % %(%>%F%U%d%k%r% w% %%%'& .&:& B&N&V&_&v&&&&& & && &''4';' D' R'`'p' '!'''''''''''((!(0(M(](b(i(( (((((( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:38+0000 Last-Translator: birkenfeld Language-Team: Slovenian (http://www.transifex.com/projects/p/sphinx-1/language/sl/) Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Baza: %s (zastarelo) (v %(filename)s — %(docstitle)s%d %B, %Y%d %b, %Y%s %s%s %s documentation%s (%s atribut)%s (%s.%s atribut)%s (C funkcija)%s (C makro)%s (C član)%s (C tip)%s (C spremenljivka)%s (C++ razred)%s (C++ funkcija)%s (C++ član)%s (C++ tip)%s (vgrajen razred)%s (vgrajene spremenljivke)%s (razred v %s)%s (directive)%s (global variable or constant)%s (v modulu %s)%s (modul)%s (role)%s() (%s class method)%s() (%s metoda)%s() (%s statična metoda)%s() (%s.%s class method)%s() (%s.%s metoda)%s() (%s.%s statična metoda)%s() (vgrajene funkcije)%s() (razred)%s() (v modulu %s)%scommand line parameter; %s© Vse pravice pridržane %(copyright)s.© Vse pravice pridržane %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

O dokumentihArgumentsPozorAvtor: Avtomatsko generiran seznam sprememb v verziji %(version)sVgrajeni deliC API spremembePrevidnoSpremenjeno v verziji %sSpremembe v Verziji %(version)s — %(docstitle)sCode author: Collapse sidebarPopoln Seznam VsebineContentsNadaljevanje na naslednji straniVse pravice pridržaneNarejeno s Sphinx %(sphinx_version)s.NevarnoZastareloZastarelo od verzije %sVnesi ime modula, razreda ali funkcije.NapakaExpand sidebarOpombeTukaj lahko iščete dokumente. Vnesite iskalni niz v polje spodaj in pritisnite "išči". Sproženo iskanje bo iskalo po vseh besedah v iskalnem nizu. Strani, ki ne vsebujejo vseh besed ne bodo prikazane na seznamu rezultatov.Poln indeks na eni straniSplošni abecedni seznamSplošen seznam modulovPotrdiSkrij resultate iskanjaNasvetPomembnoAbecedni seznamSeznam – %(key)sIndeksiraj strani po črkiKazalo in seznami:Zadnjič posodobljeno %(last_updated)s.Spremembe knjižniceSeznam modulovAvtor modula: Module codeNivo modulaNavigacijaNovo v verziji %sNaslednja temaOpombaOstale spremembePregledOverview: module codeParametriPovezava na to definicijoPovezava na naslovZa pravilno delovanje Iskanja morete vklopiti JavaScript.Preparing search...Prejšnja temaPython Enhancement Proposals; PEP %sPython Module IndexHitro iskanjeSproži izjemoIzdajaVrne tipReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.VrneIščiIšči %(docstitle)sIskalnikRezultati IskanjaSearch finished, found %s page(s) matching the search query.Išči med %(docstitle)sSearchingAvtor sekcije: Poglej TudiPrikaži izvorno kodoSymbolsSeznam VsebineTrenutna stranThrowsNasvetTodoVariablesOpozoriloWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][slika][source]vzdevek za :class:`%s`vse funkcije, razredi, izraziatributvgrajene funkcijelahko je velikorazredclass methodnadaljevanje iz prejšnje stranidatadirectiveokoljska spremenljivkaokoljska spremenljivka; %sizjemafunkcijaglossary termgrammar tokenabecedni seznamključna besedalast updatedprikazi vse sekcije in podsekcijemacročlanmethodmodulModulinaprejnaslednje poglavjeobjektoperatororiginal entrynazajprejšnje poglavjeprogram optionhiter dostop do vseh modulovreference labelroleiščiišči po dokumentacijisee %ssee also %sizjavastatična metodathe documentation fortipvariablesphinx-1.2.2+dfsg.orig/sphinx/locale/it/0000755000000000000000000000000012304560277016573 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/it/LC_MESSAGES/0000755000000000000000000000000012304560277020360 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/it/LC_MESSAGES/sphinx.po0000644000000000000000000005150412263743422022235 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # pcav , 2013 # rolandpuntaier , 2013 # Sandro Dentella , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-09-19 07:52+0000\n" "Last-Translator: rolandpuntaier \n" "Language-Team: Italian (http://www.transifex.com/projects/p/sphinx-1/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s documentazione" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "vedi %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "vedi anche %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Simboli" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Builtins" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Al livello del modulo" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d/%b/%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Indice generale" #: sphinx/builders/html.py:309 msgid "index" msgstr "indice" #: sphinx/builders/html.py:369 msgid "next" msgstr "successivo" #: sphinx/builders/html.py:378 msgid "previous" msgstr "precedente" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (in " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autore della sezione: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autore del modulo: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autore del codice: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autore: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametri" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Ritorna" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Tipo di ritorno" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (funzione C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (membro C )" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (tipo C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variabile C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funzione" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "membro" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipo" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabile" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Solleva" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (classe C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (tipo C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (membro C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (funzione C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "classe" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (funzione built-in)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metodo)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (classe)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (variabile globale o costante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attributo)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Parametri" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dati" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attributo" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variabili" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Solleva" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (nel modulo %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variabile built-in)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (nel modulo %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (classe built-in)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (classe in %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metodo)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s metodo statico)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s metodo statico)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s metodo della classe)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s metodo della classe)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attributo)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modulo)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Indice del modulo Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduli" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Deprecato" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "eccezione" #: sphinx/domains/python.py:564 msgid "method" msgstr "metodo" #: sphinx/domains/python.py:565 msgid "class method" msgstr "metodo della classe" #: sphinx/domains/python.py:566 msgid "static method" msgstr "metodo statico" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modulo" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (deprecato)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direttiva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (ruolo)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direttiva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "ruolo" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "variabile d'ambiente, %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopzione di linea di comando; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "voce del glossario" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "elemento grammaticale" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "etichetta di riferimento" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "variabile d'ambiente" #: sphinx/domains/std.py:419 msgid "program option" msgstr "opzione del programma" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indice" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Indice dei Moduli" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Cerca" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "Basi: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias per :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[grafico: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[grafico]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(in %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[sorgente]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Restituisci il valore: Sempre NULL" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Restituisci il valore: Nuovo riferimento" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Restituisci il valore: riferimento in prestito" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Da fare" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(La <> si trova in %s, linea %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "riga originale" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[documenti]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Codice del modulo" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Codice sorgente per %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Vista generale: codice del modulo" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Tutti i moduli di cui è disponibile il codice

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Attenzione" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Attenzione" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Pericolo" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Errore" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Consiglio" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Importante" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Nota" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Vedi anche" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Suggerimento" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Avvertimento" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nuovo nella versione %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Cambiato nella versione %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Deprecato dalla versione %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "keyword" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operatore" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "oggetto" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "statement" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "funzione built-in" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Tabella dei contenuti" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Cerca" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Vai" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Inserisci un termine di ricerca un modulo, classe o nome di funzione" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Mostra sorgente" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Sintesi" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Benvenuto! Questa è" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "la documentazione per" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "ultimo aggiornamento" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indici e tabelle:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Tabella dei contenuti completa" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "elenca l'insieme delle sezioni e sottosezioni" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "cerca in questa documentazione" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Indice dei moduli" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "accesso veloce ai moduli" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "tutte le funzioni, classi e moduli" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indice – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Indice completo in una pagina" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indice delle pagine per lettera" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "può essere enorme" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigazione" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Cerca in %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "A proposito di questi documenti" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Ultimo aggiornamento %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Creato con Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Cerca %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Argomento precedente" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "capitolo precedente" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Argomento successivo" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "capitolo successivo" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Attiva JavaScript per abilitare la funzione⏎\ndi ricerca." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Puoi effettuare una ricerca in questi documenti. Immetti le parole chiave \n della tua ricerca nel riquadro sottostante \"cerca\". Nota che la funzione\n di ricerca cerca automaticamente per tutte le parole. Le pagine\n che contendono meno parole non compariranno nei risultati di ricerca." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "cerca" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Risultati della ricerca" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "La tua ricerca non corrisponde a nessun documento. Verifica che tutte le parole siano scritte correttamente e di aver scelto un numero sufficiente di categorie." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Ricerca veloce" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Questa pagina" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Modifiche nella Versione %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Lista delle modifiche generata automaticamente nella versione %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Modifiche nella libreria" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Modifiche nelle API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Altre modifiche" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "link permanente per questa intestazione" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "link permanente per questa definizione" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Nascondi i risultati della ricerca" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Cerca" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Preparo la ricerca..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Ricerca completata, trovata/e %s pagina/e corrispondenti." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", in" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Espandi la barra laterale" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Comprimi la barra laterale" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Contenuti" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Release" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Note a piè di pagina" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "continua dalla pagina precedente" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Continua alla pagina successiva" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[immagine: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[immagine]" sphinx-1.2.2+dfsg.orig/sphinx/locale/it/LC_MESSAGES/sphinx.js0000644000000000000000000000045112304304616022220 0ustar rootrootDocumentation.addTranslations({"locale": "it", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Nascondi i risultati della ricerca", "Permalink to this definition": "link permanente per questa definizione", "Permalink to this headline": "link permanente per questa intestazione"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/it/LC_MESSAGES/sphinx.mo0000644000000000000000000002512712263742675022245 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    " %7L \i x !#E X do  !/!D6f1 78X x I  ;%au  J. 7 A D]    % !"-"?""C" f" p"{""""&"" ##1#C# Y#e#}####!# #&#'$:*$e${$$$$$$$$"$. %(O%x%%%%%9%% && &&1&A&I& _&m& u&& & &&& W' c' q'{' ' ''"' '''(( #(D( I(S(h( (((((((-()))#)*) 1)<)P) X)b) q)|)))))))* * *#*2*H* M* Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-09-19 07:52+0000 Last-Translator: rolandpuntaier Language-Team: Italian (http://www.transifex.com/projects/p/sphinx-1/language/it/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Basi: %s (deprecato) (in %(filename)s — %(docstitle)s%d %B %Y%d/%b/%Y%s %s%s %s documentazione%s (%s attributo)%s (%s.%s attributo)%s (funzione C)%s (macro C)%s (membro C )%s (tipo C)%s (variabile C)%s (classe C++)%s (funzione C++)%s (membro C++)%s (tipo C++)%s (classe built-in)%s (variabile built-in)%s (classe in %s)%s (direttiva)%s (variabile globale o costante)%s (nel modulo %s)%s (modulo)%s (ruolo)%s() (%s metodo della classe)%s() (%s metodo)%s() (%s metodo statico)%s() (%s.%s metodo della classe)%s() (%s.%s metodo)%s() (%s.%s metodo statico)%s() (funzione built-in)%s() (classe)%s() (nel modulo %s)%sopzione di linea di comando; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(La <> si trova in %s, linea %d.)(in %s v%s), in

Tutti i moduli di cui è disponibile il codice

Codice sorgente per %s

A proposito di questi documentiParametriAttenzioneAutore: Lista delle modifiche generata automaticamente nella versione %(version)sBuiltinsModifiche nelle API CAttenzioneCambiato nella versione %sModifiche nella Versione %(version)s — %(docstitle)sAutore del codice: Comprimi la barra lateraleTabella dei contenuti completaContenutiContinua alla pagina successivaCopyrightCreato con Sphinx %(sphinx_version)s.PericoloDeprecatoDeprecato dalla versione %sInserisci un termine di ricerca un modulo, classe o nome di funzioneErroreEspandi la barra lateraleNote a piè di paginaPuoi effettuare una ricerca in questi documenti. Immetti le parole chiave della tua ricerca nel riquadro sottostante "cerca". Nota che la funzione di ricerca cerca automaticamente per tutte le parole. Le pagine che contendono meno parole non compariranno nei risultati di ricerca.Indice completo in una paginaIndice generaleIndice dei moduliVaiNascondi i risultati della ricercaConsiglioImportanteIndiceIndice – %(key)sIndice delle pagine per letteraIndici e tabelle:Ultimo aggiornamento %(last_updated)s.Modifiche nella libreriaIndice dei ModuliAutore del modulo: Codice del moduloAl livello del moduloNavigazioneNuovo nella versione %sArgomento successivoNotaAltre modificheSintesiVista generale: codice del moduloParametrilink permanente per questa definizionelink permanente per questa intestazioneAttiva JavaScript per abilitare la funzione⏎ di ricerca.Preparo la ricerca...Argomento precedentePython Enhancement Proposals; PEP %sIndice del modulo PythonRicerca veloceSollevaReleaseTipo di ritornoRestituisci il valore: Sempre NULLRestituisci il valore: riferimento in prestitoRestituisci il valore: Nuovo riferimentoRitornaCercaCerca %(docstitle)sCercaRisultati della ricercaRicerca completata, trovata/e %s pagina/e corrispondenti.Cerca in %(docstitle)sCercaAutore della sezione: Vedi ancheMostra sorgenteSimboliTabella dei contenutiQuesta paginaSollevaSuggerimentoDa fareVariabiliAvvertimentoBenvenuto! Questa èLa tua ricerca non corrisponde a nessun documento. Verifica che tutte le parole siano scritte correttamente e di aver scelto un numero sufficiente di categorie.[documenti][grafico: %s][grafico][immagine: %s][immagine][sorgente]alias per :class:`%s`tutte le funzioni, classi e moduliattributofunzione built-inpuò essere enormeclassemetodo della classecontinua dalla pagina precedentedatidirettivavariabile d'ambientevariabile d'ambiente, %seccezionefunzionevoce del glossarioelemento grammaticaleindicekeywordultimo aggiornamentoelenca l'insieme delle sezioni e sottosezionimacromembrometodomodulomodulisuccessivocapitolo successivooggettooperatoreriga originaleprecedentecapitolo precedenteopzione del programmaaccesso veloce ai modulietichetta di riferimentoruolocercacerca in questa documentazionevedi %svedi anche %sstatementmetodo staticola documentazione pertipovariabilesphinx-1.2.2+dfsg.orig/sphinx/locale/fr/0000755000000000000000000000000012304560277016566 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fr/LC_MESSAGES/0000755000000000000000000000000012304560277020353 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fr/LC_MESSAGES/sphinx.po0000644000000000000000000005213312263743422022227 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Christophe kryskool , 2013 # Larlet davidbgk , 2008 # fgallaire , 2010 # Jean-Daniel Browne , 2010 # Naereen , 2013 # Sebastien Douche , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-06-18 08:03+0000\n" "Last-Translator: Naereen \n" "Language-Team: French (http://www.transifex.com/projects/p/sphinx-1/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "documentation %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "voir %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "voir aussi %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Symboles" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Fonctions de base" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Module" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Index général" #: sphinx/builders/html.py:309 msgid "index" msgstr "index" #: sphinx/builders/html.py:369 msgid "next" msgstr "suivant" #: sphinx/builders/html.py:378 msgid "previous" msgstr "précédent" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(dans" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Auteur de la section : " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Auteur du module : " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Auteur du code :" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Auteur : " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Paramètres" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Retourne" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Type retourné" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (fonction C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (membre C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (type C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variable C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "fonction" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "membre" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "type" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variable" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Déclenche" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (classe C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (type C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (membre C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (fonction C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "classe" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (fonction de base)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (méthode %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (classe)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (variable globale ou constante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (attribut %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Arguments" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "données" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variables" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Lève" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (dans le module %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variable de base)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (dans le module %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (classe de base)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (classe dans %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (méthode %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (méthode statique %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (méthode statique %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (méthode de classe %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (méthode de classe %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (attribut %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (module)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Index des modules Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modules" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Obsolète" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "exception" #: sphinx/domains/python.py:564 msgid "method" msgstr "méthode" #: sphinx/domains/python.py:565 msgid "class method" msgstr "méthode de classe" #: sphinx/domains/python.py:566 msgid "static method" msgstr "méthode statique" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "module" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (obsolète)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (directive)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (role)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "directive" #: sphinx/domains/rst.py:105 msgid "role" msgstr "role" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "variable d'environnement; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s option de ligne de commande; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "terme du glossaire" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "élément de grammaire" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "étiquette de référence" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "variable d'environnement" #: sphinx/domains/std.py:419 msgid "program option" msgstr "option du programme" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Index" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Index du module" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Page de recherche" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "Bases: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias de :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graph: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graph]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(disponible dans %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[source]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Valeur de retour : toujours NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Valeur de retour : nouvelle référence" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Valeur de retour : référence empruntée" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "À faire" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(L'<> se trouve dans %s, à la ligne %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "entrée originale" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Code du module" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Code source de %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Vue d'ensemble : code du module" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Modules pour lesquels le code est disponible

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Attention" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Prudence" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Danger" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Erreur" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Indice" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Important" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Note" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Voir aussi" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Astuce" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Warning" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Introduit dans la version %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Modifié dans la version %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Obsolète depuis la version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "mot-clé" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "opérateur" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objet" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "état" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "fonction de base" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Table des Matières" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Recherche" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Go" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Saisissez un mot clef ou un nom de module, classe ou fonction." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Montrer la source" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Résumé" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Bienvenue ! ceci est" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "la documentation pour" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "dernière modification" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indices et Tables :" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Table des matières complète" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "lister l'ensemble des sections et sous-sections" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "rechercher dans cette documentation" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Index général des modules" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "accès rapide à l'ensemble des modules" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "toutes les fonctions, classes, termes" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Index complet sur une seule page" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indexer les pages par lettre" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "peut être énorme" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigation" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Recherchez dans %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "À propos de ces documents" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Mis à jour le %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Créé avec Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Rechercher %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Sujet précédent" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Chapitre précédent" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Sujet suivant" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "Chapitre suivant" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Veuillez activer le JavaScript pour que la recherche fonctionne." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Vous pouvez effectuer une recherche au sein des documents. Saisissez les termes\nde votre recherche dans le champs ci-dessous et cliquez sur \"rechercher\". Notez que la fonctionnalité de recherche\nva automatiquement chercher parmi l'ensemble les mots. Les pages\ncontenant moins de mots n'apparaîtront pas dans la liste des résultats." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "rechercher" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Résultats de la recherche" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Votre recherche ne correspond à aucuns documents, Veuillez vérifier que les mots sont correctement orthographiés et que vous avez sélectionné assez de catégories." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Recherche rapide" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Cette page" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Modifications dans la version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Liste auto-générée des modifications due à la version %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Modifications de la bibliothèque" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Modifications de l'API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Autres modifications" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Lien permanent vers ce titre" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Lien permanent vers cette définition" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Cacher les résultats de la recherche" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Recherche en cours" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Préparation à la recherche..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "La recherche est finie, %s page(s) trouvée(s) qui corresponde(nt) à la recherche." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", dans" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Agrandir la barre latérale" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Réduire la barre latérale" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Contenu" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Version" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Notes de bas de page" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "Suite de la page précédente" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Suite sur la page suivante" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[image: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[image]" sphinx-1.2.2+dfsg.orig/sphinx/locale/fr/LC_MESSAGES/sphinx.js0000644000000000000000000000044712304304616022220 0ustar rootrootDocumentation.addTranslations({"locale": "fr", "plural_expr": "(n > 1)", "messages": {"Hide Search Matches": "Cacher les r\u00e9sultats de la recherche", "Permalink to this definition": "Lien permanent vers cette d\u00e9finition", "Permalink to this headline": "Lien permanent vers ce titre"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/fr/LC_MESSAGES/sphinx.mo0000644000000000000000000002532512263742675022240 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     ")= M Z ht "4 K Wa~ ("A6d;5Mh   E?7w K; B L >k    N 1"R"b"~"%"" """"" #!&#H#X#l#{# ## ##### #%$-$@J$$$$$$$ %%%!)%)K%'u%% %%%%S%J&h&{& &&&& & &&& &&''' '' ''''%(6(?(P(c(j(}(( ((( ((( )!)')0)/G)w)}))))))) )) )))' *5*O* T*#_** ****** Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-06-18 08:03+0000 Last-Translator: Naereen Language-Team: French (http://www.transifex.com/projects/p/sphinx-1/language/fr/) Plural-Forms: nplurals=2; plural=(n > 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (obsolète)(dans%(filename)s — %(docstitle)s%d %B %Y%d %b %Y%s %sdocumentation %s %s%s (attribut %s)%s (attribut %s.%s)%s (fonction C)%s (macro C)%s (membre C)%s (type C)%s (variable C)%s (classe C++)%s (fonction C++)%s (membre C++)%s (type C++)%s (classe de base)%s (variable de base)%s (classe dans %s)%s (directive)%s (variable globale ou constante)%s (dans le module %s)%s (module)%s (role)%s() (méthode de classe %s)%s() (méthode %s)%s() (méthode statique %s)%s() (méthode de classe %s.%s)%s() (méthode %s.%s)%s() (méthode statique %s.%s)%s() (fonction de base)%s() (classe)%s() (dans le module %s)%s option de ligne de commande; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(L'<> se trouve dans %s, à la ligne %d.)(disponible dans %s v%s), dans

Modules pour lesquels le code est disponible

Code source de %s

À propos de ces documentsArgumentsAttentionAuteur : Liste auto-générée des modifications due à la version %(version)sFonctions de baseModifications de l'API CPrudenceModifié dans la version %sModifications dans la version %(version)s — %(docstitle)sAuteur du code :Réduire la barre latéraleTable des matières complèteContenuSuite sur la page suivanteCopyrightCréé avec Sphinx %(sphinx_version)s.DangerObsolèteObsolète depuis la version %sSaisissez un mot clef ou un nom de module, classe ou fonction.ErreurAgrandir la barre latéraleNotes de bas de pageVous pouvez effectuer une recherche au sein des documents. Saisissez les termes de votre recherche dans le champs ci-dessous et cliquez sur "rechercher". Notez que la fonctionnalité de recherche va automatiquement chercher parmi l'ensemble les mots. Les pages contenant moins de mots n'apparaîtront pas dans la liste des résultats.Index complet sur une seule pageIndex généralIndex général des modulesGoCacher les résultats de la rechercheIndiceImportantIndexIndex – %(key)sIndexer les pages par lettreIndices et Tables :Mis à jour le %(last_updated)s.Modifications de la bibliothèqueIndex du moduleAuteur du module : Code du moduleModuleNavigationIntroduit dans la version %sSujet suivantNoteAutres modificationsRésuméVue d'ensemble : code du moduleParamètresLien permanent vers cette définitionLien permanent vers ce titreVeuillez activer le JavaScript pour que la recherche fonctionne.Préparation à la recherche...Sujet précédentPython Enhancement Proposals; PEP %sIndex des modules PythonRecherche rapideLèveVersionType retournéValeur de retour : toujours NULL.Valeur de retour : référence empruntéeValeur de retour : nouvelle référenceRetourneRechercheRechercher %(docstitle)sPage de rechercheRésultats de la rechercheLa recherche est finie, %s page(s) trouvée(s) qui corresponde(nt) à la recherche.Recherchez dans %(docstitle)sRecherche en coursAuteur de la section : Voir aussiMontrer la sourceSymbolesTable des MatièresCette pageDéclencheAstuceÀ faireVariablesWarningBienvenue ! ceci estVotre recherche ne correspond à aucuns documents, Veuillez vérifier que les mots sont correctement orthographiés et que vous avez sélectionné assez de catégories.[docs][graph: %s][graph][image: %s][image][source]alias de :class:`%s`toutes les fonctions, classes, termesattributfonction de basepeut être énormeclasseméthode de classeSuite de la page précédentedonnéesdirectivevariable d'environnementvariable d'environnement; %sexceptionfonctionterme du glossaireélément de grammaireindexmot-clédernière modificationlister l'ensemble des sections et sous-sectionsmacromembreméthodemodulemodulessuivantChapitre suivantobjetopérateurentrée originaleprécédentChapitre précédentoption du programmeaccès rapide à l'ensemble des modulesétiquette de référencerolerechercherrechercher dans cette documentationvoir %svoir aussi %sétatméthode statiquela documentation pourtypevariablesphinx-1.2.2+dfsg.orig/sphinx/locale/es/0000755000000000000000000000000012304560277016566 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/es/LC_MESSAGES/0000755000000000000000000000000012304560277020353 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/es/LC_MESSAGES/sphinx.po0000644000000000000000000005202512263743422022227 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Guillem Borrell , 2011 # Leonardo J. Caballero G. , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-06 14:38+0000\n" "Last-Translator: Leonardo J. Caballero G. \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/sphinx-1/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "documentación de %s - %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "ver %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "ver también %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Símbolos" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d de %B de %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Funciones incorporadas" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Nivel de módulo" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d de %B de %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Índice General" #: sphinx/builders/html.py:309 msgid "index" msgstr "índice" #: sphinx/builders/html.py:369 msgid "next" msgstr "siguiente" #: sphinx/builders/html.py:378 msgid "previous" msgstr "anterior" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (en " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor de la sección: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor del módulo: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Código del autor: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parámetros" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Devuelve" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Tipo del valor devuelto" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (función C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (miembro C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (tipo C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variable C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "función" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "miembro" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipo" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variable" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Lanzamientos" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (clase C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (tipo C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (miembro C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (función C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "clase" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (función incorporada)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (método de %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (clase)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (variable global o constante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atributo de %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumentos" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dato" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atributo" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variables" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Muestra" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (en el módulo %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variable incorporada)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (en el módulo %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (clase incorporada)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (clase en %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (método de %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (método estático de %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (método estático de %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (método de clase de %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (método de clase de %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atributo de %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (módulo)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Índice de Módulos Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "módulos" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Obsoleto" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "excepción" #: sphinx/domains/python.py:564 msgid "method" msgstr "método" #: sphinx/domains/python.py:565 msgid "class method" msgstr "método de la clase" #: sphinx/domains/python.py:566 msgid "static method" msgstr "método estático" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "módulo" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (obsoleto)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (directiva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rol)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "directiva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rol" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "variables de entorno; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopción en línea de comandos; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "termino de glosario" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "gramática simbólica" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "etiqueta de referencia" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "variables de entorno" #: sphinx/domains/std.py:419 msgid "program option" msgstr "opción de programa" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Índice" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Índice de Módulos" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Página de Búsqueda" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Clases base: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias de :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[gráfica: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[gráfica]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(en %s versión %s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[fuente]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Valor de retorno: Siempre NULO." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Valor de retorno: Nueva referencia." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Valor de retorno: Referencia prestada." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Por hacer" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(El <> se encuentra en %s, en la línea %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "entrada original" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[documentos]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Código de módulo" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Código fuente para %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Resumen: código de modulo" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Todos los módulos para los cuales disponen código

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Atención" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Prudencia" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Peligro" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Error" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Consejo" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Importante" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Nota" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Ver también" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Truco" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Advertencia" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nuevo en la versión %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Distinto en la versión %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Obsoleto desde la versión %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "palabra clave" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operador" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objeto" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "sentencia" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "función incorporada" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Tabla de Contenidos" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Búsqueda" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Ir a" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Introduzca los términos de búsqueda o un nombre de módulo, clase o función." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Mostrar el código" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Resumen" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "¡Bienvenido! Este es" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "la documentación para" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "actualizado por última vez el" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Índices y tablas:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Índice de contenidos completo" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "muestra todas las secciones y subsecciones" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "buscar en esta documentación" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Índice Global de Módulos" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "acceso rápido a todos los módulos" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "todas las funciones, clases, términos" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Índice – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Índice completo en una página" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Índice alfabético de páginas" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "puede ser muy grande" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navegación" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Buscar en %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Sobre este documento" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Actualizado por última vez en %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Creado con Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Buscar en %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Tema anterior" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "capítulo anterior" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Próximo tema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "próximo capítulo" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Por favor, active JavaScript para habilitar la funcionalidad\n de búsqueda." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Este es el diálogo de búsqueda. Introduce los términos en el\n diálogo siguiente y pulsa \"buscar\". Note que el asistente buscará \n automáticamente todas las palabras. Las páginas que contengan \n menos palabras no aparecerán en la lista de resultados." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "buscar" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Resultados de la búsqueda" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Su búsqueda no coincide con ningún documentos. Por favor, asegúrese de que todas las palabras estén correctamente escritas y que usted allá seleccionado las suficientes categorías." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Búsqueda rápida" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Esta página" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Cambios en la versión %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Lista de cambios generada automáticamente en la versión %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Cambios en la biblioteca" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Cambios en la API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Otros cambios" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Enlazar permanentemente con este título" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Enlazar permanentemente con esta definición" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Ocultar coincidencias de la búsqueda" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Buscando" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Preparando búsqueda..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Búsqueda finalizada, encontró %s página(s) acorde con la consulta de búsqueda." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", en " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Expandir barra lateral" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Contraer barra lateral" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Contenidos" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Publicación" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Notas a pie de página" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "proviene de la página anterior" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Continúa en la página siguiente" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[imagen: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[imagen]" sphinx-1.2.2+dfsg.orig/sphinx/locale/es/LC_MESSAGES/sphinx.js0000644000000000000000000000047712304304616022223 0ustar rootrootDocumentation.addTranslations({"locale": "es", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Ocultar coincidencias de la b\u00fasqueda", "Permalink to this definition": "Enlazar permanentemente con esta definici\u00f3n", "Permalink to this headline": "Enlazar permanentemente con este t\u00edtulo"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/es/LC_MESSAGES/sphinx.mo0000644000000000000000000002546412263742674022243 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    " +1K_v   /@ Op  !'I er#8>FZ<`  E5L `j8  ! 5 J?    O  !!&! =!I"i"y""%"" """"#0%#V#o#### ## ## #$$ #$,/$(\$N$$ $$$%:%L% T%a%y%&%#%% %%&$&R?&&&& && && ' '"' (' 2' <'H'^' (&( 5( @(M(V(_(&t((((((() )),) E)P)Y)m)) ))*)))))* **'*.*7*H*Q*d*#x******* **+&+++ Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-06 14:38+0000 Last-Translator: Leonardo J. Caballero G. Language-Team: Spanish (http://www.transifex.com/projects/p/sphinx-1/language/es/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Clases base: %s (obsoleto) (en %(filename)s — %(docstitle)s%d de %B de %Y%d de %B de %Y%s %sdocumentación de %s - %s%s (atributo de %s)%s (atributo de %s.%s)%s (función C)%s (macro C)%s (miembro C)%s (tipo C)%s (variable C)%s (clase C++)%s (función C++)%s (miembro C++)%s (tipo C++)%s (clase incorporada)%s (variable incorporada)%s (clase en %s)%s (directiva)%s (variable global o constante)%s (en el módulo %s)%s (módulo)%s (rol)%s() (método de clase de %s)%s() (método de %s)%s() (método estático de %s)%s() (método de clase de %s.%s)%s() (método de %s.%s)%s() (método estático de %s.%s)%s() (función incorporada)%s() (clase)%s() (en el módulo %s)%sopción en línea de comandos; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(El <> se encuentra en %s, en la línea %d.)(en %s versión %s), en

Todos los módulos para los cuales disponen código

Código fuente para %s

Sobre este documentoArgumentosAtenciónAutor: Lista de cambios generada automáticamente en la versión %(version)sFunciones incorporadasCambios en la API CPrudenciaDistinto en la versión %sCambios en la versión %(version)s — %(docstitle)sCódigo del autor: Contraer barra lateralÍndice de contenidos completoContenidosContinúa en la página siguienteCopyrightCreado con Sphinx %(sphinx_version)s.PeligroObsoletoObsoleto desde la versión %sIntroduzca los términos de búsqueda o un nombre de módulo, clase o función.ErrorExpandir barra lateralNotas a pie de páginaEste es el diálogo de búsqueda. Introduce los términos en el diálogo siguiente y pulsa "buscar". Note que el asistente buscará automáticamente todas las palabras. Las páginas que contengan menos palabras no aparecerán en la lista de resultados.Índice completo en una páginaÍndice GeneralÍndice Global de MódulosIr aOcultar coincidencias de la búsquedaConsejoImportanteÍndiceÍndice – %(key)sÍndice alfabético de páginasÍndices y tablas:Actualizado por última vez en %(last_updated)s.Cambios en la bibliotecaÍndice de MódulosAutor del módulo: Código de móduloNivel de móduloNavegaciónNuevo en la versión %sPróximo temaNotaOtros cambiosResumenResumen: código de moduloParámetrosEnlazar permanentemente con esta definiciónEnlazar permanentemente con este títuloPor favor, active JavaScript para habilitar la funcionalidad de búsqueda.Preparando búsqueda...Tema anteriorPython Enhancement Proposals; PEP %sÍndice de Módulos PythonBúsqueda rápidaMuestraPublicaciónTipo del valor devueltoValor de retorno: Siempre NULO.Valor de retorno: Referencia prestada.Valor de retorno: Nueva referencia.DevuelveBúsquedaBuscar en %(docstitle)sPágina de BúsquedaResultados de la búsquedaBúsqueda finalizada, encontró %s página(s) acorde con la consulta de búsqueda.Buscar en %(docstitle)sBuscandoAutor de la sección: Ver tambiénMostrar el códigoSímbolosTabla de ContenidosEsta páginaLanzamientosTrucoPor hacerVariablesAdvertencia¡Bienvenido! Este esSu búsqueda no coincide con ningún documentos. Por favor, asegúrese de que todas las palabras estén correctamente escritas y que usted allá seleccionado las suficientes categorías.[documentos][gráfica: %s][gráfica][imagen: %s][imagen][fuente]alias de :class:`%s`todas las funciones, clases, términosatributofunción incorporadapuede ser muy grandeclasemétodo de la claseproviene de la página anteriordatodirectivavariables de entornovariables de entorno; %sexcepciónfuncióntermino de glosariogramática simbólicaíndicepalabra claveactualizado por última vez elmuestra todas las secciones y subseccionesmacromiembrométodomódulomódulossiguientepróximo capítuloobjetooperadorentrada originalanteriorcapítulo anterioropción de programaacceso rápido a todos los módulosetiqueta de referenciarolbuscarbuscar en esta documentaciónver %sver también %ssentenciamétodo estáticola documentación paratipovariablesphinx-1.2.2+dfsg.orig/sphinx/locale/cs/0000755000000000000000000000000012304560277016564 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/cs/LC_MESSAGES/0000755000000000000000000000000012304560277020351 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/cs/LC_MESSAGES/sphinx.po0000644000000000000000000005107212263776123022232 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2008 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-12-26 13:32+0000\n" "Last-Translator: pm13 \n" "Language-Team: Czech (http://www.transifex.com/projects/p/sphinx-1/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "Dokumentace pro %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "viz %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "viz také %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Symboly" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Vestavěné funkce" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Úroveň modulu" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Obecný rejstřík" #: sphinx/builders/html.py:309 msgid "index" msgstr "rejstřík" #: sphinx/builders/html.py:369 msgid "next" msgstr "další" #: sphinx/builders/html.py:378 msgid "previous" msgstr "předchozí" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (v " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor sekce: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor modulu: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autor kódu:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametry" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Vrací" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Typ navrácené hodnoty" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funkce)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C člen)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C typ)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C proměnná)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkce" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "člen" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "typ" #: sphinx/domains/c.py:207 msgid "variable" msgstr "proměnná" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Vyvolá" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ třída)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ typ)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ člen)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funkce)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "třída" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (vestavěná funkce)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (metoda %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (třída)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globální proměnná nebo konstanta)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atribut %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumenty" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Proměnné" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Vyvolá" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (v modulu %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (vestavěná proměnná)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (v modulu %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (vestavěná třída)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (třída v %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (metoda %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (statická metoda %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (statická metoda %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (třídní metoda %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (třídní metoda %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atribut %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Rejstřík modulů Pythonu" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduly" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Zastaralé" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "výjimka" #: sphinx/domains/python.py:564 msgid "method" msgstr "metoda" #: sphinx/domains/python.py:565 msgid "class method" msgstr "třídní metoda" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statická metoda" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (zastaralé)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktiva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (role)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktiva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "role" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "proměnná prostředí; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%svolba příkazového řádku; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "termín v glosáři" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "token gramatiky" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referenční návěstí" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "proměnná prostředí" #: sphinx/domains/std.py:419 msgid "program option" msgstr "volba programu" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Rejstřík" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Rejstřík modulů" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Vyhledávací stránka" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Nadtřídy: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias třídy :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graf: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graf]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(v %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[zdroj]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Navrácená hodnota: Vždy NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Navrácená hodnota: Nová reference." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Navrácená hodnota: Vypůjčená reference." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> se nachází v %s, řádka %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "původní záznam" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumentace]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Kód modulu" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Zdrojový kód pro %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Přehled: kód modulu" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Všechny moduly s dostupným kódem

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Výstraha" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Upozornění" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Nebezpečí" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Chyba" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Rada" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Důležité" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Poznámka" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Viz také" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Varování" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nové ve verzi %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Změněno ve verzi %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Zastaralé od verze %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "klíčové slovo" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operátor" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "příkaz" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "vestavěná funkce" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Obsah" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Vyhledávání" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "OK" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Zadejte hledané termíny nebo jméno modulu, třídy či funkce." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Ukázat zdroj" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Přehled" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Vítejte! Toto je" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "dokumentace pro" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "naposledy aktualizováno" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Rejstříky a tabulky:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Celkový obsah" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "seznam všech sekcí a podsekcí" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "prohledat tuto dokumentaci" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Celkový rejstřík modulů" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "rychlý přístup ke všem modulům" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "všechny funkce, třídy, termíny" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Rejstřík – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Celý rejstřík na jedné stránce" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Rejstřík podle písmene" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "může být obrovský" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigace" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Prohledat %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "O těchto dokumentech" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Veškerá práva vyhrazena" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Aktualizováno dne %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Vytvořeno pomocí Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Prohledat %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Přechozí téma" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "předchozí kapitola" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Další téma" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "další kapitola" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Pro podporu vyhledávání aktivujte JavaScript." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Toto je vyhledávací stránka. Zadejte klíčová slova a klikněte na \"hledat\". \nVyhledávání automaticky hledá všechna slova, nebudou tedy nalezeny stránky obsahující jen některé z nich." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "hledat" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Výsledky vyhledávání" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Vyhledávání nenalezlo žádný odpovídající dokument. Ujistěte se, že jste všechna slova zapsal/a správně a že jste vybral/a dostatek kategorií." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Rychlé vyhledávání" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Tato stránka" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Změny ve verzi %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automaticky generovaný seznam změn ve verzi %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Změny v knihovnách" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Změny API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Ostatní změny" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Trvalý odkaz na tento nadpis" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Trvalý odkaz na tuto definici" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Skrýt výsledky vyhledávání" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Probíhá vyhledání" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Vyhledávání se připravuje..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Vyhledávání dokončeno, stránky odpovídající hledanému výrazu: %s." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", v " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Rozbalit boční lištu" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Sbalit boční lištu" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Obsah" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Vydání" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Poznámky pod čarou" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "pokračujte na předchozí stránce" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Pokračujte na další stránce" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[obrázek: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[obrázek]" sphinx-1.2.2+dfsg.orig/sphinx/locale/cs/LC_MESSAGES/sphinx.js0000644000000000000000000000051312304304616022210 0ustar rootrootDocumentation.addTranslations({"locale": "cs", "plural_expr": "(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2", "messages": {"Hide Search Matches": "Skr\u00fdt v\u00fdsledky vyhled\u00e1v\u00e1n\u00ed", "Permalink to this definition": "Trval\u00fd odkaz na tuto definici", "Permalink to this headline": "Trval\u00fd odkaz na tento nadpis"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/cs/LC_MESSAGES/sphinx.mo0000644000000000000000000002465512263776123022236 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    " %;K ^ l y  ')6` q |7F"Y6|3 ,Dc y 9  1 BOetzR    A6 x ~  #r!!!!!! ! !""9"$P"u""" """" " "" ## *#4#S#0q# ##$##$+$3$<$ T$,u$%$$$$$ %K&%r%% % % %%% %%%% % % && & &&& &&&"'8'@'S'i'q'#'' '''''' ( (&(7( P(q(w(}(((((( (( (((#(!)9)>)E)`) g)t)}))) ) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-12-26 13:32+0000 Last-Translator: pm13 Language-Team: Czech (http://www.transifex.com/projects/p/sphinx-1/language/cs/) Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Nadtřídy: %s (zastaralé) (v %(filename)s — %(docstitle)s%d.%m.%Y%d.%m.%Y%s %sDokumentace pro %s %s%s (atribut %s)%s (atribut %s.%s)%s (C funkce)%s (C makro)%s (C člen)%s (C typ)%s (C proměnná)%s (C++ třída)%s (C++ funkce)%s (C++ člen)%s (C++ typ)%s (vestavěná třída)%s (vestavěná proměnná)%s (třída v %s)%s (direktiva)%s (globální proměnná nebo konstanta)%s (v modulu %s)%s (modul)%s (role)%s() (třídní metoda %s)%s() (metoda %s)%s() (statická metoda %s)%s() (třídní metoda %s.%s)%s() (metoda %s.%s)%s() (statická metoda %s.%s)%s() (vestavěná funkce)%s() (třída)%s() (v modulu %s)%svolba příkazového řádku; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> se nachází v %s, řádka %d.)(v %s v%s), v

Všechny moduly s dostupným kódem

Zdrojový kód pro %s

O těchto dokumentechArgumentyVýstrahaAutor: Automaticky generovaný seznam změn ve verzi %(version)sVestavěné funkceZměny APIUpozorněníZměněno ve verzi %sZměny ve verzi %(version)s — %(docstitle)sAutor kódu:Sbalit boční lištuCelkový obsahObsahPokračujte na další stránceVeškerá práva vyhrazenaVytvořeno pomocí Sphinx %(sphinx_version)s.NebezpečíZastaraléZastaralé od verze %sZadejte hledané termíny nebo jméno modulu, třídy či funkce.ChybaRozbalit boční lištuPoznámky pod čarouToto je vyhledávací stránka. Zadejte klíčová slova a klikněte na "hledat". Vyhledávání automaticky hledá všechna slova, nebudou tedy nalezeny stránky obsahující jen některé z nich.Celý rejstřík na jedné stránceObecný rejstříkCelkový rejstřík modulůOKSkrýt výsledky vyhledáváníRadaDůležitéRejstříkRejstřík – %(key)sRejstřík podle písmeneRejstříky a tabulky:Aktualizováno dne %(last_updated)s.Změny v knihovnáchRejstřík modulůAutor modulu: Kód moduluÚroveň moduluNavigaceNové ve verzi %sDalší témaPoznámkaOstatní změnyPřehledPřehled: kód moduluParametryTrvalý odkaz na tuto definiciTrvalý odkaz na tento nadpisPro podporu vyhledávání aktivujte JavaScript.Vyhledávání se připravuje...Přechozí témaPython Enhancement Proposals; PEP %sRejstřík modulů PythonuRychlé vyhledáváníVyvoláVydáníTyp navrácené hodnotyNavrácená hodnota: Vždy NULL.Navrácená hodnota: Vypůjčená reference.Navrácená hodnota: Nová reference.VracíVyhledáváníProhledat %(docstitle)sVyhledávací stránkaVýsledky vyhledáváníVyhledávání dokončeno, stránky odpovídající hledanému výrazu: %s.Prohledat %(docstitle)sProbíhá vyhledáníAutor sekce: Viz takéUkázat zdrojSymbolyObsahTato stránkaVyvoláTipTodoProměnnéVarováníVítejte! Toto jeVyhledávání nenalezlo žádný odpovídající dokument. Ujistěte se, že jste všechna slova zapsal/a správně a že jste vybral/a dostatek kategorií.[dokumentace][graf: %s][graf][obrázek: %s][obrázek][zdroj]alias třídy :class:`%s`všechny funkce, třídy, termínyatributvestavěná funkcemůže být obrovskýtřídatřídní metodapokračujte na předchozí stráncedatadirektivaproměnná prostředíproměnná prostředí; %svýjimkafunkcetermín v glosářitoken gramatikyrejstříkklíčové slovonaposledy aktualizovánoseznam všech sekcí a podsekcímakročlenmetodamodulmodulydalšídalší kapitolaobjektoperátorpůvodní záznampředchozípředchozí kapitolavolba programurychlý přístup ke všem modulůmreferenční návěstírolehledatprohledat tuto dokumentaciviz %sviz také %spříkazstatická metodadokumentace protypproměnnásphinx-1.2.2+dfsg.orig/sphinx/locale/nb_NO/0000755000000000000000000000000012304560277017152 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/nb_NO/LC_MESSAGES/0000755000000000000000000000000012304560277020737 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/nb_NO/LC_MESSAGES/sphinx.po0000644000000000000000000004725412263743422022623 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:28+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/sphinx-1/language/nb_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "se %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "se også %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Innebygde" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulnivå" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Hovedindex" #: sphinx/builders/html.py:309 msgid "index" msgstr "index" #: sphinx/builders/html.py:369 msgid "next" msgstr "neste" #: sphinx/builders/html.py:378 msgid "previous" msgstr "forrige" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(i " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Seksjon forfatter: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modul forfattar: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kildekode forfatter: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Forfatter: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametere" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Returnere" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Retur type" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C-funktion)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C-medlem)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C-makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C-type)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C-variabel)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funksjon" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "medlem" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "type" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabel" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Kaster" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ klasse)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ type)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ medlem)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funksjon)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasse" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (innebygd funksjon)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metode)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasse)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (global variabel eller konstant)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attribut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argument" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attributt" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variabler" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Hever" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (i modul %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (innebygd variabel)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (i modul %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (innebygd klasse)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasse i %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metode)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statisk metode)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statisk metode)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s klassemetode)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s klassemetode)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attributt)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python Modulindex" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduler" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Foreldet" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "untak" #: sphinx/domains/python.py:564 msgid "method" msgstr "metode" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klassemetode" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statisk metode" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (foreldet)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktiv)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rolle)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktiv" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rolle" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "miljøvariabel; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skommandolinje valg; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "ordliste" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "grammatikk token" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referanse-etikett" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "miljøvariabel" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programvalg" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Index" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulindex" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Søkeside" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Baser: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias for :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[kilde]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(Den <> finnes i %s, på linje %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "opprinnelig oppføring" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumentasjon]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modul kildekode" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Kildekode for %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Oversikt: modulkildekode" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Alla moduler hvor kildekode finnes

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Obs" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Advarsel" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Fare" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Feil" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Hint" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Viktig" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Obs" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Se også" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tips" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Advarsel" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nytt i version %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Endret i version %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Foreldet siden version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "nøkkelord" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "uttrykk" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "innebygde funksjoner" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Innholdsfortegnelse" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Søk" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Gå" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Angi søkeord eller modul-, klasse- eller funksjonsnavn." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Vis kildekode" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Oversikt" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Index og tabeller" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Komplett Innholdsfortegnelse" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "liste over alle paragrafer og underparagrafer" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "søk i dette dokumentet" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Global Modulindex" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "snarvei til alle moduler" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "alla funksjoner, klasser, vilkår" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Hele innholdsfortegnelsen på en side" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Innholdsfortegnelse per bokstav" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "kan bli stor" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigering" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Søk blant %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Om disse dokumenter" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Sist oppdatert %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Lagd med Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Søk %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Forrige tittel" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Forrige kapittel" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Neste emne" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "neste kapittel" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Vennligst aktiver JavaScript for å aktivere søk." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "her kan du søke blant disse dokumentene. Angi søkeord nedfor og klikk \"søk\".\n Søket må treffe på samtlige søkeord." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "søk" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Søkeresultat" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Hurtigsøk" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Denne siden" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Endringer i version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatisk generert liste over endringer i versjon %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Endringer i biblioteket" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Endringer i C API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Andre endringer" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Permalink til denne oversikten" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Permalink til denne definisjonen" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Skjul søkeresultat" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Utvid sidepanelet" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Skjul sidepanelet" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Innhold" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Utgivelse" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Fotnoter" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "fortsettelse fra forrige side" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Fortsetter på neste side" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[bilde]" sphinx-1.2.2+dfsg.orig/sphinx/locale/nb_NO/LC_MESSAGES/sphinx.js0000644000000000000000000000042212304304616022575 0ustar rootrootDocumentation.addTranslations({"locale": "nb_NO", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Skjul s\u00f8keresultat", "Permalink to this definition": "Permalink til denne definisjonen", "Permalink to this headline": "Permalink til denne oversikten"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/nb_NO/LC_MESSAGES/sphinx.mo0000644000000000000000000002376212263742675022627 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  0AV f s    #(L \ gr $66O> +#=QZ ^>j 5.@]e H83 8 J |S % !!!+!0!7!=!S!s! !! !!! ! !" """"2";" T" _""2"""$"# ,#7# =# G#R#!m## ### # #<##$ <$F$Z$ c$q$y$ $$$$ $$$$Y% i%u% }%%%%!% %% %% &&/&4&=&L&_&e&n&w&& & &-&&&&&&&& '''2':' K'W'p''''' '''''' Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:28+0000 Last-Translator: birkenfeld Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/sphinx-1/language/nb_NO/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Baser: %s (foreldet)(i %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribut)%s (%s.%s attributt)%s (C-funktion)%s (C-makro)%s (C-medlem)%s (C-type)%s (C-variabel)%s (C++ klasse)%s (C++ funksjon)%s (C++ medlem)%s (C++ type)%s (innebygd klasse)%s (innebygd variabel)%s (klasse i %s)%s (direktiv)%s (global variabel eller konstant)%s (i modul %s)%s (modul)%s (rolle)%s() (%s klassemetode)%s() (%s metode)%s() (%s statisk metode)%s() (%s.%s klassemetode)%s() (%s.%s metode)%s() (%s.%s statisk metode)%s() (innebygd funksjon)%s() (klasse)%s() (i modul %s)%skommandolinje valg; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(Den <> finnes i %s, på linje %d.)(in %s v%s), in

Alla moduler hvor kildekode finnes

Kildekode for %s

Om disse dokumenterArgumentObsForfatter: Automatisk generert liste over endringer i versjon %(version)sInnebygdeEndringer i C APIAdvarselEndret i version %sEndringer i version %(version)s — %(docstitle)sKildekode forfatter: Skjul sidepaneletKomplett InnholdsfortegnelseInnholdFortsetter på neste sideCopyrightLagd med Sphinx %(sphinx_version)s.FareForeldetForeldet siden version %sAngi søkeord eller modul-, klasse- eller funksjonsnavn.FeilUtvid sidepaneletFotnoterher kan du søke blant disse dokumentene. Angi søkeord nedfor og klikk "søk". Søket må treffe på samtlige søkeord.Hele innholdsfortegnelsen på en sideHovedindexGlobal ModulindexGåSkjul søkeresultatHintViktigIndexIndex – %(key)sInnholdsfortegnelse per bokstavIndex og tabellerSist oppdatert %(last_updated)s.Endringer i biblioteketModulindexModul forfattar: Modul kildekodeModulnivåNavigeringNytt i version %sNeste emneObsAndre endringerOversiktOversikt: modulkildekodeParameterePermalink til denne definisjonenPermalink til denne oversiktenVennligst aktiver JavaScript for å aktivere søk.Preparing search...Forrige tittelPython Enhancement Proposals; PEP %sPython ModulindexHurtigsøkHeverUtgivelseRetur typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnereSøkSøk %(docstitle)sSøkesideSøkeresultatSearch finished, found %s page(s) matching the search query.Søk blant %(docstitle)sSearchingSeksjon forfatter: Se ogsåVis kildekodeSymbolsInnholdsfortegnelseDenne sidenKasterTipsTodoVariablerAdvarselWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dokumentasjon][graph: %s][graph][image: %s][bilde][kilde]alias for :class:`%s`alla funksjoner, klasser, vilkårattributtinnebygde funksjonerkan bli storklasseklassemetodefortsettelse fra forrige sidedatadirektivmiljøvariabelmiljøvariabel; %suntakfunksjonordlistegrammatikk tokenindexnøkkelordlast updatedliste over alle paragrafer og underparagrafermakromedlemmetodemodulmodulernesteneste kapittelobjektoperatoropprinnelig oppføringforrigeForrige kapittelprogramvalgsnarvei til alle modulerreferanse-etikettrollesøksøk i dette dokumentetse %sse også %suttrykkstatisk metodethe documentation fortypevariabelsphinx-1.2.2+dfsg.orig/sphinx/locale/lt/0000755000000000000000000000000012304560277016576 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/lt/LC_MESSAGES/0000755000000000000000000000000012304560277020363 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/lt/LC_MESSAGES/sphinx.po0000644000000000000000000005041012263743422022233 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # DALIUS DOBRAVOLSKAS , 2010 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:26+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Lithuanian (http://www.transifex.com/projects/p/sphinx-1/language/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y-%m-%d" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Įtaisytieji" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulio lygis" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y-%m-%d" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Bendras indeksas" #: sphinx/builders/html.py:309 msgid "index" msgstr "indeksas" #: sphinx/builders/html.py:369 msgid "next" msgstr "kitas" #: sphinx/builders/html.py:378 msgid "previous" msgstr "praeitas" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (kuris yra " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Skyriaus autorius: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modulio autorius: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kodo autorius: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autorius: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametrai" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Grąžinamos reikšmės" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Grąžinamos reikšmės tipas" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funkcija)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C narys)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makrokomanda)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tipas)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C kintamasis)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcija" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "narys" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makrokomanda" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipas" #: sphinx/domains/c.py:207 msgid "variable" msgstr "kintamasis" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Išmeta" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tipas)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ narys)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funkcija)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasė" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (itaisytoji funkcija)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metodas)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasė)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globalus kintamasis arba konstanta)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atributas)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumentais" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "duomenys" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribudas" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Kintamieji" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Sukelia" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (modulyje %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (įtaisytasis kintamasis)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (modulje %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (įtaisytoji klasė)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasė iš %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metodas)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statinis metodas)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statinis metodas)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s klasės metodas)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s klasės metodas)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atributas)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modulis)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduliai" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Atmestas" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "išimtis" #: sphinx/domains/python.py:564 msgid "method" msgstr "metodas" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klasės metodas" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statinis metodas" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modulis" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (atmestas)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktyva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rolė)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktyva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rolė" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "aplinkos kintamasis; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skomandinės eilutės parinktis; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "aiškinamasis terminas" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "gramatinė leksema" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "nuorodos požymis" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "aplinkos kintamasis" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programos parinktis" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indeksas" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulio indeksas" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Paieškos puslapis" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Bazės: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr ":class:`%s` alternatyvus vardas" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[šaltinis]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Padaryti" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> galima rasti %s, eilutėje %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "originalus įrašas" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumentai]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modulio kodas" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Kodas %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Apžvalga: modulio kodas" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Visi moduliai turintys kodą

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Dėmesio" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Atsargiai" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Pavojinga" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Klaida" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Patarimas" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Svarbu" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Pastaba" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Taip pat žiūrėkite" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Patarimas" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Įspėjimas" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nauja %s versijoje" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Pakeista %s versijoje" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Nebepalaikoma nuo %s versijos" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "bazinis žodis" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operatorius" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objektas" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "sakinis" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "įtaisytoji funkcija" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Turinys" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Paieška" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Pirmyn" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Įveskite paieškos terminą arba modulio, klasės ar funkcijos vardą." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Rodyti pirminį kodą" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Apžvalga" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indeksai ir lentelės:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Pilnas Turinys" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "surašyti visus skyrius ir poskyrius" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "ieškoti šiame dokumente" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globalus Modulio Indeksas" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "greitas visų modulių pasiekimas" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "visos funkcijos, klasės ir terminai" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indeksas – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Pilnas indeksas viename puslapyje" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indekso puslapiai pagal raidę" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "gali būti didelis" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigacija" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Ieškoti tarp %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Apie šiuos dokumentus" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Autoriaus teisės" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Autoriaus teisės %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Autoriaus teisės %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Paskutinis atnaujinimas %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sukurta naudojant Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Ieškoti %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Praeita tema" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "praeita dalis" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Kita tema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "kita dalis" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Prašome aktyvuoti JavaScript, kad veiktų paieškos\n funkcionalumas." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Čia jūs galite ieškoti šiuose dokumentuose. Įveskite savo paieškos\n žodžius į lauką apačioje ir paspauskite \"ieškoti\". Pastebėsime, kad paieškos\n funkcija automatiškai ieškos visų žodžių. Puslapiai,\n kuriuose yra mažiau žodžių nepasirodys tarp paieškos rezultatų." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "ieškoti" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Paieškos rezultatai" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Greitoji paieška" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Šis puslapis" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Pasikeitimai versijoje %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatiškai sugeneruotas pakeitimų %(version)s versijoje sąrašas" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Bibliotekos pakeitimai" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API pakeitimai" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Kiti pakeitimai" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Nuoroda į šią antraštę" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Nuoroda į šį apibrėžimą" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Paslėpti paieškos rezultatus" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Išplėsti šoninę juostą" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Paslėpti šoninę juostą" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Turinys" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Leidimas" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Išnašos" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "tęsinys iš praeito puslapio" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Tęsinys kitame puslapyje" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[paveiksliukas]" sphinx-1.2.2+dfsg.orig/sphinx/locale/lt/LC_MESSAGES/sphinx.js0000644000000000000000000000060312304304616022222 0ustar rootrootDocumentation.addTranslations({"locale": "lt", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Hide Search Matches": "Pasl\u0117pti paie\u0161kos rezultatus", "Permalink to this definition": "Nuoroda \u012f \u0161\u012f apibr\u0117\u017eim\u0105", "Permalink to this headline": "Nuoroda \u012f \u0161i\u0105 antra\u0161t\u0119"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/lt/LC_MESSAGES/sphinx.mo0000644000000000000000000002512012263742675022241 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w      "8AJPdv   2Ob'q  %:X s$>'3  T`%f  E ( 9C8YQ R \ e G   * !#"E"V"p"w" """""")")#@#Q# d# r# ## ### ## ## $H($q$ $$$$$$$$ %!'%I%f%~%%%%<%& &)&=&S&i&q& y&& && & &&& U' b'n' v'' ''$' ''(((,(J( S(](q((((((( ($( ))")*)2);) A)L) U)a)u) ~))!)))))) ***)*?* E* Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:26+0000 Last-Translator: birkenfeld Language-Team: Lithuanian (http://www.transifex.com/projects/p/sphinx-1/language/lt/) Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bazės: %s (atmestas) (kuris yra %(filename)s — %(docstitle)s%Y-%m-%d%Y-%m-%d%s %s%s %s documentation%s (%s atributas)%s (%s.%s atributas)%s (C funkcija)%s (C makrokomanda)%s (C narys)%s (C tipas)%s (C kintamasis)%s (C++ class)%s (C++ funkcija)%s (C++ narys)%s (C++ tipas)%s (įtaisytoji klasė)%s (įtaisytasis kintamasis)%s (klasė iš %s)%s (direktyva)%s (globalus kintamasis arba konstanta)%s (modulje %s)%s (modulis)%s (rolė)%s() (%s klasės metodas)%s() (%s metodas)%s() (%s statinis metodas)%s() (%s.%s klasės metodas)%s() (%s.%s metodas)%s() (%s.%s statinis metodas)%s() (itaisytoji funkcija)%s() (klasė)%s() (modulyje %s)%skomandinės eilutės parinktis; %s© Autoriaus teisės %(copyright)s.© Autoriaus teisės %(copyright)s.(<> galima rasti %s, eilutėje %d.)(in %s v%s), in

Visi moduliai turintys kodą

Kodas %s

Apie šiuos dokumentusArgumentaisDėmesioAutorius: Automatiškai sugeneruotas pakeitimų %(version)s versijoje sąrašasĮtaisytiejiC API pakeitimaiAtsargiaiPakeista %s versijojePasikeitimai versijoje %(version)s — %(docstitle)sKodo autorius: Paslėpti šoninę juostąPilnas TurinysTurinysTęsinys kitame puslapyjeAutoriaus teisėsSukurta naudojant Sphinx %(sphinx_version)s.PavojingaAtmestasNebepalaikoma nuo %s versijosĮveskite paieškos terminą arba modulio, klasės ar funkcijos vardą.KlaidaIšplėsti šoninę juostąIšnašosČia jūs galite ieškoti šiuose dokumentuose. Įveskite savo paieškos žodžius į lauką apačioje ir paspauskite "ieškoti". Pastebėsime, kad paieškos funkcija automatiškai ieškos visų žodžių. Puslapiai, kuriuose yra mažiau žodžių nepasirodys tarp paieškos rezultatų.Pilnas indeksas viename puslapyjeBendras indeksasGlobalus Modulio IndeksasPirmynPaslėpti paieškos rezultatusPatarimasSvarbuIndeksasIndeksas – %(key)sIndekso puslapiai pagal raidęIndeksai ir lentelės:Paskutinis atnaujinimas %(last_updated)s.Bibliotekos pakeitimaiModulio indeksasModulio autorius: Modulio kodasModulio lygisNavigacijaNauja %s versijojeKita temaPastabaKiti pakeitimaiApžvalgaApžvalga: modulio kodasParametraiNuoroda į šį apibrėžimąNuoroda į šią antraštęPrašome aktyvuoti JavaScript, kad veiktų paieškos funkcionalumas.Preparing search...Praeita temaPython Enhancement Proposals; PEP %sPython Module IndexGreitoji paieškaSukeliaLeidimasGrąžinamos reikšmės tipasReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Grąžinamos reikšmėsPaieškaIeškoti %(docstitle)sPaieškos puslapisPaieškos rezultataiSearch finished, found %s page(s) matching the search query.Ieškoti tarp %(docstitle)sSearchingSkyriaus autorius: Taip pat žiūrėkiteRodyti pirminį kodąSymbolsTurinysŠis puslapisIšmetaPatarimasPadarytiKintamiejiĮspėjimasWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dokumentai][graph: %s][graph][image: %s][paveiksliukas][šaltinis]:class:`%s` alternatyvus vardasvisos funkcijos, klasės ir terminaiatribudasįtaisytoji funkcijagali būti didelisklasėklasės metodastęsinys iš praeito puslapioduomenysdirektyvaaplinkos kintamasisaplinkos kintamasis; %sišimtisfunkcijaaiškinamasis terminasgramatinė leksemaindeksasbazinis žodislast updatedsurašyti visus skyrius ir poskyriusmakrokomandanarysmetodasmodulismoduliaikitaskita dalisobjektasoperatoriusoriginalus įrašaspraeitaspraeita dalisprogramos parinktisgreitas visų modulių pasiekimasnuorodos požymisrolėieškotiieškoti šiame dokumentesee %ssee also %ssakinisstatinis metodasthe documentation fortipaskintamasissphinx-1.2.2+dfsg.orig/sphinx/locale/et/0000755000000000000000000000000012304560277016567 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/et/LC_MESSAGES/0000755000000000000000000000000012304560277020354 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/et/LC_MESSAGES/sphinx.po0000644000000000000000000005004412263743422022227 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Aivar Annamaa , 2011 # Ivar Smolin , 2012 # Ivar Smolin , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-07-08 07:23+0000\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian (http://www.transifex.com/projects/p/sphinx-1/language/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s dokumentatsioon" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "vaata %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "vaata ka %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Pythoni täiustusettepanekud, PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d. %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Sisseehitatud" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Mooduli tase" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d. %b %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Üldindeks" #: sphinx/builders/html.py:309 msgid "index" msgstr "indeks" #: sphinx/builders/html.py:369 msgid "next" msgstr "järgmine" #: sphinx/builders/html.py:378 msgid "previous" msgstr "eelmine" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (pealkirjas " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Sektsiooni autor:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Mooduli autor:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Koodi autor:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parameetrid" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Tagastab" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Tagastustüüp" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funktsioon)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C liige)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tüüp)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C muutuja)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funktsioon" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "liige" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tüüp" #: sphinx/domains/c.py:207 msgid "variable" msgstr "muutuja" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ klass)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tüüp)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ liige)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funktsioon)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klass" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (sisseehitatud funktsioon)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s meetod)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klass)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globaalmuutuja või konstant)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atribuut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumendid" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "andmed" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribuut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Muutujad" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (moodulis %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (sisseehitatud muutuja)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (moodulis %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (sisseehitatud klass)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klass moodulis %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s meetod)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s staatiline meetod)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s staatiline meetod)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (klassi %s.%s meetod)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (klassi %s meetod)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atribuut)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (moodul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Pythoni moodulite indeks" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moodulid" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Iganenud" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "erind" #: sphinx/domains/python.py:564 msgid "method" msgstr "meetod" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klassi meetod" #: sphinx/domains/python.py:566 msgid "static method" msgstr "staatiline meetod" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "moodul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (iganenud)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktiiv)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (roll)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktiiv" #: sphinx/domains/rst.py:105 msgid "role" msgstr "roll" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "keskkonnamuutuja; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s käsurea valik; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "sõnastiku termin" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "grammatika märk" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "viite pealkiri" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "keskkonnamuutuja" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programmi valik" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indeks" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Mooduli indeks" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Otsinguleht" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Pärineb: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "klassi :class:`%s` sünonüüm" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[lähtekood]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Teha" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> asub failis %s real %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "algne kirje" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumentatsioon]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Mooduli kood" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s lähtekood

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Ülevaade: mooduli kood" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Kõik lähtekoodiga moodulid

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Tähelepanu" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Ettevaatust" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Oht" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Viga" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Vihje" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Tähtis" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Märkus" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Vaata ka" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Nõuanne" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Hoiatus" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Uus versioonis %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Muudetud versioonis %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Iganenud alates versioonist %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "võtmesõna" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operaator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "lause" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "sisseehitatud funktsioon" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Sisukord" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Otsing" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Otsi" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Sisesta otsingusõna või mooduli/klassi/funktsiooni nimi." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Näita lähtekoodi" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Ülevaade" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "viimati uuendatud" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indeksid ja tabelid" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Täielik sisukord" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "toob välja kõiks sektsioonid ja alamsektsioonid" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "otsi sellest dokumentatsioonist" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globaalne moodulite indeks" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "kiire ligipääs kõigile moodulitele" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "kõik funktsioonid, klassid ja terminid" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indeks – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Täisindeks ühel lehel" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indeksi leheküljed algustähe kaupa" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "võib olla väga suur" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigatsioon" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Otsi %(docstitle)s piires" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Info selle dokumentatsiooni kohta" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Autoriõigused" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Autoriõigused %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Autoriõigused %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Viimati uuendatud %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Loodud Sphinxiga (versioon: %(sphinx_version)s)." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Otsi %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Eelmine teema" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "eelmine peatükk" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Järgmine teema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "järgmine peatükk" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Otsingu võimaldamiseks tuleb aktiveerida JavaScript." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Siin saad otsida käesolevast dokumentatsioonist. Sisesta otsisõnad allolevasse lahtrisse ning klõpsa \"Otsi\". Tulemuseks antakse leheküljed, mis sisaldavad kõiki otsisõnasid." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "otsi" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Otsingutulemused" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Kiirotsing" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Käesolev leht" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Muutused versioonis %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automaatselt genereeritud nimekiri versiooni %(version)s muutustest" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Teegi muutused" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API muutused" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Ülejäänud muutused" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Püsiviit sellele pealkirjale" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Püsiviit sellele definitsioonile" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Varja otsingutulemused" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Otsimine" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Näita külgriba" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Varja külgriba" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Sisukord" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Väljalase" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Joonealused märkused" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "jätk eelmisele leheküljele" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Jätkub järgmisel lehel" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[pilt]" sphinx-1.2.2+dfsg.orig/sphinx/locale/et/LC_MESSAGES/sphinx.js0000644000000000000000000000042612304304616022216 0ustar rootrootDocumentation.addTranslations({"locale": "et", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Varja otsingutulemused", "Permalink to this definition": "P\u00fcsiviit sellele definitsioonile", "Permalink to this headline": "P\u00fcsiviit sellele pealkirjale"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/et/LC_MESSAGES/sphinx.mo0000644000000000000000000002432712263742675022242 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "   (9M _ l y #!2T e q{ .;N;d$* %(!? a lxC  5 :GWirU: W \ m 7! O!Z!u!z!!!!!$!!#!")"8" G" T" a"n"""" "" "!""5#R# f#$t## ## ###!#$8$A$H$ [$g$<x$$$$$$%%%&%-%6%;%D%L%]%% %& && !&.&'M&u&~&&& &&& &&'' '&'8'I' P'\'1n'''''' ''' ' ''((%&(L([(`(e(( (((((( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-07-08 07:23+0000 Last-Translator: Ivar Smolin Language-Team: Estonian (http://www.transifex.com/projects/p/sphinx-1/language/et/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Pärineb: %s (iganenud) (pealkirjas %(filename)s — %(docstitle)s%d. %B %Y%d. %b %Y%s %s%s %s dokumentatsioon%s (%s atribuut)%s (%s.%s atribuut)%s (C funktsioon)%s (C makro)%s (C liige)%s (C tüüp)%s (C muutuja)%s (C++ klass)%s (C++ funktsioon)%s (C++ liige)%s (C++ tüüp)%s (sisseehitatud klass)%s (sisseehitatud muutuja)%s (klass moodulis %s)%s (direktiiv)%s (globaalmuutuja või konstant)%s (moodulis %s)%s (moodul)%s (roll)%s() (klassi %s meetod)%s() (%s meetod)%s() (%s staatiline meetod)%s() (klassi %s.%s meetod)%s() (%s.%s meetod)%s() (%s.%s staatiline meetod)%s() (sisseehitatud funktsioon)%s() (klass)%s() (moodulis %s)%s käsurea valik; %s© Autoriõigused %(copyright)s.© Autoriõigused %(copyright)s.(<> asub failis %s real %d.)(in %s v%s), in

Kõik lähtekoodiga moodulid

%s lähtekood

Info selle dokumentatsiooni kohtaArgumendidTähelepanuAutor: Automaatselt genereeritud nimekiri versiooni %(version)s muutustestSisseehitatudC API muutusedEttevaatustMuudetud versioonis %sMuutused versioonis %(version)s — %(docstitle)sKoodi autor:Varja külgribaTäielik sisukordSisukordJätkub järgmisel lehelAutoriõigusedLoodud Sphinxiga (versioon: %(sphinx_version)s).OhtIganenudIganenud alates versioonist %sSisesta otsingusõna või mooduli/klassi/funktsiooni nimi.VigaNäita külgribaJoonealused märkusedSiin saad otsida käesolevast dokumentatsioonist. Sisesta otsisõnad allolevasse lahtrisse ning klõpsa "Otsi". Tulemuseks antakse leheküljed, mis sisaldavad kõiki otsisõnasid.Täisindeks ühel lehelÜldindeksGlobaalne moodulite indeksOtsiVarja otsingutulemusedVihjeTähtisIndeksIndeks – %(key)sIndeksi leheküljed algustähe kaupaIndeksid ja tabelidViimati uuendatud %(last_updated)s.Teegi muutusedMooduli indeksMooduli autor:Mooduli koodMooduli taseNavigatsioonUus versioonis %sJärgmine teemaMärkusÜlejäänud muutusedÜlevaadeÜlevaade: mooduli koodParameetridPüsiviit sellele definitsioonilePüsiviit sellele pealkirjaleOtsingu võimaldamiseks tuleb aktiveerida JavaScript.Preparing search...Eelmine teemaPythoni täiustusettepanekud, PEP %sPythoni moodulite indeksKiirotsingRaisesVäljalaseTagastustüüpReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.TagastabOtsingOtsi %(docstitle)sOtsingulehtOtsingutulemusedSearch finished, found %s page(s) matching the search query.Otsi %(docstitle)s piiresOtsimineSektsiooni autor:Vaata kaNäita lähtekoodiSymbolsSisukordKäesolev lehtThrowsNõuanneTehaMuutujadHoiatusWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dokumentatsioon][graph: %s][graph][image: %s][pilt][lähtekood]klassi :class:`%s` sünonüümkõik funktsioonid, klassid ja terminidatribuutsisseehitatud funktsioonvõib olla väga suurklassklassi meetodjätk eelmisele leheküljeleandmeddirektiivkeskkonnamuutujakeskkonnamuutuja; %serindfunktsioonsõnastiku termingrammatika märkindeksvõtmesõnaviimati uuendatudtoob välja kõiks sektsioonid ja alamsektsioonidmakroliigemeetodmoodulmoodulidjärgminejärgmine peatükkobjektoperaatoralgne kirjeeelmineeelmine peatükkprogrammi valikkiire ligipääs kõigile mooduliteleviite pealkirirollotsiotsi sellest dokumentatsioonistvaata %svaata ka %slausestaatiline meetodthe documentation fortüüpmuutujasphinx-1.2.2+dfsg.orig/sphinx/locale/lv/0000755000000000000000000000000012304560277016600 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/lv/LC_MESSAGES/0000755000000000000000000000000012304560277020365 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/lv/LC_MESSAGES/sphinx.po0000644000000000000000000005011512263743422022237 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:27+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/sphinx-1/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Iebūvētie" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Moduļu līmenis" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Vispārējs indekss" #: sphinx/builders/html.py:309 msgid "index" msgstr "indekss" #: sphinx/builders/html.py:369 msgid "next" msgstr "nākošais" #: sphinx/builders/html.py:378 msgid "previous" msgstr "iepriekšējs" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (iekš " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Sekcijas autors: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Moduļa autors: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Koda autors: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autors: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametri" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Atgriež" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Atgriežamais tips" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funkcija)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C loceklis)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makross)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tips)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C mainīgais)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcija" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "loceklis" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makross" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tips" #: sphinx/domains/c.py:207 msgid "variable" msgstr "mainīgais" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Izmet" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ klase)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tips)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ loceklis)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funkcija)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klase" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (iebūvēta funkcija)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metods)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globālais mainīgais vai konstanta)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atributs)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumenti" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dati" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atributs" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Mainīgie" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Ceļ" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (moduļī %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (iebūvētais mainīgais)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (moduļī %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (iebūvēta klase)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klase iekš %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metods)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statiskais metods)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statiskais metods)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s klases metods)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s klases metods)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atributs)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modulis)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduļi" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Nav ieteicams" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "izņēmums" #: sphinx/domains/python.py:564 msgid "method" msgstr "metods" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klases metods" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statiskais metods" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modulis" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktīva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (role)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktīva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "role" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "apkārtnes mainīgais; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skomandrindas opcija; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "glosārija termins" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "gramatiskais marķieris" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "atsauces virsraksts" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "apkārtnes mainīgais" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programmas opcija" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indekss" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Moduļu indekss" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Atlases lapa" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Bāzes: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "aizstājvārds klasei :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[kods]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Jāizdara" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> atrodas iekš %s, rinda %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "sākotnējs ieraksts" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumenti]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Moduļa teksts" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s izejas teksts

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Apskats: moduļa teksts" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Visi moduļi, kuriem ir izejas teksti

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Uzmanību" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Uzmanies" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Bīstami" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Kļūda" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Mājiens" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Svarīgi" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Piezīme" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Skat.arī" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Padoms" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Brīdinājums" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Jauns versijā %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Mainīts versijā %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Neieteicams no versijas %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "atslēgas vārds" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operators" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekts" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "priekšraksts" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "iebūvēta funkcija" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Saturs" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Meklēt" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Izpildīt" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Ievadiet meklējamus terminus vai moduļa, klases vai funkcijas vārdu." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Rādīt izejas tekstu" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Apskats" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indeksi un tabulas:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Pilns saturs" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "rāda visas sekcijas un apakšsekcijas" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "meklēt šajā dokumentācijā" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Vispārējs moduļu indekss" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "ātra piekļuve visiem moduliem" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "visas funkcijas, klases un termini" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indekss – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Pilns indekss vienā lappusē" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Lappušu indekss pēc burtiem" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "var būt milzīgs" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigācija" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Meklēt iekš %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Par šiem dokumentiem" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Pēdējas izmaiņas %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sagatavots izmantojot Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s meklēšana" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "iepriekšēja tēma" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "iepriekšēja sadaļa" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "nākoša tēma" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "nākoša sadaļa" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Lai iespējotu meklēšanu, lūdzu aktivizēt JavaScript." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Šeit Jūs varat meklēt šajos dokumentos. Norādiet meklējamus vārdus\n ievada lauka un uzklikšķiniet pogu \"meklēt\". Lūdzu ievērojiet,\n ka meklēšanas programma atradīs tikai tos dokumentus, kuros ir\n visi ievadītie vārdi. Dokumenti, kuros ir tikai daļa no ievadītiem\n vārdiem, netiks atlasīti." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "meklēt" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Atlases rezultāti" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Ātra meklēšana" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Šī lappuse" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Izmaiņas versijā %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automātiski sagatavots izmaiņu saraksts versijai %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Bibliotēkas izmaiņas" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Izmaiņas iekš C API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Citas izmaiņas" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Pastāvīga norāde šo virsrakstu" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Pastāvīga norāde uz šo definīciju" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Paslēpt atlases vārdus" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Izplest sānjoslu" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Savērst sānjoslu" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Saturs" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Izlaidums" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Vēres" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "turpinājums no iepriekšējās lappuses" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Turpnājums nākošā lappusē" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[attēls: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[attēls]" sphinx-1.2.2+dfsg.orig/sphinx/locale/lv/LC_MESSAGES/sphinx.js0000644000000000000000000000055112304304616022226 0ustar rootrootDocumentation.addTranslations({"locale": "lv", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)", "messages": {"Hide Search Matches": "Pasl\u0113pt atlases v\u0101rdus", "Permalink to this definition": "Past\u0101v\u012bga nor\u0101de uz \u0161o defin\u012bciju", "Permalink to this headline": "Past\u0101v\u012bga nor\u0101de \u0161o virsrakstu"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/lv/LC_MESSAGES/sphinx.mo0000644000000000000000000002475112263742675022254 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " )/CThx   )=(Mv  1 LYl60 . Oi  > 4 P^ q~ U  G6 ~   6 !!" $"."G"P"Y"a"y""%"""" ## )#5#G#V#_#o#w# #&#"#9#$1$$E$j$~$$ $$$!$$ %%% 7%D%<W%% %% %%%% %&& & & )&7&H& & && & ' '!'"4'W'`'t'' '('' ''' (((*(B(J( [(&h(((((( ((( (( ())0)P)d)i)q)) ) )))) ) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:27+0000 Last-Translator: birkenfeld Language-Team: Latvian (http://www.transifex.com/projects/p/sphinx-1/language/lv/) Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bāzes: %s (deprecated) (iekš %(filename)s — %(docstitle)s%d.%m.%Y%d.%m.%Y%s %s%s %s documentation%s (%s atributs)%s (%s.%s atributs)%s (C funkcija)%s (C makross)%s (C loceklis)%s (C tips)%s (C mainīgais)%s (C++ klase)%s (C++ funkcija)%s (C++ loceklis)%s (C++ tips)%s (iebūvēta klase)%s (iebūvētais mainīgais)%s (klase iekš %s)%s (direktīva)%s (globālais mainīgais vai konstanta)%s (moduļī %s)%s (modulis)%s (role)%s() (%s klases metods)%s() (%s metods)%s() (%s statiskais metods)%s() (%s.%s klases metods)%s() (%s.%s metods)%s() (%s.%s statiskais metods)%s() (iebūvēta funkcija)%s() (class)%s() (moduļī %s)%skomandrindas opcija; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> atrodas iekš %s, rinda %d.)(in %s v%s), in

Visi moduļi, kuriem ir izejas teksti

%s izejas teksts

Par šiem dokumentiemArgumentiUzmanībuAutors: Automātiski sagatavots izmaiņu saraksts versijai %(version)sIebūvētieIzmaiņas iekš C APIUzmaniesMainīts versijā %sIzmaiņas versijā %(version)s — %(docstitle)sKoda autors: Savērst sānjosluPilns satursSatursTurpnājums nākošā lappusēCopyrightSagatavots izmantojot Sphinx %(sphinx_version)s.BīstamiNav ieteicamsNeieteicams no versijas %sIevadiet meklējamus terminus vai moduļa, klases vai funkcijas vārdu.KļūdaIzplest sānjosluVēresŠeit Jūs varat meklēt šajos dokumentos. Norādiet meklējamus vārdus ievada lauka un uzklikšķiniet pogu "meklēt". Lūdzu ievērojiet, ka meklēšanas programma atradīs tikai tos dokumentus, kuros ir visi ievadītie vārdi. Dokumenti, kuros ir tikai daļa no ievadītiem vārdiem, netiks atlasīti.Pilns indekss vienā lappusēVispārējs indekssVispārējs moduļu indekssIzpildītPaslēpt atlases vārdusMājiensSvarīgiIndekssIndekss – %(key)sLappušu indekss pēc burtiemIndeksi un tabulas:Pēdējas izmaiņas %(last_updated)s.Bibliotēkas izmaiņasModuļu indekssModuļa autors: Moduļa tekstsModuļu līmenisNavigācijaJauns versijā %snākoša tēmaPiezīmeCitas izmaiņasApskatsApskats: moduļa tekstsParametriPastāvīga norāde uz šo definīcijuPastāvīga norāde šo virsrakstuLai iespējotu meklēšanu, lūdzu aktivizēt JavaScript.Preparing search...iepriekšēja tēmaPython Enhancement Proposals; PEP %sPython Module IndexĀtra meklēšanaCeļIzlaidumsAtgriežamais tipsReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.AtgriežMeklēt%(docstitle)s meklēšanaAtlases lapaAtlases rezultātiSearch finished, found %s page(s) matching the search query.Meklēt iekš %(docstitle)sSearchingSekcijas autors: Skat.arīRādīt izejas tekstuSymbolsSatursŠī lappuseIzmetPadomsJāizdaraMainīgieBrīdinājumsWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dokumenti][graph: %s][graph][attēls: %s][attēls][kods]aizstājvārds klasei :class:`%s`visas funkcijas, klases un terminiatributsiebūvēta funkcijavar būt milzīgsklaseklases metodsturpinājums no iepriekšējās lappusesdatidirektīvaapkārtnes mainīgaisapkārtnes mainīgais; %sizņēmumsfunkcijaglosārija terminsgramatiskais marķierisindekssatslēgas vārdslast updatedrāda visas sekcijas un apakšsekcijasmakrossloceklismetodsmodulismoduļinākošaisnākoša sadaļaobjektsoperatorssākotnējs ierakstsiepriekšējsiepriekšēja sadaļaprogrammas opcijaātra piekļuve visiem moduliematsauces virsrakstsrolemeklētmeklēt šajā dokumentācijāsee %ssee also %spriekšrakstsstatiskais metodsthe documentation fortipsmainīgaissphinx-1.2.2+dfsg.orig/sphinx/locale/fi/0000755000000000000000000000000012304560277016555 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fi/LC_MESSAGES/0000755000000000000000000000000012304560277020342 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fi/LC_MESSAGES/sphinx.po0000644000000000000000000004361112263743422022217 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:20+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/sphinx-1/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Moduulitaso" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Yleinen sisällysluettelo" #: sphinx/builders/html.py:309 msgid "index" msgstr "hakemisto" #: sphinx/builders/html.py:369 msgid "next" msgstr ">" #: sphinx/builders/html.py:378 msgid "previous" msgstr "<" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Luvun kirjoittaja: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Moduulin kirjoittaja: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Tekijä: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (moduuli)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduulit" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Poistettu" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "moduuli" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (poistettu)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Sisällysluettelo" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Moduuli sisällysluettelo" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Etsi sivu" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Tehtävä vielä" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Huom" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Varoitus" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Vaara" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Virhe" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Vihje" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Tärkeä" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Muista" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Katso myös" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Vihje" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Varoitus" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Uusi versiossa %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Muutettu versiossa %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Poistettu versiosta %s alkaen" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Sisällysluettelo" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Etsi" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Siirry" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Anna etsittävä termi tai moduuli, luokka tai funktio" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Näytä lähdekoodina" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Yhteenveto" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Yleinen moduulien sisällysluettelo" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Hakemisto yhtenä luettelona" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Hakemisto aakkostus sivuttain" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "voi olla iso" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navikointi" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Tietoja tästä documentistä" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "<<" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "<<" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr ">>" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr ">>" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Javascript pitää olla sallittu, jotta etsintä toimii." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Anna hakusanat kokonaan, osasanoilla ei haeta." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "etsi" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Etsinnän tulos" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Pikahaku" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Tämä sivu" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Muutos versiosta %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automaattisesti luotu muutoshistoria alkaen versiosta %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Piilota löydetyt" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "" sphinx-1.2.2+dfsg.orig/sphinx/locale/fi/LC_MESSAGES/sphinx.js0000644000000000000000000000031712304304616022203 0ustar rootrootDocumentation.addTranslations({"locale": "fi", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Piilota l\u00f6ydetyt", "Permalink to this definition": "", "Permalink to this headline": ""}});sphinx-1.2.2+dfsg.orig/sphinx/locale/fi/LC_MESSAGES/sphinx.mo0000644000000000000000000002363212263742675022226 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "-B R _ my  4 F S]t   6:q4 0 % CM RA\ 2 &AJ aMk 6 $ 3 .= l  #      !!5!!I!k!{!! ! ! !!!! ! !" "%"B"8]"""$""""" " #!%#G#d#l#q# ##<## #$ $#$9$A$ S$_$f$l$ }$$$$,% 3%?% G%S%[%d%y% %% %% %%% %%& -&7& @& N& \&f& n&"{&&&&&&&&&&&&&&&''','1'K' R' ^' h'v''' Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:20+0000 Last-Translator: birkenfeld Language-Team: Finnish (http://www.transifex.com/projects/p/sphinx-1/language/fi/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (poistettu) (in %(filename)s — %(docstitle)s%d.%m.%Y%d.%m.%Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (moduuli)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

Tietoja tästä documentistäArgumentsHuomTekijä: Automaattisesti luotu muutoshistoria alkaen versiosta %(version)sBuiltinsC API changesVaroitusMuutettu versiossa %sMuutos versiosta %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.VaaraPoistettuPoistettu versiosta %s alkaenAnna etsittävä termi tai moduuli, luokka tai funktioVirheExpand sidebarFootnotesAnna hakusanat kokonaan, osasanoilla ei haeta.Hakemisto yhtenä luettelonaYleinen sisällysluetteloYleinen moduulien sisällysluetteloSiirryPiilota löydetytVihjeTärkeäSisällysluetteloIndex – %(key)sHakemisto aakkostus sivuttainIndices and tables:Last updated on %(last_updated)s.Library changesModuuli sisällysluetteloModuulin kirjoittaja: Module codeModuulitasoNavikointiUusi versiossa %s>>MuistaOther changesYhteenvetoOverview: module codeParametersPermalink to this definitionPermalink to this headlineJavascript pitää olla sallittu, jotta etsintä toimii.Preparing search...<<Python Enhancement Proposals; PEP %sPython Module IndexPikahakuRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsEtsiSearch %(docstitle)sEtsi sivuEtsinnän tulosSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingLuvun kirjoittaja: Katso myösNäytä lähdekoodinaSymbolsSisällysluetteloTämä sivuThrowsVihjeTehtävä vieläVariablesVaroitusWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functionvoi olla isoclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenhakemistokeywordlast updatedlists all sections and subsectionsmacromembermethodmoduulimoduulit>>>objectoperatororiginal entry<<<program optionquick access to all modulesreference labelroleetsisearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariablesphinx-1.2.2+dfsg.orig/sphinx/locale/eu/0000755000000000000000000000000012304560277016570 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/eu/LC_MESSAGES/0000755000000000000000000000000012304560277020355 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/eu/LC_MESSAGES/sphinx.po0000644000000000000000000004763112263743422022240 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Ales Zabala Alava , 2011 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:18+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Basque (http://www.transifex.com/projects/p/sphinx-1/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s dokumentazioa" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "%s ikusi" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "ikusi %s baita ere" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Hobekuntza Proposamena; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y %B %d" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulu maila" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y %b %d" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Indize orokorra" #: sphinx/builders/html.py:309 msgid "index" msgstr "indizea" #: sphinx/builders/html.py:369 msgid "next" msgstr "hurrengoa" #: sphinx/builders/html.py:378 msgid "previous" msgstr "aurrekoa" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (hemen: " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Atalaren egilea: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Moduluaren egilea: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kodearen egilea: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Egilea:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametroak" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Itzultzen du" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Itzulketa mota" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funtzioa)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C partaidea)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makroa)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C mota)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C aldagaia)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funtzioa" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "partaidea" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makroa" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "mota" #: sphinx/domains/c.py:207 msgid "variable" msgstr "aldagaia" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Jaurtitzen du" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ klasea)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ mota)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ partaidea)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funtzioa)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasea" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metodoa)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasea)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (aldagai globala edo konstantea)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atributua)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumentuak" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "datuak" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atributua" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Aldagaiak" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Goratzen du" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s moduluan)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s moduluan)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasea %s-(e)n)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metodoa)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s metodo estatikoa)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s metodo estatikoa)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s klaseko metodoa)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s klaseko metodoa)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atributua)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modulua)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python moduluen indizea" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduluak" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Zaharkitua" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "salbuespena" #: sphinx/domains/python.py:564 msgid "method" msgstr "metodoa" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klaseko metodoa" #: sphinx/domains/python.py:566 msgid "static method" msgstr "metodo estatikoa" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modulua" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (zaharkitua)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rola)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rola" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "inguruneko aldagaia; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skomando lerroko aukera; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "glosarioko terminoa" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "gramatikako token-a" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "erreferentzia etiketa" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "inguruneko aldagaia" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programako aukera" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indizea" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Moduluen indizea" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Bilaketa orria" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[iturburua]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Egitekoa" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "jatorrizko sarrera" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumentazioa]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Moduluko kodea" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s(r)en iturburu kodea

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Gainbegirada: moduluko kodea" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Kodea eskuragarri duten modulu guztiak

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Adi" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Kontuz" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Arriskua" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Errorea" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Argibidea" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Garrantzitsua" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Nota" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Ikusi baita ere" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Iradokizuna" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Kontuz" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Berria %s bertsioan" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "%s bertsioan aldatuta" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "%s bertsiotik aurrera zaharkituta" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "gako-hitza" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "eragiketa" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objetua" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "sententzia" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Eduki taula" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Bilatu" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Joan" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Sartu bilaketa terminoa edo modulu, klase edo funtzioaren izena." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Iturburua ikusi" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Gainbegirada" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indizeak eta taulak:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Eduki taula osoa" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "atal eta azpiatal guztiak zerrendatu" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "dokumentazio honetan bilatu" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Modulu indize globala" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "modulu guztietara atzipen azkarra" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "funtzio, klase, termino guztiak" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indizea – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Indize guztia orri batean" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indize orriak hizkika" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "handia izan daiteke" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Nabigazioa" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Bilatu %(docstitle)s(e)n" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Dokumentu hauen inguruan" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Azken aldaketa: %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sphinx %(sphinx_version)s erabiliz sortutakoa." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s bilatu" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Aurreko gaia" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "aurreko kapitulua" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Hurrengo gaia" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "hurrengo kapitulua" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Mesedez, gaitu JavaScript-a bilaketa erabili ahal izateko." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Honekin dokumentu hauetan bilatu dezakezu. Sartu zure bilaketa hitzak\nondoko kutxan eta \"bilatu\" sakatu. Kontutan eduki bilaketa funtzioak\nhitz guztiak bilatuko dituela. Hitz gutxiago dituzten orriak ez dira \nemaitzen zerrendan agertuko." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "bilatu" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Bilaketa emaitzak" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Bilaketa azkarra" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Orri hau" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "%(version)s bertsioko aldaketak — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatikoki sortutako %(version)s bertsioaren aldaketen zerrenda" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Liburutegi aldaketak" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API aldaketak" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Beste aldaketak" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Goiburu honetarako esteka iraunkorra" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Definizio honetarako esteka iraunkorra" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Bilaketa bat-etortzeak ezkutatu" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Alboko barra luzatu" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Alboko barra tolestu" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Edukiak" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Argitalpena" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Oin-oharrak" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "aurreko orritik jarraitzen du" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Hurrengo orrian jarraitzen du" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[irudia]" sphinx-1.2.2+dfsg.orig/sphinx/locale/eu/LC_MESSAGES/sphinx.js0000644000000000000000000000044312304304616022216 0ustar rootrootDocumentation.addTranslations({"locale": "eu", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Bilaketa bat-etortzeak ezkutatu", "Permalink to this definition": "Definizio honetarako esteka iraunkorra", "Permalink to this headline": "Goiburu honetarako esteka iraunkorra"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/eu/LC_MESSAGES/sphinx.mo0000644000000000000000000002453612263742675022245 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w      " 1F Vd u #"F W dn ,?6\4 /*J cosA{5);Pai S !@ \ d x r!!!!! ! !!!"%"!:"\"q""" " "" """ "# #&*#$Q#:v## #%##$ !$ -$9$H$!c$$ $$$$$<$)% B%L%^%n%~% %% % %% %%%%k& {&& && &&& &&''','J' Q'['o' ''''' ' '$' ( (("(*( 3(=(P( X(b(u(~((!((((() ) ))):)P)U) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:18+0000 Last-Translator: birkenfeld Language-Team: Basque (http://www.transifex.com/projects/p/sphinx-1/language/eu/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (zaharkitua) (hemen: %(filename)s — %(docstitle)s%Y %B %d%Y %b %d%s %s%s %s dokumentazioa%s (%s atributua)%s (%s.%s atributua)%s (C funtzioa)%s (C makroa)%s (C partaidea)%s (C mota)%s (C aldagaia)%s (C++ klasea)%s (C++ funtzioa)%s (C++ partaidea)%s (C++ mota)%s (built-in class)%s (built-in variable)%s (klasea %s-(e)n)%s (directive)%s (aldagai globala edo konstantea)%s (%s moduluan)%s (modulua)%s (rola)%s() (%s klaseko metodoa)%s() (%s metodoa)%s() (%s metodo estatikoa)%s() (%s.%s klaseko metodoa)%s() (%s.%s metodoa)%s() (%s.%s metodo estatikoa)%s() (built-in function)%s() (klasea)%s() (%s moduluan)%skomando lerroko aukera; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

Kodea eskuragarri duten modulu guztiak

%s(r)en iturburu kodea

Dokumentu hauen inguruanArgumentuakAdiEgilea:Automatikoki sortutako %(version)s bertsioaren aldaketen zerrendaBuiltinsC API aldaketakKontuz%s bertsioan aldatuta%(version)s bertsioko aldaketak — %(docstitle)sKodearen egilea: Alboko barra tolestuEduki taula osoaEdukiakHurrengo orrian jarraitzen duCopyrightSphinx %(sphinx_version)s erabiliz sortutakoa.ArriskuaZaharkitua%s bertsiotik aurrera zaharkitutaSartu bilaketa terminoa edo modulu, klase edo funtzioaren izena.ErroreaAlboko barra luzatuOin-oharrakHonekin dokumentu hauetan bilatu dezakezu. Sartu zure bilaketa hitzak ondoko kutxan eta "bilatu" sakatu. Kontutan eduki bilaketa funtzioak hitz guztiak bilatuko dituela. Hitz gutxiago dituzten orriak ez dira emaitzen zerrendan agertuko.Indize guztia orri bateanIndize orokorraModulu indize globalaJoanBilaketa bat-etortzeak ezkutatuArgibideaGarrantzitsuaIndizeaIndizea – %(key)sIndize orriak hizkikaIndizeak eta taulak:Azken aldaketa: %(last_updated)s.Liburutegi aldaketakModuluen indizeaModuluaren egilea: Moduluko kodeaModulu mailaNabigazioaBerria %s bertsioanHurrengo gaiaNotaBeste aldaketakGainbegiradaGainbegirada: moduluko kodeaParametroakDefinizio honetarako esteka iraunkorraGoiburu honetarako esteka iraunkorraMesedez, gaitu JavaScript-a bilaketa erabili ahal izateko.Preparing search...Aurreko gaiaPython Hobekuntza Proposamena; PEP %sPython moduluen indizeaBilaketa azkarraGoratzen duArgitalpenaItzulketa motaReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Itzultzen duBilatu%(docstitle)s bilatuBilaketa orriaBilaketa emaitzakSearch finished, found %s page(s) matching the search query.Bilatu %(docstitle)s(e)nSearchingAtalaren egilea: Ikusi baita ereIturburua ikusiSymbolsEduki taulaOrri hauJaurtitzen duIradokizunaEgitekoaAldagaiakKontuzWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dokumentazioa][graph: %s][graph][image: %s][irudia][iturburua]alias of :class:`%s`funtzio, klase, termino guztiakatributuabuilt-in functionhandia izan daitekeklaseaklaseko metodoaaurreko orritik jarraitzen dudatuakdirectiveinguruneko aldagaiainguruneko aldagaia; %ssalbuespenafuntzioaglosarioko terminoagramatikako token-aindizeagako-hitzalast updatedatal eta azpiatal guztiak zerrendatumakroapartaideametodoamoduluamoduluakhurrengoahurrengo kapituluaobjetuaeragiketajatorrizko sarreraaurrekoaaurreko kapituluaprogramako aukeramodulu guztietara atzipen azkarraerreferentzia etiketarolabilatudokumentazio honetan bilatu%s ikusiikusi %s baita eresententziametodo estatikoathe documentation formotaaldagaiasphinx-1.2.2+dfsg.orig/sphinx/locale/uk_UA/0000755000000000000000000000000012304560277017163 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/uk_UA/LC_MESSAGES/0000755000000000000000000000000012304560277020750 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/uk_UA/LC_MESSAGES/sphinx.po0000644000000000000000000005172712263743422022634 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Petro Sasnyk , 2009 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:39+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/sphinx-1/language/uk_UA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: uk_UA\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Вбудовані елементи" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Рівень модуля" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Загальний індекс" #: sphinx/builders/html.py:309 msgid "index" msgstr "індекс" #: sphinx/builders/html.py:369 msgid "next" msgstr "наступний" #: sphinx/builders/html.py:378 msgid "previous" msgstr "попередній" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (в " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Автор секції: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Автор модуля: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Автор: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Параметри" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Повертає" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Тип повернення" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (С функція)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C член)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C макрос)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C тип)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C змінна)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "функція" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "член" #: sphinx/domains/c.py:205 msgid "macro" msgstr "макрос" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "тип" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ клас)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ тип)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ член)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ функція)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "клас" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (вбудована функція)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s метод)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (клас)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s атрибут)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "атрибут" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Викликає" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (в модулі %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (вбудована змінна)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (в модулі %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (вбудований клас)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (клас в %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s метод)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s статичний метод)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s статичний метод)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s атрибут)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (модуль)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "модулі" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Застарілий" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "виняткова ситуація" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "статичний метод" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "модуль" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (застарілий)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "змінна оточення; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sопція командного рядка; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "змінна оточення" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Індекс" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Індекс модулів" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Сторінка пошуку" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Базовий: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "синонім :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Доробити" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Увага" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Застереження" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Небезпека" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Помилка" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Підказка" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Важливо" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Примітка" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Дивись також" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Порада" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Попередження" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Нове в версії %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Змінено в версії %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Застаріло починаючи з версії %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "ключове слово" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "оператор" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "об'єкт" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "вираз" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "вбудована функція" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Зміст" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Пошук" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Вперед" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Введіть пошуковий термін, модуль, клас чи назву функції." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Відобразити вихідний текст" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Огляд" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Індекси та таблиці:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Повний Зміст" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "перелічити всі секції та підсекції" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "шукати цю документацію" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Загальний індекс модулів" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "швидкий доступ до всіх модулів" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "всі функції, класи, терміни" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Індекс – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Повний індекс на одній сторінці" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Індексні сторінки по символам" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "може бути величезним" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Навігація" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Шукати в %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Про ці документи" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Авторські права" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Востаннє оновлено %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Створено з використанням Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Пошук %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Попередній розділ" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Попередній розділ" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Наступна тема" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "наступний розділ" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Будь-ласка вімкніть підтримку JavaScript, щоб ввікнути\n\"\n\" пошук." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Звідси ви можете шукати ці документи. Введіть ваші пошукові\n слова в поле нижче та натисніть \"пошук\". Зауважте що функція\n пошуку автоматично шукатиме за всіма словами. Сторінки\n що містять менше слів не з'являться в результуючому списку." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "пошук" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Результати пошуку" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Швидкий пошук" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Ця сторінка" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Зміни в Версії %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Автоматичного згенерований список змін в версії %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Зміни в бібліотеці" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "зміни C API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Інші зміни" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Постійне посилання на цей заголовок" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Постійне посилання на це визначення" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Приховати співпадіння пошуку" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Реліз" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "" sphinx-1.2.2+dfsg.orig/sphinx/locale/uk_UA/LC_MESSAGES/sphinx.js0000644000000000000000000000144112304304616022610 0ustar rootrootDocumentation.addTranslations({"locale": "uk_UA", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Hide Search Matches": "\u041f\u0440\u0438\u0445\u043e\u0432\u0430\u0442\u0438 \u0441\u043f\u0456\u0432\u043f\u0430\u0434\u0456\u043d\u043d\u044f \u043f\u043e\u0448\u0443\u043a\u0443", "Permalink to this definition": "\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f \u043d\u0430 \u0446\u0435 \u0432\u0438\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f", "Permalink to this headline": "\u041f\u043e\u0441\u0442\u0456\u0439\u043d\u0435 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f \u043d\u0430 \u0446\u0435\u0439 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/uk_UA/LC_MESSAGES/sphinx.mo0000644000000000000000000002746012263742675022637 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w   3"9 \ fpv *BT"d$  $;'Px*(0(6Y4 0(D c m xe#  !9 <[      n !|!!8!f!D"S" b"l":&$a$.$ $6$$% %!%7>%#v%3%"%% & '&3&M&`&|&&& &&&B&B2'nu''!'$(?(S(m( ~(((!((( ))4)!R)<t)) )))2 *>* F*Q*g* n*{* ****K+ R+^+ f+r+z++1++!+&,(, 1,>,[, `,j,!,#,, , , ,- -@-- n-{-- - --- ---.!.;.8J... .*.. . .. / /'/ Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:39+0000 Last-Translator: birkenfeld Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/sphinx-1/language/uk_UA/) Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Базовий: %s (застарілий) (в %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s атрибут)%s (%s.%s атрибут)%s (С функція)%s (C макрос)%s (C член)%s (C тип)%s (C змінна)%s (C++ клас)%s (C++ функція)%s (C++ член)%s (C++ тип)%s (вбудований клас)%s (вбудована змінна)%s (клас в %s)%s (directive)%s (global variable or constant)%s (в модулі %s)%s (модуль)%s (role)%s() (%s class method)%s() (%s метод)%s() (%s статичний метод)%s() (%s.%s class method)%s() (%s.%s метод)%s() (%s.%s статичний метод)%s() (вбудована функція)%s() (клас)%s() (в модулі %s)%sопція командного рядка; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

Про ці документиArgumentsУвагаАвтор: Автоматичного згенерований список змін в версії %(version)sВбудовані елементизміни C APIЗастереженняЗмінено в версії %sЗміни в Версії %(version)s — %(docstitle)sCode author: Collapse sidebarПовний ЗмістContentsContinued on next pageАвторські праваСтворено з використанням Sphinx %(sphinx_version)s.НебезпекаЗастарілийЗастаріло починаючи з версії %sВведіть пошуковий термін, модуль, клас чи назву функції.ПомилкаExpand sidebarFootnotesЗвідси ви можете шукати ці документи. Введіть ваші пошукові слова в поле нижче та натисніть "пошук". Зауважте що функція пошуку автоматично шукатиме за всіма словами. Сторінки що містять менше слів не з'являться в результуючому списку.Повний індекс на одній сторінціЗагальний індексЗагальний індекс модулівВпередПриховати співпадіння пошукуПідказкаВажливоІндексІндекс – %(key)sІндексні сторінки по символамІндекси та таблиці:Востаннє оновлено %(last_updated)s.Зміни в бібліотеціІндекс модулівАвтор модуля: Module codeРівень модуляНавігаціяНове в версії %sНаступна темаПриміткаІнші зміниОглядOverview: module codeПараметриПостійне посилання на це визначенняПостійне посилання на цей заголовокБудь-ласка вімкніть підтримку JavaScript, щоб ввікнути " " пошук.Preparing search...Попередній розділPython Enhancement Proposals; PEP %sPython Module IndexШвидкий пошукВикликаєРелізТип поверненняReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ПовертаєПошукПошук %(docstitle)sСторінка пошукуРезультати пошукуSearch finished, found %s page(s) matching the search query.Шукати в %(docstitle)sSearchingАвтор секції: Дивись такожВідобразити вихідний текстSymbolsЗмістЦя сторінкаThrowsПорадаДоробитиVariablesПопередженняWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]синонім :class:`%s`всі функції, класи, терміниатрибутвбудована функціяможе бути величезнимкласclass methodcontinued from previous pagedatadirectiveзмінна оточеннязмінна оточення; %sвиняткова ситуаціяфункціяglossary termgrammar tokenіндексключове словоlast updatedперелічити всі секції та підсекціїмакросчленmethodмодульмодулінаступнийнаступний розділоб'єктоператорoriginal entryпопереднійПопередній розділprogram optionшвидкий доступ до всіх модулівreference labelroleпошукшукати цю документаціюsee %ssee also %sвиразстатичний методthe documentation forтипvariablesphinx-1.2.2+dfsg.orig/sphinx/locale/__init__.py0000644000000000000000000001403412304304673020266 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.locale ~~~~~~~~~~~~~ Locale utilities. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import gettext import UserString class _TranslationProxy(UserString.UserString, object): """ Class for proxy strings from gettext translations. This is a helper for the lazy_* functions from this module. The proxy implementation attempts to be as complete as possible, so that the lazy objects should mostly work as expected, for example for sorting. This inherits from UserString because some docutils versions use UserString for their Text nodes, which then checks its argument for being either a basestring or UserString, otherwise calls str() -- not unicode() -- on it. This also inherits from object to make the __new__ method work. """ __slots__ = ('_func', '_args') def __new__(cls, func, *args): if not args: # not called with "function" and "arguments", but a plain string return unicode(func) return object.__new__(cls) def __getnewargs__(self): return (self._func,) + self._args def __init__(self, func, *args): self._func = func self._args = args data = property(lambda x: x._func(*x._args)) # replace function from UserString; it instantiates a self.__class__ # for the encoding result def encode(self, encoding=None, errors=None): if encoding: if errors: return self.data.encode(encoding, errors) else: return self.data.encode(encoding) else: return self.data.encode() def __contains__(self, key): return key in self.data def __nonzero__(self): return bool(self.data) def __dir__(self): return dir(unicode) def __iter__(self): return iter(self.data) def __len__(self): return len(self.data) def __str__(self): return str(self.data) def __unicode__(self): return unicode(self.data) def __add__(self, other): return self.data + other def __radd__(self, other): return other + self.data def __mod__(self, other): return self.data % other def __rmod__(self, other): return other % self.data def __mul__(self, other): return self.data * other def __rmul__(self, other): return other * self.data def __lt__(self, other): return self.data < other def __le__(self, other): return self.data <= other def __eq__(self, other): return self.data == other def __ne__(self, other): return self.data != other def __gt__(self, other): return self.data > other def __ge__(self, other): return self.data >= other def __getattr__(self, name): if name == '__members__': return self.__dir__() return getattr(self.data, name) def __getstate__(self): return self._func, self._args def __setstate__(self, tup): self._func, self._args = tup def __getitem__(self, key): return self.data[key] def __copy__(self): return self def __repr__(self): try: return 'i' + repr(unicode(self.data)) except: return '<%s broken>' % self.__class__.__name__ def mygettext(string): """Used instead of _ when creating TranslationProxies, because _ is not bound yet at that time. """ return _(string) def lazy_gettext(string): """A lazy version of `gettext`.""" #if isinstance(string, _TranslationProxy): # return string return _TranslationProxy(mygettext, string) l_ = lazy_gettext admonitionlabels = { 'attention': l_('Attention'), 'caution': l_('Caution'), 'danger': l_('Danger'), 'error': l_('Error'), 'hint': l_('Hint'), 'important': l_('Important'), 'note': l_('Note'), 'seealso': l_('See also'), 'tip': l_('Tip'), 'warning': l_('Warning'), } versionlabels = { 'versionadded': l_('New in version %s'), 'versionchanged': l_('Changed in version %s'), 'deprecated': l_('Deprecated since version %s'), } # XXX Python specific pairindextypes = { 'module': l_('module'), 'keyword': l_('keyword'), 'operator': l_('operator'), 'object': l_('object'), 'exception': l_('exception'), 'statement': l_('statement'), 'builtin': l_('built-in function'), } translators = {} if sys.version_info >= (3, 0): def _(message): return translators['sphinx'].gettext(message) else: def _(message): return translators['sphinx'].ugettext(message) def init(locale_dirs, language, catalog='sphinx'): """Look for message catalogs in `locale_dirs` and *ensure* that there is at least a NullTranslations catalog set in `translators`. If called multiple times or if several ``.mo`` files are found, their contents are merged together (thus making ``init`` reentrable). """ global translators translator = translators.get(catalog) # ignore previously failed attempts to find message catalogs if isinstance(translator, gettext.NullTranslations): translator = None # the None entry is the system's default locale path has_translation = True for dir_ in locale_dirs: try: trans = gettext.translation(catalog, localedir=dir_, languages=[language]) if translator is None: translator = trans else: translator._catalog.update(trans._catalog) except Exception: # Language couldn't be found in the specified path pass # guarantee translators[catalog] exists if translator is None: translator = gettext.NullTranslations() has_translation = False translators[catalog] = translator if hasattr(translator, 'ugettext'): translator.gettext = translator.ugettext return translator, has_translation sphinx-1.2.2+dfsg.orig/sphinx/locale/de/0000755000000000000000000000000012304560277016547 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/de/LC_MESSAGES/0000755000000000000000000000000012304560277020334 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/de/LC_MESSAGES/sphinx.po0000644000000000000000000005116512263743422022214 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # birkenfeld , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:49+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: German (http://www.transifex.com/projects/p/sphinx-1/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s Dokumentation" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "siehe %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "siehe auch %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Sonderzeichen" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Builtins" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulebene" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d.%m.%Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Stichwortverzeichnis" #: sphinx/builders/html.py:309 msgid "index" msgstr "Index" #: sphinx/builders/html.py:369 msgid "next" msgstr "weiter" #: sphinx/builders/html.py:378 msgid "previous" msgstr "zurück" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (in " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor des Abschnitts: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor des Moduls: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autor des Quellcode: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s-%s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parameter" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Rückgabe" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Rückgabetyp" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C-Funktion)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C-Member)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C-Makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C-Typ)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C-Variable)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "Funktion" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "Member" #: sphinx/domains/c.py:205 msgid "macro" msgstr "Makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "Typ" #: sphinx/domains/c.py:207 msgid "variable" msgstr "Variable" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Wirft" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++-Klasse)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++-Typ)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++-Member)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++-Funktion)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "Klasse" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (Standard-Funktion)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (Methode von %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (Klasse)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globale Variable oder Konstante)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (Attribut von %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Parameter" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "Daten" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "Attribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variablen" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Verursacht" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (im Modul %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (Standard-Variable)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (in Modul %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (Standard-Klasse)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (Klasse in %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (Methode von %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (statische Methode von %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (statische Methode von %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (Klassenmethode von %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (Klassenmethode von %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (Attribut von %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (Modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python-Modulindex" #: sphinx/domains/python.py:492 msgid "modules" msgstr "Module" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Veraltet" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "Exception" #: sphinx/domains/python.py:564 msgid "method" msgstr "Methode" #: sphinx/domains/python.py:565 msgid "class method" msgstr "Klassenmethode" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statische Methode" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "Module" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (veraltet)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (Direktive)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (Rolle)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "Direktive" #: sphinx/domains/rst.py:105 msgid "role" msgstr "Rolle" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "Umgebungsvariable; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sKommandozeilenoption; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "Glossareintrag" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "Grammatik-Token" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "Referenz-Label" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "Umgebungsvariable" #: sphinx/domains/std.py:419 msgid "program option" msgstr "Programmoption" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Stichwortverzeichnis" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulindex" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Suche" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Basisklassen: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "Alias von :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[Graph: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[Graph]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(in %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[Quelle]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Rückgabewert: Immer NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Rückgabewert: Neue Referenz." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Rückgabewert: Geliehene Referenz." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Zu tun" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(Der <> steht in %s, Zeile %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "ursprüngliche Eintrag" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[Doku]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modul-Quellcode" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Quellcode für %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Überblick: Modul-Quellcode" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Alle Module, für die Quellcode verfügbar ist

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Achtung" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Vorsicht" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Gefahr" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Fehler" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Hinweis" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Wichtig" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Bemerkung" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Siehe auch" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tipp" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Warnung" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Neu in Version %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Geändert in Version %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Veraltet ab Version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "Schlüsselwort" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "Operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "Objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "Anweisung" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "Standard-Funktion" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Inhalt" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Suche" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Los" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Geben Sie Suchbegriffe oder einen Modul-, Klassen- oder Funktionsnamen ein." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Quelltext anzeigen" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Übersicht" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Willkommen! Dies ist" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "die Dokumentation für" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "zuletzt aktualisiert" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indizes und Tabellen:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Vollständiges Inhaltsverzeichnis" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "Liste aller Kapitel und Unterkapitel" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "Durchsuche diese Dokumentation" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globaler Modulindex" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "Schneller Zugriff auf alle Module" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "Alle Funktionen, Klassen, Begriffe" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Stichwortverzeichnis – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Gesamtes Stichwortverzeichnis auf einer Seite" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Stichwortverzeichnis nach Anfangsbuchstabe" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "kann groß sein" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigation" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Suche in %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Über diese Dokumentation" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Zuletzt aktualisiert am %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Mit Sphinx %(sphinx_version)s erstellt." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Suche in %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Vorheriges Thema" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "vorheriges Kapitel" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Nächstes Thema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "nächstes Kapitel" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Bitte aktivieren Sie JavaScript, wenn Sie die Suchfunktion nutzen wollen." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Von hier aus können Sie die Dokumentation durchsuchen. Geben Sie Ihre Suchbegriffe in das untenstehende Feld ein und klicken Sie auf \"Suchen\". Bitte beachten Sie, dass die Suchfunktion automatisch nach all diesen Worten suchen wird. Seiten, die nicht alle Worte enthalten, werden nicht in der Ergebnisliste erscheinen." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "suchen" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Suchergebnisse" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Ihre Suche ergab keine Treffer. Bitte stellen Sie sicher, dass alle Wörter richtig geschrieben sind und genügend Kategorien ausgewählt sind." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Schnellsuche" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Diese Seite" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Änderungen in Version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatisch generierte Liste der Änderungen in Version %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Bibliotheks-Änderungen" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API-Änderungen" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Andere Änderungen" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Permalink zu dieser Überschrift" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Permalink zu dieser Definition" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Suchergebnisse ausblenden" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Suchen" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Suche wird vorbereitet..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Die Suche ist fertig, es wurde(n) %s Seite(n) mit Treffern gefunden." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", in " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Sidebar ausklappen" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Sidebar einklappen" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Inhalt" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Release" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Fußnoten" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "Fortsetzung der vorherigen Seite" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Fortsetzung auf der nächsten Seite" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[Bild: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[Bild]" sphinx-1.2.2+dfsg.orig/sphinx/locale/de/LC_MESSAGES/sphinx.js0000644000000000000000000000042512304304616022175 0ustar rootrootDocumentation.addTranslations({"locale": "de", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Suchergebnisse ausblenden", "Permalink to this definition": "Permalink zu dieser Definition", "Permalink to this headline": "Permalink zu dieser \u00dcberschrift"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/de/LC_MESSAGES/sphinx.mo0000644000000000000000000002475012263742674022221 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    "  5M ] j x $D U `k" 3AT6o7  7Hc }C8Pf!y# L $ - KD   ? -!""7"K"O"i"q"y"$"*"")"# 6#A#T# d# o#z## ## ## ## $I*$t$$$$$ $ $$ $%"%A% _%i%o%%%D%%%% & & 3&A& H&T&Z&_& f&p&x&&' $'0' 8'C'J'S'"i'''''' '' ''( &(0(9(H(X(^(m($((((((((((( ))%)!4)V)e)k)r)) ) ))))) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:49+0000 Last-Translator: birkenfeld Language-Team: German (http://www.transifex.com/projects/p/sphinx-1/language/de/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Basisklassen: %s (veraltet) (in %(filename)s — %(docstitle)s%d.%m.%Y%d.%m.%Y%s-%s%s %s Dokumentation%s (Attribut von %s)%s (Attribut von %s.%s)%s (C-Funktion)%s (C-Makro)%s (C-Member)%s (C-Typ)%s (C-Variable)%s (C++-Klasse)%s (C++-Funktion)%s (C++-Member)%s (C++-Typ)%s (Standard-Klasse)%s (Standard-Variable)%s (Klasse in %s)%s (Direktive)%s (globale Variable oder Konstante)%s (in Modul %s)%s (Modul)%s (Rolle)%s() (Klassenmethode von %s)%s() (Methode von %s)%s() (statische Methode von %s)%s() (Klassenmethode von %s.%s)%s() (Methode von %s.%s)%s() (statische Methode von %s.%s)%s() (Standard-Funktion)%s() (Klasse)%s() (im Modul %s)%sKommandozeilenoption; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(Der <> steht in %s, Zeile %d.)(in %s v%s), in

Alle Module, für die Quellcode verfügbar ist

Quellcode für %s

Über diese DokumentationParameterAchtungAutor: Automatisch generierte Liste der Änderungen in Version %(version)sBuiltinsC API-ÄnderungenVorsichtGeändert in Version %sÄnderungen in Version %(version)s — %(docstitle)sAutor des Quellcode: Sidebar einklappenVollständiges InhaltsverzeichnisInhaltFortsetzung auf der nächsten SeiteCopyrightMit Sphinx %(sphinx_version)s erstellt.GefahrVeraltetVeraltet ab Version %sGeben Sie Suchbegriffe oder einen Modul-, Klassen- oder Funktionsnamen ein.FehlerSidebar ausklappenFußnotenVon hier aus können Sie die Dokumentation durchsuchen. Geben Sie Ihre Suchbegriffe in das untenstehende Feld ein und klicken Sie auf "Suchen". Bitte beachten Sie, dass die Suchfunktion automatisch nach all diesen Worten suchen wird. Seiten, die nicht alle Worte enthalten, werden nicht in der Ergebnisliste erscheinen.Gesamtes Stichwortverzeichnis auf einer SeiteStichwortverzeichnisGlobaler ModulindexLosSuchergebnisse ausblendenHinweisWichtigStichwortverzeichnisStichwortverzeichnis – %(key)sStichwortverzeichnis nach AnfangsbuchstabeIndizes und Tabellen:Zuletzt aktualisiert am %(last_updated)s.Bibliotheks-ÄnderungenModulindexAutor des Moduls: Modul-QuellcodeModulebeneNavigationNeu in Version %sNächstes ThemaBemerkungAndere ÄnderungenÜbersichtÜberblick: Modul-QuellcodeParameterPermalink zu dieser DefinitionPermalink zu dieser ÜberschriftBitte aktivieren Sie JavaScript, wenn Sie die Suchfunktion nutzen wollen.Suche wird vorbereitet...Vorheriges ThemaPython Enhancement Proposals; PEP %sPython-ModulindexSchnellsucheVerursachtReleaseRückgabetypRückgabewert: Immer NULL.Rückgabewert: Geliehene Referenz.Rückgabewert: Neue Referenz.RückgabeSucheSuche in %(docstitle)sSucheSuchergebnisseDie Suche ist fertig, es wurde(n) %s Seite(n) mit Treffern gefunden.Suche in %(docstitle)sSuchenAutor des Abschnitts: Siehe auchQuelltext anzeigenSonderzeichenInhaltDiese SeiteWirftTippZu tunVariablenWarnungWillkommen! Dies istIhre Suche ergab keine Treffer. Bitte stellen Sie sicher, dass alle Wörter richtig geschrieben sind und genügend Kategorien ausgewählt sind.[Doku][Graph: %s][Graph][Bild: %s][Bild][Quelle]Alias von :class:`%s`Alle Funktionen, Klassen, BegriffeAttributStandard-Funktionkann groß seinKlasseKlassenmethodeFortsetzung der vorherigen SeiteDatenDirektiveUmgebungsvariableUmgebungsvariable; %sExceptionFunktionGlossareintragGrammatik-TokenIndexSchlüsselwortzuletzt aktualisiertListe aller Kapitel und UnterkapitelMakroMemberMethodeModuleModuleweiternächstes KapitelObjektOperatorursprüngliche Eintragzurückvorheriges KapitelProgrammoptionSchneller Zugriff auf alle ModuleReferenz-LabelRollesuchenDurchsuche diese Dokumentationsiehe %ssiehe auch %sAnweisungstatische Methodedie Dokumentation fürTypVariablesphinx-1.2.2+dfsg.orig/sphinx/locale/ko/0000755000000000000000000000000012304560277016570 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ko/LC_MESSAGES/0000755000000000000000000000000012304560277020355 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ko/LC_MESSAGES/sphinx.po0000644000000000000000000004565012263743422022237 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:26+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Korean (http://www.transifex.com/projects/p/sphinx-1/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "%s 문서" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "%s 참조" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y년 %m월 %d일" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "기본" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "모듈 수준" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y년 %m월 %d일" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "전체 색인" #: sphinx/builders/html.py:309 msgid "index" msgstr "색인" #: sphinx/builders/html.py:369 msgid "next" msgstr "다음" #: sphinx/builders/html.py:378 msgid "previous" msgstr "이전" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "매개 변수" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "반환" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "반환 형식" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C 함수)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C 멤버 변수)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C 매크로)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C 데이터 형식)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C 변수)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "함수" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "멤버 변수" #: sphinx/domains/c.py:205 msgid "macro" msgstr "매크로" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "데이터 형식" #: sphinx/domains/c.py:207 msgid "variable" msgstr "변수" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "예외" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ 클래스)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ 데이터 형식)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++의 멤버 변수)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ 함수)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "클래스" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() 내장 함수)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s 메서드)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (클래스)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (전역 변수 또는 상수)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s의 속성)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "인수" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "데이터" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "속성" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "변수" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "예외" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s 모듈)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (내장 변수)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s 모듈)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (내장 변수)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (%s 종류)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s의 정적 메서드)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s 클래스 메서드)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (모듈)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python 모듈 목록" #: sphinx/domains/python.py:492 msgid "modules" msgstr "모듈" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "폐지" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "예외" #: sphinx/domains/python.py:564 msgid "method" msgstr "메소드" #: sphinx/domains/python.py:565 msgid "class method" msgstr "클래스 메소드" #: sphinx/domains/python.py:566 msgid "static method" msgstr "정적 메서드" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "모듈" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (지시문)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (역할)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "지시자" #: sphinx/domains/rst.py:105 msgid "role" msgstr "역할" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "환경 변수; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s 명령; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "용어의 항목" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "문법 토큰" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "참조 레이블" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "환경 변수" #: sphinx/domains/std.py:419 msgid "program option" msgstr "프로그램 옵션" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "색인" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "모듈 목록" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "검색 페이지" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[소스]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "과제" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "원래 항목" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[문서]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "모듈 코드" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "설명: 모듈 코드" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "주의" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "조심" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "위험" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "오류" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "힌트" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "중요" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "주석" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "더 보기" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "참고" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "경고" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "버전 %s에 추가" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "버전 %s으로 변경" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "버전 %s 폐지" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "키워드" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "연산자" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "객체" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "글" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "내장 함수" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "목차" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "검색" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "바로 가기" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "모듈, 클래스 또는 함수 이름을 입력하십시오." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "소스 코드를 보려면" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "개요" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "색인 및 표 목록:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "종합 목차" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "영역별 목차" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "문서 검색" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "모듈 총 색인" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "모든 모듈 조견표" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "함수, 클래스 및 용어 개관" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "일반 색인" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "알파벳별 색인" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "큰 경우가 있으므로 주의" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "탐색" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "%(docstitle)s에서 찾기" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "이 문서 정보" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "저작권" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "최종 업데이트: %(last_updated)s" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "%(docstitle)s에서 찾기" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "이전 항목" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "이전 장" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "다음 항목" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "다음 장" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "검색" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "검색 결과" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "빠른 검색" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "현재 문서" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "버전 %(version)s의 변경 사항 (이 목록은 자동으로 생성합니다)" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "라이브러리에 대한 변경" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API에 대한 변경" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "다른 변경 사항" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "제목 주소" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "정의 주소" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "검색 결과 숨기기" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "사이드바 열기" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "사이드바 닫기" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "내용" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "출시" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "참고" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "이전 페이지에서 계속" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "일반 색인" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[그림]" sphinx-1.2.2+dfsg.orig/sphinx/locale/ko/LC_MESSAGES/sphinx.js0000644000000000000000000000042112304304616022212 0ustar rootrootDocumentation.addTranslations({"locale": "ko", "plural_expr": "0", "messages": {"Hide Search Matches": "\uac80\uc0c9 \uacb0\uacfc \uc228\uae30\uae30", "Permalink to this definition": "\uc815\uc758 \uc8fc\uc18c", "Permalink to this headline": "\uc81c\ubaa9 \uc8fc\uc18c"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/ko/LC_MESSAGES/sphinx.mo0000644000000000000000000002421312263742675022235 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " &8 M[l $3 Bc r ~#7H Y6g4 06RdkrP{4 =K _m t M=7 > R Y Z! h!v! !!!!!!!!%" *" K"Y" i" w""" """"" " " #B#T# h#$v## ### ##!#$4$;$B$]$ n$<|$$ $$ $$%% $%2%9%@%G%N%U%f%% %& &&#&,&#A&e& l&!z& &&& & & && ''' +'9' @' J'W' h' r' '''' '' ' '' '''((( &( 4( >(H(L(](s(( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:26+0000 Last-Translator: birkenfeld Language-Team: Korean (http://www.transifex.com/projects/p/sphinx-1/language/ko/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%Y년 %m월 %d일%Y년 %m월 %d일%s %s%s %s documentation%s (%s의 속성)%s (%s.%s attribute)%s (C 함수)%s (C 매크로)%s (C 멤버 변수)%s (C 데이터 형식)%s (C 변수)%s (C++ 클래스)%s (C++ 함수)%s (C++의 멤버 변수)%s (C++ 데이터 형식)%s (내장 변수)%s (내장 변수)%s (%s 종류)%s (지시문)%s (전역 변수 또는 상수)%s (%s 모듈)%s (모듈)%s (역할)%s() (%s 클래스 메서드)%s() (%s 메서드)%s() (%s의 정적 메서드)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() 내장 함수)%s() (클래스)%s() (%s 모듈)%s 명령; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

이 문서 정보인수주의Author: 버전 %(version)s의 변경 사항 (이 목록은 자동으로 생성합니다)기본C API에 대한 변경조심버전 %s으로 변경Changes in Version %(version)s — %(docstitle)sCode author: 사이드바 닫기종합 목차내용일반 색인저작권Created using Sphinx %(sphinx_version)s.위험폐지버전 %s 폐지모듈, 클래스 또는 함수 이름을 입력하십시오.오류사이드바 열기참고From here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.일반 색인전체 색인모듈 총 색인바로 가기검색 결과 숨기기힌트중요색인Index – %(key)s알파벳별 색인색인 및 표 목록:최종 업데이트: %(last_updated)s라이브러리에 대한 변경모듈 목록Module author: 모듈 코드모듈 수준탐색버전 %s에 추가다음 항목주석다른 변경 사항개요설명: 모듈 코드매개 변수정의 주소제목 주소Please activate JavaScript to enable the search functionality.Preparing search...이전 항목Python Enhancement Proposals; PEP %sPython 모듈 목록빠른 검색예외출시반환 형식Return value: Always NULL.Return value: Borrowed reference.Return value: New reference.반환검색%(docstitle)s에서 찾기검색 페이지검색 결과Search finished, found %s page(s) matching the search query.%(docstitle)s에서 찾기SearchingSection author: 더 보기소스 코드를 보려면Symbols목차현재 문서예외참고과제변수경고Welcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[문서][graph: %s][graph][image: %s][그림][소스]alias of :class:`%s`함수, 클래스 및 용어 개관속성내장 함수큰 경우가 있으므로 주의클래스클래스 메소드이전 페이지에서 계속데이터지시자환경 변수환경 변수; %s예외함수용어의 항목문법 토큰색인키워드last updated영역별 목차매크로멤버 변수메소드모듈모듈다음다음 장객체연산자원래 항목이전이전 장프로그램 옵션모든 모듈 조견표참조 레이블역할검색문서 검색%s 문서%s 참조글정적 메서드the documentation for데이터 형식변수sphinx-1.2.2+dfsg.orig/sphinx/locale/hr/0000755000000000000000000000000012304560277016570 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/hr/LC_MESSAGES/0000755000000000000000000000000012304560277020355 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/hr/LC_MESSAGES/sphinx.po0000644000000000000000000004670212263743422022236 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:23+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Croatian (http://www.transifex.com/projects/p/sphinx-1/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Ugrađeni dijelovi" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Nivo modula" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Opceniti abecedni indeks" #: sphinx/builders/html.py:309 msgid "index" msgstr "abecedni indeks" #: sphinx/builders/html.py:369 msgid "next" msgstr "naprijed" #: sphinx/builders/html.py:378 msgid "previous" msgstr "nazad" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (u " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor sekcije: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor modula: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametri" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Vraća" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Vraća tip" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C funkcija)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C član)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tip)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C varijabla)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcija" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "član" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tip" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ razred)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tip)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ član)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ funkcija)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "razred" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (ugrađene funkcije)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metoda)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (razred)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atribut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Podiže" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (u modulu %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (ugrađene variable)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (u modulu %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (ugrađen razred)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (razred u %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metoda)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statična metoda)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statična metoda)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s atribut)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "Moduli" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Zastarjelo" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "izuzetak" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statična metoda" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (zastarjelo)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "varijabla okruženja; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%scommand line parameter; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "varijabla okruženja" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Abecedni popis" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Popis modula" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Tražilica" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Osnove: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "nadimak za :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Pozor" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Pažnja" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Opasnost" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Greška" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Savjet" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Važno" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Napomena" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Pogledaj i" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Savjet" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Upozorenje" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Novo u verziji %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Promijenjeno u verziji %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Zastarijelo od verzije %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "ključna riječ" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "izjava" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "ugrađen funkcije" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Pregled sadržaja" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Traži" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Naprijed" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Unesi ime modula, razreda ili funkcije." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Prikaži izvorni kod" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Pregled" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Kazala i tabele:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Potpuna tabela sadržaja" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "prikaži sve sekcije i podsekcije" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "traži po dokumentaciji" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Općeniti popis modula" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "brz dostup do svih modulov" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "sve funkcije, razredi, izrazi" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Potpun indeks na jednoj strani" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indeksiraj stranice po slovu" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "može biti veliko" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigacija" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Traži između %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "O ovim dokumentima" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Sva prava zadržana" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Sva prava zadržana %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Sva prava zadržana %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Zadnji put ažurirano %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Izrađeno sa Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Traži %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Prijašnja tema" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "Prijašnje poglavje" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Slijedeća tema" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "slijedeće poglavje" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Molimo omogućite JavaScript\n za djelovanje tražilice." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "From here you can search these documents. Enter your search\n words into the box below and click \"search\". Note that the search\n function will automatically search for all of the words. Pages\n containing fewer words won't appear in the result list." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "traži" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Rezultati pretrage" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Brzo pretraživanje" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Trenutna stranica" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Changes in Version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatically generated list of changes in version %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Library changes" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API changes" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Ostale promjene" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Link na taj naslov" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Link na tu definiciju" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Sakrij rezultate pretrage" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Distribucija" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "nastavak sa prethodne stranice" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "nastavak na slijedećoj stranici" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[slika]" sphinx-1.2.2+dfsg.orig/sphinx/locale/hr/LC_MESSAGES/sphinx.js0000644000000000000000000000050212304304616022212 0ustar rootrootDocumentation.addTranslations({"locale": "hr", "plural_expr": "n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2", "messages": {"Hide Search Matches": "Sakrij rezultate pretrage", "Permalink to this definition": "Link na tu definiciju", "Permalink to this headline": "Link na taj naslov"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/hr/LC_MESSAGES/sphinx.mo0000644000000000000000000002441512263742675022241 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     " 9 CMSgw    #;L [|  1 KYl@)4 )50;l > 44 iw L, 5 @ 'Z    !!!!!""$"3"I"f"'w"" "" " " ""###)#1# G#Q#g#:z###$##$&$ .$ ;$F$!a$$$$$ $$<$% ;%E% U%`%u%}%%%%% % %%%e& l&x& &&&&&&&&& ''1' 6'@'U'n'w' ' ''' '!'''''( ((((/(8(G(M(a(p(((((( (((()) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:23+0000 Last-Translator: birkenfeld Language-Team: Croatian (http://www.transifex.com/projects/p/sphinx-1/language/hr/) Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Osnove: %s (zastarjelo) (u %(filename)s — %(docstitle)s%d %B, %Y%d %b, %Y%s %s%s %s documentation%s (%s atribut)%s (%s.%s atribut)%s (C funkcija)%s (C makro)%s (C član)%s (C tip)%s (C varijabla)%s (C++ razred)%s (C++ funkcija)%s (C++ član)%s (C++ tip)%s (ugrađen razred)%s (ugrađene variable)%s (razred u %s)%s (directive)%s (global variable or constant)%s (u modulu %s)%s (modul)%s (role)%s() (%s class method)%s() (%s metoda)%s() (%s statična metoda)%s() (%s.%s class method)%s() (%s.%s metoda)%s() (%s.%s statična metoda)%s() (ugrađene funkcije)%s() (razred)%s() (u modulu %s)%scommand line parameter; %s© Sva prava zadržana %(copyright)s.© Sva prava zadržana %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

O ovim dokumentimaArgumentsPozorAutor:Automatically generated list of changes in version %(version)sUgrađeni dijeloviC API changesPažnjaPromijenjeno u verziji %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarPotpuna tabela sadržajaContentsnastavak na slijedećoj straniciSva prava zadržanaIzrađeno sa Sphinx %(sphinx_version)s.OpasnostZastarjeloZastarijelo od verzije %sUnesi ime modula, razreda ili funkcije.GreškaExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Potpun indeks na jednoj straniOpceniti abecedni indeksOpćeniti popis modulaNaprijedSakrij rezultate pretrageSavjetVažnoAbecedni popisIndex – %(key)sIndeksiraj stranice po slovuKazala i tabele:Zadnji put ažurirano %(last_updated)s.Library changesPopis modulaAutor modula: Module codeNivo modulaNavigacijaNovo u verziji %sSlijedeća temaNapomenaOstale promjenePregledOverview: module codeParametriLink na tu definicijuLink na taj naslovMolimo omogućite JavaScript za djelovanje tražilice.Preparing search...Prijašnja temaPython Enhancement Proposals; PEP %sPython Module IndexBrzo pretraživanjePodižeDistribucijaVraća tipReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.VraćaTražiTraži %(docstitle)sTražilicaRezultati pretrageSearch finished, found %s page(s) matching the search query.Traži između %(docstitle)sSearchingAutor sekcije: Pogledaj iPrikaži izvorni kodSymbolsPregled sadržajaTrenutna stranicaThrowsSavjetTodoVariablesUpozorenjeWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][slika][source]nadimak za :class:`%s`sve funkcije, razredi, izraziatributugrađen funkcijemože biti velikorazredclass methodnastavak sa prethodne stranicedatadirectivevarijabla okruženjavarijabla okruženja; %sizuzetakfunkcijaglossary termgrammar tokenabecedni indeksključna riječlast updatedprikaži sve sekcije i podsekcijemacročlanmethodmodulModulinaprijedslijedeće poglavjeobjektoperatororiginal entrynazadPrijašnje poglavjeprogram optionbrz dostup do svih modulovreference labelroletražitraži po dokumentacijisee %ssee also %sizjavastatična metodathe documentation fortipvariablesphinx-1.2.2+dfsg.orig/sphinx/locale/fa/0000755000000000000000000000000012304560277016545 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fa/LC_MESSAGES/0000755000000000000000000000000012304560277020332 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/fa/LC_MESSAGES/sphinx.po0000644000000000000000000004634412263743422022215 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:19+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Persian (http://www.transifex.com/projects/p/sphinx-1/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "درونی سازی" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "در سطح ماژول" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "فهرست کلی" #: sphinx/builders/html.py:309 msgid "index" msgstr "فهرست" #: sphinx/builders/html.py:369 msgid "next" msgstr "بعدی" #: sphinx/builders/html.py:378 msgid "previous" msgstr "قبلی" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr ":نویسنده این بخش" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "نویسنده این ماژول:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr ":نویسنده" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "پارامترها" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "نوع برگشتی" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C تابع)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C عضو)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C ماکرو)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C نوع)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C متغیر)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (توابع درونی)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s متد)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s مشخصه)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "برانگیختن" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (در ماژول %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (متغیر درونی)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (در ماژول %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (کلاس درونی)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (کلاس در %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s متد)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s متد استاتیک)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s متد استاتیک)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s مشخصه)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (ماژول)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "ماژول ها" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "منسوخ شده" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "استثناء" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "ماژول" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "%s متغیرهای عمومی؛" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sگزینه خط فرمان; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "فهرست" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "فهرست ماژول ها" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "صفحه جستجو" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "در دست انجام" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "دقت" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "ملاحظه" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "خطر" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "خطا" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "تذکر" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "مهم" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "توجه" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "همچنین ملاحظه نمائید" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "نکته" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "هشدار" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "جدید در نسخه %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "تغییر داده شده در نسخه %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "منسوخ شده از نسخه %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "کلمه کلیدی" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "عملگر" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "شیء" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "گذاره" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "توابع درونی" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "فهرست عناوین" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "جستجو" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "برو" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "نمایش سورس" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "بررسی اجمالی" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "ایندکس ها و جداول:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "فهرست کامل مطالب" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "فهرست تمامی بخش ها و زیر مجموعه ها" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "جستجو در این اسناد" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "فهرست کلی ماژول ها" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "دسترسی سریع به تمامی متدها" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "تمامی توابع ، کلاس ها ، اصطلاحات" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "فهرست – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "فهرست کامل در یک صفحه" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "فهرست صفحات بر اساس حروف" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "ناوبری" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "جستجو در %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "درباره این مستندات" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "کپی رایت" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr ". %(last_updated)s آخرین بروز رسانی در" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr ". Sphinx %(sphinx_version)s ایجاد شده با" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "جستجو %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "موضوع قبلی" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "فصل قبلی" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "موضوع بعدی" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "فصل بعدی" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "جستجو" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "نتایج جستجو" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "جستجو سریع" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "صفحه فعلی" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "تغییرات در نسخه %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "لیست تولید شده خودکار از تغییرات در نسخه %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "تغییرات کتابخانه ایی" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API تغییرات" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "دگر تغییرات" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "لینک ثابت به این سر مقاله" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "لینک ثابت به این تعریف" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "عدم نمایش نتایج یافت شده" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "انتشار" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "" sphinx-1.2.2+dfsg.orig/sphinx/locale/fa/LC_MESSAGES/sphinx.js0000644000000000000000000000103412304304616022170 0ustar rootrootDocumentation.addTranslations({"locale": "fa", "plural_expr": "0", "messages": {"Hide Search Matches": "\u0639\u062f\u0645 \u0646\u0645\u0627\u06cc\u0634 \u0646\u062a\u0627\u06cc\u062c \u06cc\u0627\u0641\u062a \u0634\u062f\u0647", "Permalink to this definition": "\u0644\u06cc\u0646\u06a9 \u062b\u0627\u0628\u062a \u0628\u0647 \u0627\u06cc\u0646 \u062a\u0639\u0631\u06cc\u0641", "Permalink to this headline": "\u0644\u06cc\u0646\u06a9 \u062b\u0627\u0628\u062a \u0628\u0647 \u0627\u06cc\u0646 \u0633\u0631 \u0645\u0642\u0627\u0644\u0647"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/fa/LC_MESSAGES/sphinx.mo0000644000000000000000000002547612263742675022226 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  *@P b p~  (Ia q{" 1> X6y4 0H"d U '+4>` W e l "~ 7    &!!"!3"U",\""" ""," "7 #&E#l#!# ## ###$$'$?$U$(h$-$B$%%$*%O%c%w% %%%!%%& &&1&E&<[&& &&&&''!'9'K'R'[' r' |'''#( *(6( >(J(R([(:p( (( (( (() )) +)L)[) d) r) )) )=)))) ) **"*2* 9*D*S*\*l*0{*** *!** * + ++0+5+ Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:19+0000 Last-Translator: birkenfeld Language-Team: Persian (http://www.transifex.com/projects/p/sphinx-1/language/fa/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s مشخصه)%s (%s.%s مشخصه)%s (C تابع)%s (C ماکرو)%s (C عضو)%s (C نوع)%s (C متغیر)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (کلاس درونی)%s (متغیر درونی)%s (کلاس در %s)%s (directive)%s (global variable or constant)%s (در ماژول %s)%s (ماژول)%s (role)%s() (%s class method)%s() (%s متد)%s() (%s متد استاتیک)%s() (%s.%s class method)%s() (%s.%s متد)%s() (%s.%s متد استاتیک)%s() (توابع درونی)%s() (class)%s() (در ماژول %s)%sگزینه خط فرمان; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

درباره این مستنداتArgumentsدقت:نویسندهلیست تولید شده خودکار از تغییرات در نسخه %(version)sدرونی سازیC API تغییراتملاحظهتغییر داده شده در نسخه %sتغییرات در نسخه %(version)s — %(docstitle)sCode author: Collapse sidebarفهرست کامل مطالبContentsContinued on next pageکپی رایت. Sphinx %(sphinx_version)s ایجاد شده باخطرمنسوخ شدهمنسوخ شده از نسخه %sEnter search terms or a module, class or function name.خطاExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.فهرست کامل در یک صفحهفهرست کلیفهرست کلی ماژول هابروعدم نمایش نتایج یافت شدهتذکرمهمفهرستفهرست – %(key)sفهرست صفحات بر اساس حروفایندکس ها و جداول:. %(last_updated)s آخرین بروز رسانی درتغییرات کتابخانه اییفهرست ماژول هانویسنده این ماژول:Module codeدر سطح ماژولناوبریجدید در نسخه %sموضوع بعدیتوجهدگر تغییراتبررسی اجمالیOverview: module codeپارامترهالینک ثابت به این تعریفلینک ثابت به این سر مقالهPlease activate JavaScript to enable the search functionality.Preparing search...موضوع قبلیPython Enhancement Proposals; PEP %sPython Module Indexجستجو سریعبرانگیختنانتشارنوع برگشتیReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Returnsجستجوجستجو %(docstitle)sصفحه جستجونتایج جستجوSearch finished, found %s page(s) matching the search query.جستجو در %(docstitle)sSearching:نویسنده این بخشهمچنین ملاحظه نمائیدنمایش سورسSymbolsفهرست عناوینصفحه فعلیThrowsنکتهدر دست انجامVariablesهشدارWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`تمامی توابع ، کلاس ها ، اصطلاحاتattributeتوابع درونیcan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variable%s متغیرهای عمومی؛استثناءfunctionglossary termgrammar tokenفهرستکلمه کلیدیlast updatedفهرست تمامی بخش ها و زیر مجموعه هاmacromembermethodماژولماژول هابعدیفصل بعدیشیءعملگرoriginal entryقبلیفصل قبلیprogram optionدسترسی سریع به تمامی متدهاreference labelroleجستجوجستجو در این اسنادsee %ssee also %sگذارهstatic methodthe documentation fortypevariablesphinx-1.2.2+dfsg.orig/sphinx/locale/ne/0000755000000000000000000000000012304560277016561 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ne/LC_MESSAGES/0000755000000000000000000000000012304560277020346 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ne/LC_MESSAGES/sphinx.po0000644000000000000000000005475612263743422022237 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2011 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:33+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Nepali (http://www.transifex.com/projects/p/sphinx-1/language/ne/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: ne\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "%s हेर्नुहोस्" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "%s पनि हेर्नुहोस् " #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "बिइल्टिन्स" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "मडुलको तह" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "सामान्य अनुसुची" #: sphinx/builders/html.py:309 msgid "index" msgstr "अनुसुची" #: sphinx/builders/html.py:369 msgid "next" msgstr "पछिल्लो" #: sphinx/builders/html.py:378 msgid "previous" msgstr "अघिल्लो" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(in" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "सेक्सनको लेखक" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "मडुलको लेखक" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Codeको लेखक " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "लेखक" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parameters" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Returns" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Return type" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C कार्य)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C सदस्य)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C बृहत)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C किसिम)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C चल)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "फन्क्सन" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "सदस्य" #: sphinx/domains/c.py:205 msgid "macro" msgstr "बृहत" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "किसिम" #: sphinx/domains/c.py:207 msgid "variable" msgstr "चल" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Throws" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ कक्षा)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ किसिम)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ सदस्य)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++कार्य)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "कक्षा" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (built-in function)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s विधी)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (कक्षा)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (global variable or constant)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s attribute)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Arguments" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribute" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "चलहरू" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Raises" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (in मडुल %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (built-in चल)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (in मडुल %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (built-in कक्षा)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (कक्षा in %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s विधी)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s static विधी)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s static विधी)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s कक्षा विधी)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s कक्षा विधी)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s attribute)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (मडुल)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python Module Index" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modules" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Deprecated" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "अपबाद" #: sphinx/domains/python.py:564 msgid "method" msgstr "विधी" #: sphinx/domains/python.py:565 msgid "class method" msgstr "कक्षा विधी" #: sphinx/domains/python.py:566 msgid "static method" msgstr "static विधी" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "मडुल" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "(deprecated)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (निर्देशिक)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (भूमिका)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "निर्देशिक" #: sphinx/domains/rst.py:105 msgid "role" msgstr "भूमिका" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "environment variable; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%scommand line option; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "शब्द-अर्थमा भएको" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "grammar token" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "सन्दर्व सामग्री" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "environment variable" #: sphinx/domains/std.py:419 msgid "program option" msgstr "कार्यक्रमका बिकल्प" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "अनुसुची" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "मडुल अनुसुची" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "पानामा खोज्नुहोस्" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "Bases: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias of :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[स्रोत]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> यहाँ %s, line %d रहेको छ । " #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "मौलिक इन्ट्री" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Module code" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Source code for %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "पुनरावलोकन: module code" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

All modules for which code is available

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "ध्यानाकर्षण" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "होसियार " #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "खतरा" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "गलत" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "सङ्केत" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "जरुरी" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "टिप्पणी" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "पनि हेर्नुहोस" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "साबधान" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "भर्सन %s मा नयाँ" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "भर्सन %s मा बदलिएको" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Deprecated since version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "मुख्य शब्द" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "सन्चालक" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "object" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "भनाई" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "built-in फन्क्सन" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "विषयसूची" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "खोज्नुहोस् " #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "जानुहोस्" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "खोज्ने टर्मस् अथवा एक मडुल्, कक्षा अथवा फन्क्सनको नाम लेख्नुहोस " #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "स्रोत देखाउनुहोस् " #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "पुनरावलोकन " #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "इन्डीसीस्स र तलिका" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "पुरा विषयसूची" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "सबै सेक्सन र सवसेक्सन देखाउनुहोस्" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "यो डकुमेन्ट खोज्नुहोस्" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "ग्लोबल मडुल अनुसुची" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "सबै मोदुलेसमा छिटै जानुहोस्" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "सबै फन्क्सनस्, कक्षाहरू र टर्मस्" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "पुरा अनुसुची एकै पानामा" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "अक्षर अनुसार अनुसुचीका पाना" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "धेरै ठुलो हुन सक्छ" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "नेभिगेसन " #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "यी डकुमेन्टहरुको बारेमा" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "कपिराइट " #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "यो भन्दा अगाडी %(last_updated)s मा अपडेट भएको" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "अघिल्लो विषय " #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "अघिल्लो खन्ड" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "पछिल्लो विषय" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "पछिल्लो खन्ड" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "खोज्ने कार्य आगाडी बढाउनको लागि जाभास्कृप्ट चलाईदिनुहोस " #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "यहाँबाट तपाईंले यी ड्कुमेन्टहरु खोज्नसक्नु हुन्छ । खोज्न शब्दहरु\nतलको बक्समा लेख्‍नुहोस र \"खोज्नुहोस्\"थिच्नुहोस । खोज्नुहोस्\nफन्क्सनले आफै सबै शब्दहरु खोज्छ । \nथोरै शब्दहरु भएको पानाहरु नतिजामा देखिन्न । " #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "खोज्नुहोस्" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "खोजेको नतिजा" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "छिट्टो खोज्नुहोस्" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "यो पाना" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "%(version)s — %(docstitle)s मा भएका फरकहरु " #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "भर्सन %(version)s मा भएका फरक हरु आफै जेनेरेट भए " #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "लाईब्रेरीका परिवर्तनहरु" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API का परिवर्तनहरु " #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "अरु परिवर्तनहरु " #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "यो शिर्षकको लागि पर्मालिन्क । " #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "यो अर्थको लागि पर्मालिन्क" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "खोजेको नतिजाहरु लुकाउनुहोस्" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "साइडबर ठुलो बनाउनुहोस्" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "साइडबर सानो बनाउनुहोस्" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "विषयसूची" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "रीलीज" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "फूट्नोट्स" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "अघिल्लो पानासँग जोडीएको" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "अर्को पानासँग जोडीएको" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[चित्र]" sphinx-1.2.2+dfsg.orig/sphinx/locale/ne/LC_MESSAGES/sphinx.js0000644000000000000000000000116412304304616022210 0ustar rootrootDocumentation.addTranslations({"locale": "ne", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "\u0916\u094b\u091c\u0947\u0915\u094b \u0928\u0924\u093f\u091c\u093e\u0939\u0930\u0941 \u0932\u0941\u0915\u093e\u0909\u0928\u0941\u0939\u094b\u0938\u094d", "Permalink to this definition": "\u092f\u094b \u0905\u0930\u094d\u0925\u0915\u094b \u0932\u093e\u0917\u093f \u092a\u0930\u094d\u092e\u093e\u0932\u093f\u0928\u094d\u0915", "Permalink to this headline": "\u092f\u094b \u0936\u093f\u0930\u094d\u0937\u0915\u0915\u094b \u0932\u093e\u0917\u093f \u092a\u0930\u094d\u092e\u093e\u0932\u093f\u0928\u094d\u0915 \u0964 "}});sphinx-1.2.2+dfsg.orig/sphinx/locale/ne/LC_MESSAGES/sphinx.mo0000644000000000000000000003161612263742675022233 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  )>Ui &; V w&)6` z66GV 0A ?!I klx0 5 0L I}  > %!E!;^!!M! ! ""3" ">"'#%C#?i%,%5% &M%&s&&&&K&2'[A'D'"'( %(1(K(&e("((,((+) >)EI)P)){*#*$**1*+%+ 5+A+!\+~++++1+" ,<-,j, ,%,%,2,--0-D-K-O-T-d-w--. .&. ..:.L.^.Vs. ..0.$/4/AQ///////,0 50C0Y0 v0[0 00 0 111"41W1^1%t11"141K2+T222>2!2,3 @3M3a3w33 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:33+0000 Last-Translator: birkenfeld Language-Team: Nepali (http://www.transifex.com/projects/p/sphinx-1/language/ne/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s(deprecated)(in%(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C कार्य)%s (C बृहत)%s (C सदस्य)%s (C किसिम)%s (C चल)%s (C++ कक्षा)%s (C++कार्य)%s (C++ सदस्य)%s (C++ किसिम)%s (built-in कक्षा)%s (built-in चल)%s (कक्षा in %s)%s (निर्देशिक)%s (global variable or constant)%s (in मडुल %s)%s (मडुल)%s (भूमिका)%s() (%s कक्षा विधी)%s() (%s विधी)%s() (%s static विधी)%s() (%s.%s कक्षा विधी)%s() (%s.%s विधी)%s() (%s.%s static विधी)%s() (built-in function)%s() (कक्षा)%s() (in मडुल %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> यहाँ %s, line %d रहेको छ । (in %s v%s), in

All modules for which code is available

Source code for %s

यी डकुमेन्टहरुको बारेमाArgumentsध्यानाकर्षणलेखकभर्सन %(version)s मा भएका फरक हरु आफै जेनेरेट भए बिइल्टिन्सC API का परिवर्तनहरु होसियार भर्सन %s मा बदलिएको%(version)s — %(docstitle)s मा भएका फरकहरु Codeको लेखक साइडबर सानो बनाउनुहोस्पुरा विषयसूचीविषयसूचीअर्को पानासँग जोडीएकोकपिराइट Created using Sphinx %(sphinx_version)s.खतराDeprecatedDeprecated since version %sखोज्ने टर्मस् अथवा एक मडुल्, कक्षा अथवा फन्क्सनको नाम लेख्नुहोस गलतसाइडबर ठुलो बनाउनुहोस्फूट्नोट्सयहाँबाट तपाईंले यी ड्कुमेन्टहरु खोज्नसक्नु हुन्छ । खोज्न शब्दहरु तलको बक्समा लेख्‍नुहोस र "खोज्नुहोस्"थिच्नुहोस । खोज्नुहोस् फन्क्सनले आफै सबै शब्दहरु खोज्छ । थोरै शब्दहरु भएको पानाहरु नतिजामा देखिन्न । पुरा अनुसुची एकै पानामासामान्य अनुसुचीग्लोबल मडुल अनुसुचीजानुहोस्खोजेको नतिजाहरु लुकाउनुहोस्सङ्केतजरुरीअनुसुचीIndex – %(key)sअक्षर अनुसार अनुसुचीका पानाइन्डीसीस्स र तलिकायो भन्दा अगाडी %(last_updated)s मा अपडेट भएकोलाईब्रेरीका परिवर्तनहरुमडुल अनुसुचीमडुलको लेखकModule codeमडुलको तहनेभिगेसन भर्सन %s मा नयाँपछिल्लो विषयटिप्पणीअरु परिवर्तनहरु पुनरावलोकन पुनरावलोकन: module codeParametersयो अर्थको लागि पर्मालिन्कयो शिर्षकको लागि पर्मालिन्क । खोज्ने कार्य आगाडी बढाउनको लागि जाभास्कृप्ट चलाईदिनुहोस Preparing search...अघिल्लो विषय Python Enhancement Proposals; PEP %sPython Module Indexछिट्टो खोज्नुहोस्RaisesरीलीजReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Returnsखोज्नुहोस् Search %(docstitle)sपानामा खोज्नुहोस्खोजेको नतिजाSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingसेक्सनको लेखकपनि हेर्नुहोसस्रोत देखाउनुहोस् Symbolsविषयसूचीयो पानाThrowsTipTodoचलहरूसाबधानWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][चित्र][स्रोत]alias of :class:`%s`सबै फन्क्सनस्, कक्षाहरू र टर्मस्attributebuilt-in फन्क्सनधेरै ठुलो हुन सक्छकक्षाकक्षा विधीअघिल्लो पानासँग जोडीएकोdataनिर्देशिकenvironment variableenvironment variable; %sअपबादफन्क्सनशब्द-अर्थमा भएकोgrammar tokenअनुसुचीमुख्य शब्दlast updatedसबै सेक्सन र सवसेक्सन देखाउनुहोस्बृहतसदस्यविधीमडुलmodulesपछिल्लोपछिल्लो खन्डobjectसन्चालकमौलिक इन्ट्रीअघिल्लोअघिल्लो खन्डकार्यक्रमका बिकल्पसबै मोदुलेसमा छिटै जानुहोस्सन्दर्व सामग्रीभूमिकाखोज्नुहोस्यो डकुमेन्ट खोज्नुहोस्%s हेर्नुहोस्%s पनि हेर्नुहोस् भनाईstatic विधीthe documentation forकिसिमचलsphinx-1.2.2+dfsg.orig/sphinx/locale/pl/0000755000000000000000000000000012304560277016572 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/pl/LC_MESSAGES/0000755000000000000000000000000012304560277020357 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/pl/LC_MESSAGES/sphinx.po0000644000000000000000000005117012263743422022233 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Tawez , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-04 22:38+0000\n" "Last-Translator: Tawez \n" "Language-Team: Polish (http://www.transifex.com/projects/p/sphinx-1/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s - dokumentacja" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "zobacz %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "zobacz także %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Symbole" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%B %d %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Wbudowane" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Poziom modułu" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%b %d %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Indeks ogólny" #: sphinx/builders/html.py:309 msgid "index" msgstr "indeks" #: sphinx/builders/html.py:369 msgid "next" msgstr "dalej" #: sphinx/builders/html.py:378 msgid "previous" msgstr "wstecz" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (w " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor rozdziału: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor modułu: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autor kodu: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametry" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Zwraca" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Typ zwracany" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (funkcja C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (pole C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (makro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (typ C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (zmienna C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcja" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "pole" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "typ" #: sphinx/domains/c.py:207 msgid "variable" msgstr "zmienna" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Wyrzuca" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (klasa C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (typ C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (pole C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (funkcja C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasa" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (funkcja wbudowana)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metoda)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasa)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (zmienna lub stała globalna)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s atrybut)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumenty" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dane" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atrybut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Zmienne" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Wyrzuca" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (w module %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (zmienna wbudowana)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (w module %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (klasa wbudowana)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasa w module %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metoda)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s metoda statyczna)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s metoda statyczna)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s metoda klasy)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s metoda klasy)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atrybut %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (moduł)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Indeks modułów pythona" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduły" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Niezalecane" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "wyjątek" #: sphinx/domains/python.py:564 msgid "method" msgstr "metoda" #: sphinx/domains/python.py:565 msgid "class method" msgstr "metoda klasy" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statyczna metoda" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "moduł" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (niezalecane)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (dyrektywa)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rola)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "dyrektywa" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rola" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "zmienna środowiskowa; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopcja linii komend; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "termin glosariusza" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "symbol gramatyki" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "etykieta odsyłacza" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "zmienna środowiskowa" #: sphinx/domains/std.py:419 msgid "program option" msgstr "opcja programu" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indeks" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Indeks modułów" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Wyszukiwanie" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Klasy bazowe: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias klasy :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[wykres: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[wykres]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(w %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[źródło]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Zwracana wartość: zawsze NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Zwracana wartość: nowa referencja." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Zwracana wartość: zapożyczona referencja." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> znajduje się w pliku %s, w linii %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "oryginalny wpis" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumenty]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Kod modułu" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Kod źródłowy modułu %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Przeglądanie: kod modułu" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Wszystkie moduły, dla których jest dostępny kod

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Uwaga" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Ostrzeżenie" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Niebezpieczeństwo" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Błąd" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Podpowiedź" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Ważne" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Informacja" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Zobacz także" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Wskazówka" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Ostrzeżenie" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nowe w wersji %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Zmienione w wersji %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Niezalecane od wersji %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "słowo kluczowe" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "obiekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "instrukcja" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "funkcja wbudowana" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Spis treści" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Szukaj" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Szukaj" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Wprowadź szukany termin lub nazwę modułu, klasy lub funkcji." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Pokaż źródło" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Przegląd" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Witaj! To jest" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "dokumentacja do" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "ostatnio aktualizowana" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indeksy i tablice:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Kompletny spis treści" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "wszystkie rozdziały i podrozdziały" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "przeszukaj tę dokumentację" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globalny indeks modułów" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "szybki dostęp do wszystkich modułów" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "wszystkie funkcje, klasy, terminy" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indeks – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Cały indeks na jednej stronie" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Strony indeksu alfabetycznie" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "może być ogromny" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Nawigacja" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Szukaj pośród %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "O tych dokumentach" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Ostatnia modyfikacja %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Utworzone przy pomocy Sphinx'a %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Przeszukaj %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Poprzedni temat" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "poprzedni rozdział" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Następny temat" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "następny rozdział" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Aby umożliwić wyszukiwanie, proszę włączyć JavaScript." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Stąd możesz przeszukać dokumentację. Wprowadź szukane\n słowa w poniższym okienku i kliknij \"Szukaj\". Zwróć uwagę, że\n funkcja szukająca będzie automatycznie szukała wszystkich słów. Strony\n nie zawierające wszystkich wpisanych słów nie znajdą się na wynikowej liście." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "szukaj" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Wyniki wyszukiwania" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Twoje wyszukiwanie nie dało żadnych wyników. Upewnij się, że wszystkie słowa są wpisane prawidłowo i że wybrałeś dostateczną ilość kategorii." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Szybkie wyszukiwanie" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Ta strona" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Zmiany w wersji %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatycznie wygenerowana lista zmian w wersji %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Zmiany w bibliotekach" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Zmiany w C API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Inne zmiany" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Stały odnośnik do tego nagłówka" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Stały odnośnik do tej definicji" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Ukryj wyniki wyszukiwania" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Wyszukiwanie" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Inicjalizacja wyszukiwania..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Wyszukiwanie zakończone. Ilość znalezionych stron pasujących do zapytania: %s." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", w " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Rozwiń pasek boczny" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Zwiń pasek boczny" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Treść" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Wydanie" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Przypisy" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "kontynuacja poprzedniej strony" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Kontynuacja na następnej stronie" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[obraz: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[obraz]" sphinx-1.2.2+dfsg.orig/sphinx/locale/pl/LC_MESSAGES/sphinx.js0000644000000000000000000000055112304304616022220 0ustar rootrootDocumentation.addTranslations({"locale": "pl", "plural_expr": "(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Hide Search Matches": "Ukryj wyniki wyszukiwania", "Permalink to this definition": "Sta\u0142y odno\u015bnik do tej definicji", "Permalink to this headline": "Sta\u0142y odno\u015bnik do tego nag\u0142\u00f3wka"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/pl/LC_MESSAGES/sphinx.mo0000644000000000000000000002475412263742675022251 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w   " ,5>DYi|     %< Kl } " ;H[6t; ;#Sw ;  1 LYl! W " . ?G    * !!""&" @"L"S"Z"q""&"""" " # #$#5# E# P# \#f# #!###<#$,$$<$a$z$$$ $ $,$$$%&%-% F%S%Rg%% %% %&& & ,&6& >&I&N& V&c&r& ' ''' 0'<' D'P'!h''''' ''' ''(((1(9(L(](d(t($((((((((((( ))&)&5)\)p)u)|) )) ))))) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-04 22:38+0000 Last-Translator: Tawez Language-Team: Polish (http://www.transifex.com/projects/p/sphinx-1/language/pl/) Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Klasy bazowe: %s (niezalecane) (w %(filename)s — %(docstitle)s%B %d %Y%b %d %Y%s %s%s %s - dokumentacja%s (%s atrybut)%s (atrybut %s.%s)%s (funkcja C)%s (makro C)%s (pole C)%s (typ C)%s (zmienna C)%s (klasa C++)%s (funkcja C++)%s (pole C++)%s (typ C++)%s (klasa wbudowana)%s (zmienna wbudowana)%s (klasa w module %s)%s (dyrektywa)%s (zmienna lub stała globalna)%s (w module %s)%s (moduł)%s (rola)%s() (%s metoda klasy)%s() (%s metoda)%s() (%s metoda statyczna)%s() (%s.%s metoda klasy)%s() (%s.%s metoda)%s() (%s.%s metoda statyczna)%s() (funkcja wbudowana)%s() (klasa)%s() (w module %s)%sopcja linii komend; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> znajduje się w pliku %s, w linii %d.)(w %s v%s), w

Wszystkie moduły, dla których jest dostępny kod

Kod źródłowy modułu %s

O tych dokumentachArgumentyUwagaAutor: Automatycznie wygenerowana lista zmian w wersji %(version)sWbudowaneZmiany w C APIOstrzeżenieZmienione w wersji %sZmiany w wersji %(version)s — %(docstitle)sAutor kodu: Zwiń pasek bocznyKompletny spis treściTreśćKontynuacja na następnej stronieCopyrightUtworzone przy pomocy Sphinx'a %(sphinx_version)s.NiebezpieczeństwoNiezalecaneNiezalecane od wersji %sWprowadź szukany termin lub nazwę modułu, klasy lub funkcji.BłądRozwiń pasek bocznyPrzypisyStąd możesz przeszukać dokumentację. Wprowadź szukane słowa w poniższym okienku i kliknij "Szukaj". Zwróć uwagę, że funkcja szukająca będzie automatycznie szukała wszystkich słów. Strony nie zawierające wszystkich wpisanych słów nie znajdą się na wynikowej liście.Cały indeks na jednej stronieIndeks ogólnyGlobalny indeks modułówSzukajUkryj wyniki wyszukiwaniaPodpowiedźWażneIndeksIndeks – %(key)sStrony indeksu alfabetycznieIndeksy i tablice:Ostatnia modyfikacja %(last_updated)s.Zmiany w bibliotekachIndeks modułówAutor modułu: Kod modułuPoziom modułuNawigacjaNowe w wersji %sNastępny tematInformacjaInne zmianyPrzeglądPrzeglądanie: kod modułuParametryStały odnośnik do tej definicjiStały odnośnik do tego nagłówkaAby umożliwić wyszukiwanie, proszę włączyć JavaScript.Inicjalizacja wyszukiwania...Poprzedni tematPython Enhancement Proposals; PEP %sIndeks modułów pythonaSzybkie wyszukiwanieWyrzucaWydanieTyp zwracanyZwracana wartość: zawsze NULL.Zwracana wartość: zapożyczona referencja.Zwracana wartość: nowa referencja.ZwracaSzukajPrzeszukaj %(docstitle)sWyszukiwanieWyniki wyszukiwaniaWyszukiwanie zakończone. Ilość znalezionych stron pasujących do zapytania: %s.Szukaj pośród %(docstitle)sWyszukiwanieAutor rozdziału: Zobacz takżePokaż źródłoSymboleSpis treściTa stronaWyrzucaWskazówkaTodoZmienneOstrzeżenieWitaj! To jestTwoje wyszukiwanie nie dało żadnych wyników. Upewnij się, że wszystkie słowa są wpisane prawidłowo i że wybrałeś dostateczną ilość kategorii.[dokumenty][wykres: %s][wykres][obraz: %s][obraz][źródło]alias klasy :class:`%s`wszystkie funkcje, klasy, terminyatrybutfunkcja wbudowanamoże być ogromnyklasametoda klasykontynuacja poprzedniej stronydanedyrektywazmienna środowiskowazmienna środowiskowa; %swyjątekfunkcjatermin glosariuszasymbol gramatykiindekssłowo kluczoweostatnio aktualizowanawszystkie rozdziały i podrozdziałymakropolemetodamodułmodułydalejnastępny rozdziałobiektoperatororyginalny wpiswsteczpoprzedni rozdziałopcja programuszybki dostęp do wszystkich modułówetykieta odsyłaczarolaszukajprzeszukaj tę dokumentacjęzobacz %szobacz także %sinstrukcjastatyczna metodadokumentacja dotypzmiennasphinx-1.2.2+dfsg.orig/sphinx/locale/sk/0000755000000000000000000000000012304560277016574 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sk/LC_MESSAGES/0000755000000000000000000000000012304560277020361 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/sk/LC_MESSAGES/sphinx.po0000644000000000000000000005114712263743422022241 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2008 # Slavko , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-06-13 03:32+0000\n" "Last-Translator: Takayuki Shimizukawa \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/sphinx-1/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "Dokumentácia %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "pozri %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "pozri aj %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Symboly" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d. %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Zabudované funkcie" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Úroveň modulu" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d. %b %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Všeobecný index" #: sphinx/builders/html.py:309 msgid "index" msgstr "index" #: sphinx/builders/html.py:369 msgid "next" msgstr "predošlý" #: sphinx/builders/html.py:378 msgid "previous" msgstr "ďalší" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(v" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor sekcie:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor modulu:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Autor kódu:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametre" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Vracia" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Návratový typ" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (funkcia C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (člen C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (makro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (typ C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (premenná C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funkcia" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "člen" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "typ" #: sphinx/domains/c.py:207 msgid "variable" msgstr "premenná" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Vyvoláva" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (trieda C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (typ C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (člen C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (funkcia C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "trieda" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (zabudovaná funkcia)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (metóda %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (trieda)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (globálna premenná alebo konštanta)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atribút %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumenty" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "dáta" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribút" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Premenné" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Vyzdvihuje" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (v module %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (zabudovaná premenná)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (v module %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (zabudovaná trieda)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (trieda v %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (metóda %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (statická metóda %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (statická metóda %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (metóda triedy %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (metóda triedy %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atribút %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Index modulov Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduly" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Zastarané" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "výnimka" #: sphinx/domains/python.py:564 msgid "method" msgstr "metóda" #: sphinx/domains/python.py:565 msgid "class method" msgstr "metóda triedy" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statická metóda" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (zastarané)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktíva)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rola)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktíva" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rola" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "premenná prostredia; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s voľba príkazového riadka; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "termín glosára" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "jazykový token" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "menovka odkazu" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "premenná prostredia" #: sphinx/domains/std.py:419 msgid "program option" msgstr "voľba programu" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Index" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Index modulov" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Stránka hľadania" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Základné: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias pre :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graf: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graf]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(v %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[zdroj]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Návratová hodnota: vždy NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Návratová hodnota: Nový odkaz." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Návratová hodnota: Požičaný odkaz." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> je umiestnená v %s, riadok %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "pôvodná položka" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dokumenty]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Kód modulu" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Zdrojový kód %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Prehľad: kód modulu" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Všetky moduly, pre ktoré je dostupný kód

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Výstraha" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Pozor" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Nebezpečné" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Chyba" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Rada" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Dôležité" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Poznámka" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Pozri aj" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Varovanie" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Nové vo verzii %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Zmenené vo verzii %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Zastarané od verzie %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "kľúč. slovo" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operátor" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "príkaz" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "zabudovaná funkcia" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Obsah" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Hľadať" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "OK" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Zadajte hľadané výrazy alebo modul, triedu, či meno funkcie." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Zobraziť zdroj" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Prehľad" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Vitajte! Toto je" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "dokumentácia" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "posledná aktualizácia" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indexy a tabuľky" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Celkový obsah" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "zoznam sekcií a podsekcií" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "hľadať v tejto dokumentácii" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Celkový index modulov" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "rýchly prístup ku všetkým modulom" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "všetky funkcie, triedy, termíny" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Celý index na jednej strane" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indexové stránky po písmenách" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "môže byť rozsiahle" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigácia" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Hľadať v %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "O týchto dokumentoch" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Naposledy aktualizované %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Vytvorené pomocou Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Hľadať v %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Predošlá téma" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "predošlá kapitola" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Ďalšia téma" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "ďalšia kapitola" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Prosím, na zapnutie funkcie hľadania,aktivujte \n JavaScript ." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Tu môžete hľadať v tejto dokumentácii. Zadajte hľadané slová\n do políčka nižšie a kliknite na \"hľadať\". Pamätajte, že funkcia\n hľadania bude automaticky hľadať všetky slová. Strany, ktoré\n obsahujú len niektoré zo slov, nebudú v zozname výsledkov." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "hľadať" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Výsledky hľadania" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Vášmu hľadaniu nezodpovedá žiadny dokument. Prosím, skontrolujte, že všetky zadané slová sú správne napísané a že ste zvolili vhodné kategórie." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Rýchle hľadanie" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Táto stránka" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Zmeny vo verzii %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automaticky generovaný zoznam zmien vo verzii %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Zmeny knižnice" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Zmeny C API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Ostatné zmeny" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Trvalý odkaz na tento nadpis" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Trvalý odkaz na túto definíciu" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Skryť výsledky hľadania" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Hľadanie" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Príprava hľadania..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Hľadanie dokončené, nájdené %s strán(y), ktoré vyhovujú hľadanému výrazu." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", v " #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Rozbaliť bočný panel" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Zbaliť bočný panel" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Obsah" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Vydanie" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Poznámky pod čiarou" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "pokračovanie z predošlej strany" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Pokračovanie na ďalšej strane" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[obrázok: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[obrázok]" sphinx-1.2.2+dfsg.orig/sphinx/locale/sk/LC_MESSAGES/sphinx.js0000644000000000000000000000051112304304616022216 0ustar rootrootDocumentation.addTranslations({"locale": "sk", "plural_expr": "(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2", "messages": {"Hide Search Matches": "Skry\u0165 v\u00fdsledky h\u013eadania", "Permalink to this definition": "Trval\u00fd odkaz na t\u00fato defin\u00edciu", "Permalink to this headline": "Trval\u00fd odkaz na tento nadpis"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/sk/LC_MESSAGES/sphinx.mo0000644000000000000000000002466512263742674022253 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    "  %/5IZn }   #4)Dn   + FT"g68 %5*`{  :  1# Ubx  R  # @; |    !!!""/" 4"@"F"!\"~"*"" " " "" ##!# 0#:#I#R# h#!r##B## $$$B$W$ i$t$|$ $'$!$$$% %3%TG%% % %%%%%% & && & &*&;& & &&& '''!2'T']'q'''!'' ''''(( (0(6(E(](y((((( ((( (((((%).)=)B)K)j) s))) )) ) Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-06-13 03:32+0000 Last-Translator: Takayuki Shimizukawa Language-Team: Slovak (http://www.transifex.com/projects/p/sphinx-1/language/sk/) Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Základné: %s (zastarané)(v%(filename)s — %(docstitle)s%d. %B %Y%d. %b %Y%s %sDokumentácia %s %s%s (atribút %s)%s (atribút %s.%s)%s (funkcia C)%s (makro C)%s (člen C)%s (typ C)%s (premenná C)%s (trieda C++)%s (funkcia C++)%s (člen C++)%s (typ C++)%s (zabudovaná trieda)%s (zabudovaná premenná)%s (trieda v %s)%s (direktíva)%s (globálna premenná alebo konštanta)%s (v module %s)%s (modul)%s (rola)%s() (metóda triedy %s)%s() (metóda %s)%s() (statická metóda %s)%s() (metóda triedy %s.%s)%s() (metóda %s.%s)%s() (statická metóda %s.%s)%s() (zabudovaná funkcia)%s() (trieda)%s() (v module %s)%s voľba príkazového riadka; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> je umiestnená v %s, riadok %d.)(v %s v%s), v

Všetky moduly, pre ktoré je dostupný kód

Zdrojový kód %s

O týchto dokumentochArgumentyVýstrahaAutor:Automaticky generovaný zoznam zmien vo verzii %(version)sZabudované funkcieZmeny C APIPozorZmenené vo verzii %sZmeny vo verzii %(version)s — %(docstitle)sAutor kódu:Zbaliť bočný panelCelkový obsahObsahPokračovanie na ďalšej straneCopyrightVytvorené pomocou Sphinx %(sphinx_version)s.NebezpečnéZastaranéZastarané od verzie %sZadajte hľadané výrazy alebo modul, triedu, či meno funkcie.ChybaRozbaliť bočný panelPoznámky pod čiarouTu môžete hľadať v tejto dokumentácii. Zadajte hľadané slová do políčka nižšie a kliknite na "hľadať". Pamätajte, že funkcia hľadania bude automaticky hľadať všetky slová. Strany, ktoré obsahujú len niektoré zo slov, nebudú v zozname výsledkov.Celý index na jednej straneVšeobecný indexCelkový index modulovOKSkryť výsledky hľadaniaRadaDôležitéIndexIndex – %(key)sIndexové stránky po písmenáchIndexy a tabuľkyNaposledy aktualizované %(last_updated)s.Zmeny knižniceIndex modulovAutor modulu:Kód moduluÚroveň moduluNavigáciaNové vo verzii %sĎalšia témaPoznámkaOstatné zmenyPrehľadPrehľad: kód moduluParametreTrvalý odkaz na túto definíciuTrvalý odkaz na tento nadpisProsím, na zapnutie funkcie hľadania,aktivujte JavaScript .Príprava hľadania...Predošlá témaPython Enhancement Proposals; PEP %sIndex modulov PythonRýchle hľadanieVyzdvihujeVydanieNávratový typNávratová hodnota: vždy NULL.Návratová hodnota: Požičaný odkaz.Návratová hodnota: Nový odkaz.VraciaHľadaťHľadať v %(docstitle)sStránka hľadaniaVýsledky hľadaniaHľadanie dokončené, nájdené %s strán(y), ktoré vyhovujú hľadanému výrazu.Hľadať v %(docstitle)sHľadanieAutor sekcie:Pozri ajZobraziť zdrojSymbolyObsahTáto stránkaVyvolávaTipTodoPremennéVarovanieVitajte! Toto jeVášmu hľadaniu nezodpovedá žiadny dokument. Prosím, skontrolujte, že všetky zadané slová sú správne napísané a že ste zvolili vhodné kategórie.[dokumenty][graf: %s][graf][obrázok: %s][obrázok][zdroj]alias pre :class:`%s`všetky funkcie, triedy, termínyatribútzabudovaná funkciamôže byť rozsiahletriedametóda triedypokračovanie z predošlej stranydátadirektívapremenná prostrediapremenná prostredia; %svýnimkafunkciatermín glosárajazykový tokenindexkľúč. slovoposledná aktualizáciazoznam sekcií a podsekciímakročlenmetódamodulmodulypredošlýďalšia kapitolaobjektoperátorpôvodná položkaďalšípredošlá kapitolavoľba programurýchly prístup ku všetkým modulommenovka odkazurolahľadaťhľadať v tejto dokumentáciipozri %spozri aj %spríkazstatická metódadokumentáciatyppremennásphinx-1.2.2+dfsg.orig/sphinx/locale/sphinx.pot0000644000000000000000000004155012251557232020217 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # FIRST AUTHOR , 2013. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Sphinx 1.2b1\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "" #: sphinx/builders/html.py:309 msgid "index" msgstr "" #: sphinx/builders/html.py:369 msgid "next" msgstr "" #: sphinx/builders/html.py:378 msgid "previous" msgstr "" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 sphinx/domains/python.py:95 msgid "Parameters" msgstr "" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "" #: sphinx/domains/c.py:205 msgid "macro" msgstr "" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "" #: sphinx/domains/c.py:207 msgid "variable" msgstr "" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "" #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "" #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "" #: sphinx/themes/basic/search.html:43 sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "" #: sphinx/themes/basic/search.html:45 sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words " "are spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "" sphinx-1.2.2+dfsg.orig/sphinx/locale/.tx/0000755000000000000000000000000012304560277016670 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/.tx/config0000644000000000000000000000022512251557232020055 0ustar rootroot[main] host = https://www.transifex.com [sphinx-1.sphinx-pot] file_filter = /LC_MESSAGES/sphinx.po source_file = sphinx.pot source_lang = en sphinx-1.2.2+dfsg.orig/sphinx/locale/tr/0000755000000000000000000000000012304560277016604 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/tr/LC_MESSAGES/0000755000000000000000000000000012304560277020371 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/tr/LC_MESSAGES/sphinx.po0000644000000000000000000005134112263743422022245 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # istihza , 2013 # FIRST AUTHOR , 2011 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 18:09+0000\n" "Last-Translator: istihza \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/sphinx-1/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s belgelendirme çalışması" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "bkz. %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "ayrıca bkz. %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Simgeler" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python'u İyileştirme Önerileri; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Gömülüler" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modül düzeyi" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Genel Dizin" #: sphinx/builders/html.py:309 msgid "index" msgstr "dizin" #: sphinx/builders/html.py:369 msgid "next" msgstr "sonraki" #: sphinx/builders/html.py:378 msgid "previous" msgstr "önceki" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (şunun içinde: " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Bölümü yazan: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modülü yazan: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kodu yazan: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Yazan: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametreler" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Dönüş değeri:" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Dönüş tipi" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C fonksiyonu)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C öğesi)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C makrosu)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C tipi)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C değişkeni)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "fonksiyonu" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "öğesi" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makrosu" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipi" #: sphinx/domains/c.py:207 msgid "variable" msgstr "değişkeni" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Şunu verir: " #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ sınıfı)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ tipi)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ öğesi)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ fonksiyonu)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "sınıfı" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (gömülü fonksiyon)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s metodu)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (sınıfı)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (global değişken veya sabit)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s niteliği)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argümanlar" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "verisi" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "niteliği" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Değişkenler" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Şunu üretir:" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (%s modülü içinde)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (gömülü değişken)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (%s modülü içinde)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (gömülü sınıf)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (%s içinde bir sınıf)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s metodu)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s statik metodu)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s statik metodu)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s sınıf metodu)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s sınıf metodu)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s niteliği)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modül)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python Modül Dizini" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modüller" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Önerilmiyor" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "istisnası" #: sphinx/domains/python.py:564 msgid "method" msgstr "metodu" #: sphinx/domains/python.py:565 msgid "class method" msgstr "sınıf metodu" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statik metodu" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modülü" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (önerilmiyor)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (yönerge)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rol)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "yönergesi" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rolü" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "çevre değişkeni; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skomut satırı seçeneği; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "sözlük terimi" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "dilbilgisi girdisi" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referans etiketi" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "çevre değişkeni" #: sphinx/domains/std.py:419 msgid "program option" msgstr "program seçeneği" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Dizin" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modül Dizini" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Arama Sayfası" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Taban: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "şunun takma adı: :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[çizim: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[çizim]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(%s v%s içinde)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[kaynak]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Dönüş değeri: Her zaman NULL" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Dönüş değeri: Yeni referans." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Dönüş değeri: Ödünç referans" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Yapılacaklar" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<<özgün girdi>> %s içinde ve %d satırında bulunuyor.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "özgün girdi" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[belgeler]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modül kodu" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s öğesinin kaynak kodu

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Genel bakış: modül kodu" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Kodları mevcut bütün modüller

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Dikkat" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Uyarı" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Tehlike" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Hata" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "İpucu" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Önemli" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Not" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Ayrıca bkz." #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tüyo" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Uyarı" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "%s sürümüyle geldi" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "%s sürümünde değişti" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "%s sürümünden beri önerilmiyor" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "anahtar sözcük" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "işleç" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "nesne" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "deyim" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "gömülü fonksiyon" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "İçindekiler Tablosu" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Ara" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Git" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Aranacak terimleri veya modül, sınıf ya da fonksiyon adını yazınız" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Kaynağı Göster" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Genel Bakış" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Hoşgeldiniz! Karşınızda" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "belgelendirme konusu: " #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "son güncelleme" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Dizinler ve tablolar" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Ayrıntılı İçindekiler Tablosu" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "bütün bölümler ve alt bölümler listelenir" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "Bu belgelerde ara" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Global Modül Dizini" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "bütün modüllere hızlı erişim" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "bütün fonksiyonlar, sınıflar, terimler" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Dizin – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Bütün dizin tek sayfada" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Harfe göre dizin sayfaları" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "çok büyük olabilir" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Gezinti" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "%(docstitle)s içinde ara" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Bu belgeler hakkında" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Son güncelleme: %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Sphinx %(sphinx_version)s ile oluşturulmuştur." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Ara: %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Önceki konu" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "önceki bölüm" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Sonraki konu" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "sonraki bölüm" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Arama işlevini kullanabilmek için lütfen JavaScript'i\n etkinleştirin." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Burada belgeler içinde arama yapabilirsiniz. Aradığınız kelimeyi \naşağıdaki kutuya yazıp \"ara\" düğmesine basınız. Arama işlevi \notomatik olarak bütün kelimeleri arayacaktır. Eksik kelime içeren \nsayfalar sonuç listesinde görünmez." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "ara" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Arama Sonuçları" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Arama sonucunda herhangi bir belge bulunamadı. Bütün kelimeleri doğru yazdığınızdan ve gerekli bütün kategorileri seçtiğinizden emin olun." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Hızlı Arama" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Bu Sayfa" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Sürüm %(version)s — %(docstitle)s içindeki Değişiklikler" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "%(version)s sürümündeki değişikliklerin otomatik olarak üretilmiş listesi" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Kütüphane değişiklikleri" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API'sindeki değişiklikler" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Diğer değişiklikler" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Bu başlığın kalıcı bağlantısı" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Bu tanımın kalıcı bağlantısı" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Arama Sonuçlarını Gizle" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Aranıyor" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Aramaya hazırlanıyor..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Arama tamamlandı. Sorguyu içeren %s sayfa bulundu." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", şunun içinde:" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Yan çubuğu genişlet" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Yan çubuğu daralt" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "İçindekiler" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Sürüm" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Dipnotları" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "önceki sayfadan devam" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Devamı sonraki sayfada" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[resim: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[resim]" sphinx-1.2.2+dfsg.orig/sphinx/locale/tr/LC_MESSAGES/sphinx.js0000644000000000000000000000055012304304616022231 0ustar rootrootDocumentation.addTranslations({"locale": "tr", "plural_expr": "(n > 1)", "messages": {"Hide Search Matches": "Arama Sonu\u00e7lar\u0131n\u0131 Gizle", "Permalink to this definition": "Bu tan\u0131m\u0131n kal\u0131c\u0131 ba\u011flant\u0131s\u0131", "Permalink to this headline": "Bu ba\u015fl\u0131\u011f\u0131n kal\u0131c\u0131 ba\u011flant\u0131s\u0131"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/tr/LC_MESSAGES/sphinx.mo0000644000000000000000000002505212263742675022253 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    " !:Las   ' C!Qs .IZu6;(9*K"v P (FMCg "   U u } " I   !!" 5"A"V"Z"u"|"""""""" # # 1#=#L#T# j#w#{# ## ###&#L$`$ z$)$$ $$$ $ $#% >%_%q%u%%%4%% %& &!&3&<&R& [&i& o& }&&&& E' P']' f'r'z''*' ''' ( ((1( 8(C(V( m( x((((((/(() )) )')/)?)E) M)[)c)s)")))))))) )** * Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 18:09+0000 Last-Translator: istihza Language-Team: Turkish (http://www.transifex.com/projects/p/sphinx-1/language/tr/) Plural-Forms: nplurals=2; plural=(n > 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Taban: %s (önerilmiyor) (şunun içinde: %(filename)s — %(docstitle)s%d %B %Y%d %b %Y%s %s%s %s belgelendirme çalışması%s (%s niteliği)%s (%s.%s niteliği)%s (C fonksiyonu)%s (C makrosu)%s (C öğesi)%s (C tipi)%s (C değişkeni)%s (C++ sınıfı)%s (C++ fonksiyonu)%s (C++ öğesi)%s (C++ tipi)%s (gömülü sınıf)%s (gömülü değişken)%s (%s içinde bir sınıf)%s (yönerge)%s (global değişken veya sabit)%s (%s modülü içinde)%s (modül)%s (rol)%s() (%s sınıf metodu)%s() (%s metodu)%s() (%s statik metodu)%s() (%s.%s sınıf metodu)%s() (%s.%s metodu)%s() (%s.%s statik metodu)%s() (gömülü fonksiyon)%s() (sınıfı)%s() (%s modülü içinde)%skomut satırı seçeneği; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<<özgün girdi>> %s içinde ve %d satırında bulunuyor.)(%s v%s içinde), şunun içinde:

Kodları mevcut bütün modüller

%s öğesinin kaynak kodu

Bu belgeler hakkındaArgümanlarDikkatYazan: %(version)s sürümündeki değişikliklerin otomatik olarak üretilmiş listesiGömülülerC API'sindeki değişikliklerUyarı%s sürümünde değiştiSürüm %(version)s — %(docstitle)s içindeki DeğişikliklerKodu yazan: Yan çubuğu daraltAyrıntılı İçindekiler TablosuİçindekilerDevamı sonraki sayfadaCopyrightSphinx %(sphinx_version)s ile oluşturulmuştur.TehlikeÖnerilmiyor%s sürümünden beri önerilmiyorAranacak terimleri veya modül, sınıf ya da fonksiyon adını yazınızHataYan çubuğu genişletDipnotlarıBurada belgeler içinde arama yapabilirsiniz. Aradığınız kelimeyi aşağıdaki kutuya yazıp "ara" düğmesine basınız. Arama işlevi otomatik olarak bütün kelimeleri arayacaktır. Eksik kelime içeren sayfalar sonuç listesinde görünmez.Bütün dizin tek sayfadaGenel DizinGlobal Modül DiziniGitArama Sonuçlarını GizleİpucuÖnemliDizinDizin – %(key)sHarfe göre dizin sayfalarıDizinler ve tablolarSon güncelleme: %(last_updated)s.Kütüphane değişiklikleriModül DiziniModülü yazan: Modül koduModül düzeyiGezinti%s sürümüyle geldiSonraki konuNotDiğer değişikliklerGenel BakışGenel bakış: modül koduParametrelerBu tanımın kalıcı bağlantısıBu başlığın kalıcı bağlantısıArama işlevini kullanabilmek için lütfen JavaScript'i etkinleştirin.Aramaya hazırlanıyor...Önceki konuPython'u İyileştirme Önerileri; PEP %sPython Modül DiziniHızlı AramaŞunu üretir:SürümDönüş tipiDönüş değeri: Her zaman NULLDönüş değeri: Ödünç referansDönüş değeri: Yeni referans.Dönüş değeri:AraAra: %(docstitle)sArama SayfasıArama SonuçlarıArama tamamlandı. Sorguyu içeren %s sayfa bulundu.%(docstitle)s içinde araAranıyorBölümü yazan: Ayrıca bkz.Kaynağı GösterSimgelerİçindekiler TablosuBu SayfaŞunu verir: TüyoYapılacaklarDeğişkenlerUyarıHoşgeldiniz! KarşınızdaArama sonucunda herhangi bir belge bulunamadı. Bütün kelimeleri doğru yazdığınızdan ve gerekli bütün kategorileri seçtiğinizden emin olun.[belgeler][çizim: %s][çizim][resim: %s][resim][kaynak]şunun takma adı: :class:`%s`bütün fonksiyonlar, sınıflar, terimlerniteliğigömülü fonksiyonçok büyük olabilirsınıfısınıf metoduönceki sayfadan devamverisiyönergesiçevre değişkeniçevre değişkeni; %sistisnasıfonksiyonusözlük terimidilbilgisi girdisidizinanahtar sözcükson güncellemebütün bölümler ve alt bölümler listelenirmakrosuöğesimetodumodülümodüllersonrakisonraki bölümnesneişleçözgün girdiöncekiönceki bölümprogram seçeneğibütün modüllere hızlı erişimreferans etiketirolüaraBu belgelerde arabkz. %sayrıca bkz. %sdeyimstatik metodubelgelendirme konusu: tipideğişkenisphinx-1.2.2+dfsg.orig/sphinx/locale/id/0000755000000000000000000000000012304560277016553 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/id/LC_MESSAGES/0000755000000000000000000000000012304560277020340 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/id/LC_MESSAGES/sphinx.po0000644000000000000000000005052112263743422022213 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2009 # Sakti Dwi Cahyono <54krpl@gmail.com>, 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-17 00:31+0000\n" "Last-Translator: Sakti Dwi Cahyono <54krpl@gmail.com>\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/sphinx-1/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "dokumentasi %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "lihat %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "lihat juga %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Simbol" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Modul Internal" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Level Modul" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Indeks Umum" #: sphinx/builders/html.py:309 msgid "index" msgstr "index" #: sphinx/builders/html.py:369 msgid "next" msgstr "berikut" #: sphinx/builders/html.py:378 msgid "previous" msgstr "sebelum" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (dalam " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Penyusun bagian:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Penyusun modul: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Penulis kode:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Penyusun: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parameter" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Kembali" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Return type" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (fungsi C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (anggota C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (tipe C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variabel C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "fungsi" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "anggota" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipe" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabel" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Throws" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (class C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (tipe C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (anggota C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (fungsi C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "class" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (fungsi built-in)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (method %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (class)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (variabel global atau konstan)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atribut %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Argumen" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variabel" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Raises" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (di modul %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variabel built-in)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (di modul %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (class built-in)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (class di %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (method %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (method static %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (method static %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (method class %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (method class %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atribut %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (module)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Indeks Modul Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "modul" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Akan ditinggalkan" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "eksepsi" #: sphinx/domains/python.py:564 msgid "method" msgstr "method" #: sphinx/domains/python.py:565 msgid "class method" msgstr "method class" #: sphinx/domains/python.py:566 msgid "static method" msgstr "method static" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (obsolet)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktif)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (role)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktif" #: sphinx/domains/rst.py:105 msgid "role" msgstr "role" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "variabel environment; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sopsi command line; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "daftar istilah" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "token grammar" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "label referensi" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "variabel environment" #: sphinx/domains/std.py:419 msgid "program option" msgstr "opsi program" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indeks" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Indeks Modul" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Pencarian Halaman" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Bases: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias dari :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[graph: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[graph]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(di %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[sumber]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Nilai return: Selalu NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Nilai return: Referensi baru." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Nilai return: Referensi pinjaman." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<> terletak pada %s, baris ke %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "entri asli" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[docs]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Kode modul" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Kode sumber untuk %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Tinjauan: kode modul" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Semua modul dimana kode tersedia

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Pehatian" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Hati-hati" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Bahaya" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Kesalahan" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Hint" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Penting" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Catatan" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "lihat juga" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Peringatan" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Baru pada versi %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Berubah pada versi %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Ditinggalkan sejak versi %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "keyword" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "object" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "statement" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "fungsi built-in" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Daftar Isi" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Pencarian" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Go" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Masukkan term pencarian atau nama modul, class atau fungsi." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Lihat Sumber" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Tinjauan" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Selamat Datang! Ini adalah" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "dokumentasi untuk" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "terakhir diperbarui" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Index dan tabel:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Daftar Isi Lengkap" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "daftar semua seksi dan subseksi" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "pencarian pada dokumentasi ini" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Index Modul Global" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "akses cepat semua modul" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "semua fungsi, class, term" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Index – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Index penuh dalam satu halaman" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Index halaman berdasarkan huruf" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "dapat menjadi besar" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigasi" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Pencarian dalam %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Tentang dokumen ini" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Terakhir diperbarui pada %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Dibuat menggunakan Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Pencarian %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Topik sebelum" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "bab sebelum" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Topik berikutnya" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "bab berikutnya" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Tolong aktifkan JavaScript untuk melakukan pencarian.\n " #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Dari sini dapat dilakukan pencarian pada dokumentasi. Masukkan\n kata yang dicari pada kotak dibawah dan klik \"search\". Catatan untuk fungsi pencarian\n akan secara otomatis mencari semua kata. Halaman\n yang berisi kata yang sedikat tidak dimunculkan pada daftar hasil." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "pencarian" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Hasil Pencarian" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "Tidak ada dokumen yang cocok dengan pencarian anda. Pastikan semua kata ditulis dengan benar dan sudah memilih cukup kategori." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Pencarian cepat" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Halaman Ini" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Perubahan pada Versi %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Daftar perubahan dibuat otomatis untuk versi %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Perubahan library" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Perubahan API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Perubahan lain" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Link permanent untuk headline ini" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Link permanent untuk definisi ini" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Sembunyikan Hasil Pencarian" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Pencarian" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Penyiapkan pencarian..." #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Pencarian selesai, menemukan %s halaman yang cocok dengan kueri pencarian." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", di" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Buka sidebar" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Tutup sidebar" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Konten" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Rilis" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Catatan kaki" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "lanjutan dari halaman sebelumnya" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Lanjut ke halaman berikutnya" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[gambar: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[gambar]" sphinx-1.2.2+dfsg.orig/sphinx/locale/id/LC_MESSAGES/sphinx.js0000644000000000000000000000042012304304616022174 0ustar rootrootDocumentation.addTranslations({"locale": "id", "plural_expr": "0", "messages": {"Hide Search Matches": "Sembunyikan Hasil Pencarian", "Permalink to this definition": "Link permanent untuk definisi ini", "Permalink to this headline": "Link permanent untuk headline ini"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/id/LC_MESSAGES/sphinx.mo0000644000000000000000000002422412263742674022221 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  . A O\ kw  !1 B NXo 60g3 )(0 98D} 6  ") FRP;   + 8 M! l!x!!!!!!!!!*"0" B"O" `" k"w""""""" "!"!#7'#_# w#$##### ##!$$$B$ J$T$l$~$J$$ $% % %*% 1% <%H%O%S%X% a%l%~%& && !&.&7&@&W&q&y&&& & &&&&& ''' +'9'?'G'['{''''''''' '' ' ''(( (&(E( N( \( f(t((( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-17 00:31+0000 Last-Translator: Sakti Dwi Cahyono <54krpl@gmail.com> Language-Team: Indonesian (http://www.transifex.com/projects/p/sphinx-1/language/id/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (obsolet) (dalam %(filename)s — %(docstitle)s%d %B %Y%d %b, %Y%s %sdokumentasi %s %s%s (atribut %s)%s (atribut %s.%s)%s (fungsi C)%s (macro C)%s (anggota C)%s (tipe C)%s (variabel C)%s (class C++)%s (fungsi C++)%s (anggota C++)%s (tipe C++)%s (class built-in)%s (variabel built-in)%s (class di %s)%s (direktif)%s (variabel global atau konstan)%s (di modul %s)%s (module)%s (role)%s() (method class %s)%s() (method %s)%s() (method static %s)%s() (method class %s.%s)%s() (method %s.%s)%s() (method static %s.%s)%s() (fungsi built-in)%s() (class)%s() (di modul %s)%sopsi command line; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(<> terletak pada %s, baris ke %d.)(di %s v%s), di

Semua modul dimana kode tersedia

Kode sumber untuk %s

Tentang dokumen iniArgumenPehatianPenyusun: Daftar perubahan dibuat otomatis untuk versi %(version)sModul InternalPerubahan API CHati-hatiBerubah pada versi %sPerubahan pada Versi %(version)s — %(docstitle)sPenulis kode:Tutup sidebarDaftar Isi LengkapKontenLanjut ke halaman berikutnyaCopyrightDibuat menggunakan Sphinx %(sphinx_version)s.BahayaAkan ditinggalkanDitinggalkan sejak versi %sMasukkan term pencarian atau nama modul, class atau fungsi.KesalahanBuka sidebarCatatan kakiDari sini dapat dilakukan pencarian pada dokumentasi. Masukkan kata yang dicari pada kotak dibawah dan klik "search". Catatan untuk fungsi pencarian akan secara otomatis mencari semua kata. Halaman yang berisi kata yang sedikat tidak dimunculkan pada daftar hasil.Index penuh dalam satu halamanIndeks UmumIndex Modul GlobalGoSembunyikan Hasil PencarianHintPentingIndeksIndex – %(key)sIndex halaman berdasarkan hurufIndex dan tabel:Terakhir diperbarui pada %(last_updated)s.Perubahan libraryIndeks ModulPenyusun modul: Kode modulLevel ModulNavigasiBaru pada versi %sTopik berikutnyaCatatanPerubahan lainTinjauanTinjauan: kode modulParameterLink permanent untuk definisi iniLink permanent untuk headline iniTolong aktifkan JavaScript untuk melakukan pencarian. Penyiapkan pencarian...Topik sebelumPython Enhancement Proposals; PEP %sIndeks Modul PythonPencarian cepatRaisesRilisReturn typeNilai return: Selalu NULL.Nilai return: Referensi pinjaman.Nilai return: Referensi baru.KembaliPencarianPencarian %(docstitle)sPencarian HalamanHasil PencarianPencarian selesai, menemukan %s halaman yang cocok dengan kueri pencarian.Pencarian dalam %(docstitle)sPencarianPenyusun bagian:lihat jugaLihat SumberSimbolDaftar IsiHalaman IniThrowsTipTodoVariabelPeringatanSelamat Datang! Ini adalahTidak ada dokumen yang cocok dengan pencarian anda. Pastikan semua kata ditulis dengan benar dan sudah memilih cukup kategori.[docs][graph: %s][graph][gambar: %s][gambar][sumber]alias dari :class:`%s`semua fungsi, class, termatributfungsi built-indapat menjadi besarclassmethod classlanjutan dari halaman sebelumnyadatadirektifvariabel environmentvariabel environment; %seksepsifungsidaftar istilahtoken grammarindexkeywordterakhir diperbaruidaftar semua seksi dan subseksimacroanggotamethodmodulmodulberikutbab berikutnyaobjectoperatorentri aslisebelumbab sebelumopsi programakses cepat semua modullabel referensirolepencarianpencarian pada dokumentasi inilihat %slihat juga %sstatementmethod staticdokumentasi untuktipevariabelsphinx-1.2.2+dfsg.orig/sphinx/locale/da/0000755000000000000000000000000012304560277016543 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/da/LC_MESSAGES/0000755000000000000000000000000012304560277020330 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/da/LC_MESSAGES/sphinx.po0000644000000000000000000004760012263743422022207 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # askhl , 2010-2011 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:13+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Danish (http://www.transifex.com/projects/p/sphinx-1/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "se %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "se også %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d. %B, %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Indbyggede" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Modulniveau" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d. %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Generelt indeks" #: sphinx/builders/html.py:309 msgid "index" msgstr "indeks" #: sphinx/builders/html.py:369 msgid "next" msgstr "næste" #: sphinx/builders/html.py:378 msgid "previous" msgstr "forrige" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (i " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Afsnitsforfatter: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Modulforfatter: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Kodeforfatter: " #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Forfatter: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Parametre" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Returnerer" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Returtype" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C-funktion)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C-medlem)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C-makro)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C-type)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C-variabel)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funktion" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "medlem" #: sphinx/domains/c.py:205 msgid "macro" msgstr "makro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "type" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variabel" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Kaster" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++-klasse)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++-type)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++-medlem)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++-funktion)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "klasse" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (indbygget funktion)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (metode i %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (klasse)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (global variabel eller konstant)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (attribut i %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Parametre" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "data" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "attribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Variable" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Rejser" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (i modulet %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (indbygget variabel)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (i modulet %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (indbygget klasse)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (klasse i %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (metode i %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (statisk metode i %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (statisk metode i %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (klassemetode i %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (klassemetode i %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (attribut i %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (modul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python-modulindeks" #: sphinx/domains/python.py:492 msgid "modules" msgstr "moduler" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Forældet" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "undtagelse" #: sphinx/domains/python.py:564 msgid "method" msgstr "metode" #: sphinx/domains/python.py:565 msgid "class method" msgstr "klassemetode" #: sphinx/domains/python.py:566 msgid "static method" msgstr "statisk metode" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "modul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (forældet)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (direktiv)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (rolle)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "direktiv" #: sphinx/domains/rst.py:105 msgid "role" msgstr "rolle" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "miljøvariabel; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%skommandolinjetilvalg; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "begreb i ordliste" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "grammatisk element" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "referenceetiket" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "miljøvariabel" #: sphinx/domains/std.py:419 msgid "program option" msgstr "programtilvalg" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Indeks" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Modulindeks" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Søgeside" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Baser: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "alias for :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[kilde]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Todo" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(Det <> befinder sig i %s, linje %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "oprindeligt punkt" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[dok]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Modulkode" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Kildekode for %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Oversigt: modulkode" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Alle moduler, der er kode tilgængelig for

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Vær opmærksom" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Forsigtig" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Fare" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Fejl" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Fif" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Vigtigt" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Bemærk" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Se også" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Tip" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Advarsel" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Ny i version %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Ændret i version %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Forældet siden version %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "nøgleord" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operator" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objekt" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "erklæring" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "indbygget funktion" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Indholdsfortegnelse" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Søg" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Søg" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Indtast søgeord eller navnet på et modul, en klasse eller en funktion." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Vis kilde" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Oversigt" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Indeks og tabeller:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Fuldstændig indholdsfortegnelse" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "viser alle afsnit og underafsnit" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "søg i denne dokumentation" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Globalt modulindeks" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "hurtig adgang til alle moduler" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "alle funktioner, klasser, begreber" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Indeks – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Fuldt indeks på én side" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Indeksér sider efter bogstav" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "kan være enormt" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navigation" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Søg i %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Om disse dokumenter" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Ophavsret" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Ophavsret %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Ophavsret %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Sidst opdateret %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Bygget med Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Søg i %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Forrige emne" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "forrige kapitel" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Næste emne" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "næste kapitel" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Aktivér venligst JavaScript for at aktivere\n søgefunktionalitet." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Her fra kan du søge i disse dokumenter. Indtast dine søgeord\n i boksen nedenfor og klik på \"søg\". Bemærk at søgefunktionen\n automatisk vil søge på alle ordene. Sider, der indeholder\n færre ord, vil ikke indgå i resultaterne." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "søg" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Søgeresultater" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Hurtig søgning" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Denne side" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Ændringer i version %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Automatisk oprettet liste af ændringer i version %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Biblioteksændringer" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Ændringer i C-API" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Andre ændringer" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Permalink til denne overskrift" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Permalink til denne definition" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Skjul søgeresultater" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Udfold sidebjælke" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Sammenfold sidebjælke" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Indhold" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Udgave" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Fodnoter" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "fortsat fra forrige side" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Fortsættes på næste side" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[billede]" sphinx-1.2.2+dfsg.orig/sphinx/locale/da/LC_MESSAGES/sphinx.js0000644000000000000000000000041712304304616022172 0ustar rootrootDocumentation.addTranslations({"locale": "da", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Skjul s\u00f8geresultater", "Permalink to this definition": "Permalink til denne definition", "Permalink to this headline": "Permalink til denne overskrift"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/da/LC_MESSAGES/sphinx.mo0000644000000000000000000002423512263742674022213 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "   0F V c q}  #> P [f %96T8 3*D Xb r=~  60@ Wx J  H d i | y!!!!!!!!!!"!."P" e"q" " " "" """"" ""#E=## #$##### #$!$A$ ^$i$n$ $$<$$ $$ % %%'% ;%F%M%Q%V%_%h%y%& && & *&4&<&"R&u&~&&& &&&&&& & ''%'8' ?' I' V'w'}'''''''''''''('(-(2(M( S( _(j(y((( Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:13+0000 Last-Translator: birkenfeld Language-Team: Danish (http://www.transifex.com/projects/p/sphinx-1/language/da/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Baser: %s (forældet) (i %(filename)s — %(docstitle)s%d. %B, %Y%d. %b, %Y%s %s%s %s documentation%s (attribut i %s)%s (attribut i %s.%s)%s (C-funktion)%s (C-makro)%s (C-medlem)%s (C-type)%s (C-variabel)%s (C++-klasse)%s (C++-funktion)%s (C++-medlem)%s (C++-type)%s (indbygget klasse)%s (indbygget variabel)%s (klasse i %s)%s (direktiv)%s (global variabel eller konstant)%s (i modulet %s)%s (modul)%s (rolle)%s() (klassemetode i %s)%s() (metode i %s)%s() (statisk metode i %s)%s() (klassemetode i %s.%s)%s() (metode i %s.%s)%s() (statisk metode i %s.%s)%s() (indbygget funktion)%s() (klasse)%s() (i modulet %s)%skommandolinjetilvalg; %s© Ophavsret %(copyright)s.© Ophavsret %(copyright)s.(Det <> befinder sig i %s, linje %d.)(in %s v%s), in

Alle moduler, der er kode tilgængelig for

Kildekode for %s

Om disse dokumenterParametreVær opmærksomForfatter: Automatisk oprettet liste af ændringer i version %(version)sIndbyggedeÆndringer i C-APIForsigtigÆndret i version %sÆndringer i version %(version)s — %(docstitle)sKodeforfatter: Sammenfold sidebjælkeFuldstændig indholdsfortegnelseIndholdFortsættes på næste sideOphavsretBygget med Sphinx %(sphinx_version)s.FareForældetForældet siden version %sIndtast søgeord eller navnet på et modul, en klasse eller en funktion.FejlUdfold sidebjælkeFodnoterHer fra kan du søge i disse dokumenter. Indtast dine søgeord i boksen nedenfor og klik på "søg". Bemærk at søgefunktionen automatisk vil søge på alle ordene. Sider, der indeholder færre ord, vil ikke indgå i resultaterne.Fuldt indeks på én sideGenerelt indeksGlobalt modulindeksSøgSkjul søgeresultaterFifVigtigtIndeksIndeks – %(key)sIndeksér sider efter bogstavIndeks og tabeller:Sidst opdateret %(last_updated)s.BiblioteksændringerModulindeksModulforfatter: ModulkodeModulniveauNavigationNy i version %sNæste emneBemærkAndre ændringerOversigtOversigt: modulkodeParametrePermalink til denne definitionPermalink til denne overskriftAktivér venligst JavaScript for at aktivere søgefunktionalitet.Preparing search...Forrige emnePython Enhancement Proposals; PEP %sPython-modulindeksHurtig søgningRejserUdgaveReturtypeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnererSøgSøg i %(docstitle)sSøgesideSøgeresultaterSearch finished, found %s page(s) matching the search query.Søg i %(docstitle)sSearchingAfsnitsforfatter: Se ogsåVis kildeSymbolsIndholdsfortegnelseDenne sideKasterTipTodoVariableAdvarselWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[dok][graph: %s][graph][image: %s][billede][kilde]alias for :class:`%s`alle funktioner, klasser, begreberattributindbygget funktionkan være enormtklasseklassemetodefortsat fra forrige sidedatadirektivmiljøvariabelmiljøvariabel; %sundtagelsefunktionbegreb i ordlistegrammatisk elementindeksnøgleordlast updatedviser alle afsnit og underafsnitmakromedlemmetodemodulmodulernæstenæste kapitelobjektoperatoroprindeligt punktforrigeforrige kapitelprogramtilvalghurtig adgang til alle modulerreferenceetiketrollesøgsøg i denne dokumentationse %sse også %serklæringstatisk metodethe documentation fortypevariabelsphinx-1.2.2+dfsg.orig/sphinx/locale/he/0000755000000000000000000000000012304560277016553 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/he/LC_MESSAGES/0000755000000000000000000000000012304560277020340 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/he/LC_MESSAGES/sphinx.po0000644000000000000000000004620312263743422022215 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2011 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:22+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/sphinx-1/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "תיעוד %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "ראה %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "ראה גם %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "רמת המודול" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "" #: sphinx/builders/html.py:309 msgid "index" msgstr "אינדקס" #: sphinx/builders/html.py:369 msgid "next" msgstr "הבא" #: sphinx/builders/html.py:378 msgid "previous" msgstr "הקודם" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(בתוך" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "מחבר הקטע:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "מחבר המודול:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "מחבר הקוד:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "מחבר:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "פרמטרים" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "פונקציה" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "" #: sphinx/domains/c.py:205 msgid "macro" msgstr "מאקרו" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "" #: sphinx/domains/c.py:207 msgid "variable" msgstr "משתנה" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (מחלקת C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (פונקציית C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "מחלקה" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "משתנים" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "מודול" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "משתנה סביבה; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%sאופציית שורת הפקודה ; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "משתנה סביבה" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "אינדקס" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "מודול אינדקס" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "דף חיפוש" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr "" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[מקור]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "לעשות" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(ה <<הרשומה המקורית>> ממוקמת ב %s, שורה %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "הטקסט המקורי" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[תיעוד]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

הראה קוד מקור ל %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

כל המודולים שיש להם קוד זמין

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "תשומת לב" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "זהירות" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "סכנה" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "שגיאה" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "רמז" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "חשוב" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "הערה" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "ראה גם" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "טיפ" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "אזהרה" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "חדש בגרסה %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "השתנה בגרסה %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr " לא מומלץ לשימוש מגרסה %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "מילת מפתח" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "תוכן עניינים" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "חיפוש" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "לך" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "הכנס מושגים לחיפוש או שם מודול, מחלקה או פונקציה." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "הצג מקור" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "סקירה כללית" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "תוכן עניינים מלא" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "חפש בתיעוד זה" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "אינדקס מודולים גלובלי" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "גישה מהירה לכל המודולים" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "כל הפונקציות, המחלקות, המושגים" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "אינדקס מלא בעמוד אחד" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "עמודי אינדקס לפי אותיות" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "עשוי להיות עצום" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "ניווט" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "חפש בתוך %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "על מסמכים אלו" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "זכויות שמורות" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© זכויות שמורות %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© זכויות שמורות %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "עודכן לאחרונה ב %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "חפש %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "נושא קודם" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "פרק קודם" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "נושא הבא" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "פרק הבא" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "אנא הפעל ג'אואסקריפט ע\"מ לאפשר את\n החיפוש." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "" #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "חיפוש" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "תוצאות החיפוש" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "חיפוש מהיר" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "עמוד זה" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "שינויים בגרסה %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "יצר אוטומטית רשימה של שינויים בגרסה %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "שינויים אחרים" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "קישור קבוע לכותרת זו" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "קישור קבוע להגדרה זו" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "הסתר תוצאות חיפוש" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "הרחב סרגל צד" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "כווץ סרגל צד" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "תוכן" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "מהדורה" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "הערות שוליים" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "המשך מעמוד קודם" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "המשך בעמוד הבא" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[תמונה]" sphinx-1.2.2+dfsg.orig/sphinx/locale/he/LC_MESSAGES/sphinx.js0000644000000000000000000000075012304304616022202 0ustar rootrootDocumentation.addTranslations({"locale": "he", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "\u05d4\u05e1\u05ea\u05e8 \u05ea\u05d5\u05e6\u05d0\u05d5\u05ea \u05d7\u05d9\u05e4\u05d5\u05e9", "Permalink to this definition": "\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e7\u05d1\u05d5\u05e2 \u05dc\u05d4\u05d2\u05d3\u05e8\u05d4 \u05d6\u05d5", "Permalink to this headline": "\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e7\u05d1\u05d5\u05e2 \u05dc\u05db\u05d5\u05ea\u05e8\u05ea \u05d6\u05d5"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/he/LC_MESSAGES/sphinx.mo0000644000000000000000000002531012263742674022216 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w      "   0E U b p|  #D V bl +/F[/E $<*'g  M # 1>;W M h q +| X ! !#!;!%<" b"(p"" """ ""+"#.2#a#q## ## #####$)$?$%N$%t$M$$$$%3%G%[% b% o%{%!%%% %%% &<'&d& && &&&& &&& & ' ''+' ' '' ' ' ''7( H(R(d( ( ((( ((( (( ) ) *)7) I)"V) y))) ))) )))) )))+ *8*H* M*X* q*{* * *** * Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:22+0000 Last-Translator: birkenfeld Language-Team: Hebrew (http://www.transifex.com/projects/p/sphinx-1/language/he/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (deprecated)(בתוך%(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %sתיעוד %s %s%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (מחלקת C++)%s (פונקציית C++)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%sאופציית שורת הפקודה ; %s© זכויות שמורות %(copyright)s.© זכויות שמורות %(copyright)s.(ה <<הרשומה המקורית>> ממוקמת ב %s, שורה %d.)(in %s v%s), in

כל המודולים שיש להם קוד זמין

הראה קוד מקור ל %s

על מסמכים אלוArgumentsתשומת לבמחבר:יצר אוטומטית רשימה של שינויים בגרסה %(version)sBuiltinsC API changesזהירותהשתנה בגרסה %sשינויים בגרסה %(version)s — %(docstitle)sמחבר הקוד:כווץ סרגל צדתוכן עניינים מלאתוכןהמשך בעמוד הבאזכויות שמורותCreated using Sphinx %(sphinx_version)s.סכנהDeprecated לא מומלץ לשימוש מגרסה %sהכנס מושגים לחיפוש או שם מודול, מחלקה או פונקציה.שגיאההרחב סרגל צדהערות שולייםFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.אינדקס מלא בעמוד אחדGeneral Indexאינדקס מודולים גלובלילךהסתר תוצאות חיפושרמזחשובאינדקסIndex – %(key)sעמודי אינדקס לפי אותיותIndices and tables:עודכן לאחרונה ב %(last_updated)s.Library changesמודול אינדקסמחבר המודול:Module codeרמת המודולניווטחדש בגרסה %sנושא הבאהערהשינויים אחריםסקירה כלליתOverview: module codeפרמטריםקישור קבוע להגדרה זוקישור קבוע לכותרת זואנא הפעל ג'אואסקריפט ע"מ לאפשר את החיפוש.Preparing search...נושא קודםPython Enhancement Proposals; PEP %sPython Module Indexחיפוש מהירRaisesמהדורהReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.Returnsחיפושחפש %(docstitle)sדף חיפושתוצאות החיפושSearch finished, found %s page(s) matching the search query.חפש בתוך %(docstitle)sSearchingמחבר הקטע:ראה גםהצג מקורSymbolsתוכן ענייניםעמוד זהThrowsטיפלעשותמשתניםאזהרהWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[תיעוד][graph: %s][graph][image: %s][תמונה][מקור]alias of :class:`%s`כל הפונקציות, המחלקות, המושגיםattributebuilt-in functionעשוי להיות עצוםמחלקהclass methodהמשך מעמוד קודםdatadirectiveמשתנה סביבהמשתנה סביבה; %sexceptionפונקציהglossary termgrammar tokenאינדקסמילת מפתחlast updatedlists all sections and subsectionsמאקרוmembermethodמודולmodulesהבאפרק הבאobjectoperatorהטקסט המקוריהקודםפרק קודםprogram optionגישה מהירה לכל המודוליםreference labelroleחיפושחפש בתיעוד זהראה %sראה גם %sstatementstatic methodthe documentation fortypeמשתנהsphinx-1.2.2+dfsg.orig/sphinx/locale/ca/0000755000000000000000000000000012304560277016542 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ca/LC_MESSAGES/0000755000000000000000000000000012304560277020327 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ca/LC_MESSAGES/sphinx.po0000644000000000000000000004711612263743422022210 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # FIRST AUTHOR , 2009 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-02 15:11+0000\n" "Last-Translator: birkenfeld \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/sphinx-1/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s documentació" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "vegeu %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "vegeu també %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python Enhancement Proposals; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d de %B de %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Mòduls Interns" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Nivell de mòdul" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b, %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Índex General" #: sphinx/builders/html.py:309 msgid "index" msgstr "índex" #: sphinx/builders/html.py:369 msgid "next" msgstr "següent" #: sphinx/builders/html.py:378 msgid "previous" msgstr "anterior" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (a " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Autor de la secció:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Autor del mòdul: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Autor: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Paràmetres" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Retorna" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Tipus de retorn" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (funció de C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (membre de C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (macro de C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (tipus de C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (variable de C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "funció" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "membre" #: sphinx/domains/c.py:205 msgid "macro" msgstr "macro" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "tipus" #: sphinx/domains/c.py:207 msgid "variable" msgstr "variable" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (class de C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (tipus de C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (membre de C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (funció de C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "class" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (funció interna)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (mètode %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (class)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (atribut %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "atribut" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Llença" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (al mòdul %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (variable interna)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (al mòdul %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (classe interna)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (class a %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (mètode %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (mètode estàtic %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (mètode estàtic %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (atribut %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (mòdul)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "" #: sphinx/domains/python.py:492 msgid "modules" msgstr "mòduls" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Obsolet" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "excepció" #: sphinx/domains/python.py:564 msgid "method" msgstr "" #: sphinx/domains/python.py:565 msgid "class method" msgstr "" #: sphinx/domains/python.py:566 msgid "static method" msgstr "mètode estàtic" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "mòdul" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (obsolet)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "" #: sphinx/domains/rst.py:105 msgid "role" msgstr "" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "variable d'entorn; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "opció de línia de comandes %s; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "variable d'entorn" #: sphinx/domains/std.py:419 msgid "program option" msgstr "" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Índex" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Índex de Mòduls" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Pàgina de Cerca" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Bases: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "àlies de :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "Pendent" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(La <> està a %s, línia %d i.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Atenció" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Compte" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Perill" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Error" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Suggerència" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Important" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Nota" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "Vegeu també" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Truc" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Avís" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Novetat de la versió %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Canviat a la versió %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Obsolet desde la versió %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "paraula clau" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "operador" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "objecte" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "sentència" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "funció interna" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Taula de Contingut" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Cerca" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Ves a" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Entra paraules de cerca o el nom d'un mòdul, classe o funció." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Mostra Codi Font" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Resum" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Índexs i taules:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Taula de Contingut Completa" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "llista totes les seccions i subseccions" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "cerca aquesta documentació" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Índex Global de Mòduls" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "accés ràpid a tots els mòduls" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "totes les funcions, classes, termes" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Índes – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Índex complet en una pàgina" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Pàgines d'índex per lletra" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "pot ser gegant" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Navegació" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Cerca dins de %(docstitle)s" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Quant a aquests documents" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Copyright" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Última actualització el %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Creat amb Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Cercar a %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Tema anterior" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "capítol anterior" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Tema següent" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "capítol següent" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Activa JavaScript per utilitzar la funcionalitat\nde cerca." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Des d'aquí pots fer cerques en aquests documents. Entra les \nparaules de la teva cerca i clica el botó \"cerca\". Tingues en compte\nque la cerca inclourà totes les paraules que posis. Les pàgines que no\ntenen totes les paraules no sortiràn." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "cerca" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Resultats de la Cerca" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Cerca ràpida" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "Aquesta Pàgina" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Canvis a la Versió %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Llista de canvis de la versió %(version)s generada automàticament" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Canvis a la llibreria" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Canvis a la API de C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Altres canvis" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Link permanent a aquest títol" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Link permanent a aquesta definició" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Oculta Resultats de Cerca" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr "" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Versió" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "ve de la pàgina anterior" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Continua a la pàgina següent" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[imatge]" sphinx-1.2.2+dfsg.orig/sphinx/locale/ca/LC_MESSAGES/sphinx.js0000644000000000000000000000043412304304616022170 0ustar rootrootDocumentation.addTranslations({"locale": "ca", "plural_expr": "(n != 1)", "messages": {"Hide Search Matches": "Oculta Resultats de Cerca", "Permalink to this definition": "Link permanent a aquesta definici\u00f3", "Permalink to this headline": "Link permanent a aquest t\u00edtol"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/ca/LC_MESSAGES/sphinx.mo0000644000000000000000000002441512263742675022213 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w     "  /BTdu  ,M _ ku *#>8b2 01M gqzC5  @N_{ I ?" b h w u!!!!! ! !!!"-"+?"k""" "" "" "" "## $##0#T#:s## #$## $$$'$7$!R$t$$$$$$<$% 6%@% U%b%s%{%%%%% %%%%^& e&q& y&&&&#&&&&& & '%' *'4'F' \'f' n' |'' ' ''''''''''(("(1(:(L( [(|(((((( (((() Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-02 15:11+0000 Last-Translator: birkenfeld Language-Team: Catalan (http://www.transifex.com/projects/p/sphinx-1/language/ca/) Plural-Forms: nplurals=2; plural=(n != 1) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Bases: %s (obsolet) (a %(filename)s — %(docstitle)s%d de %B de %Y%d %b, %Y%s %s%s %s documentació%s (atribut %s)%s (atribut %s.%s)%s (funció de C)%s (macro de C)%s (membre de C)%s (tipus de C)%s (variable de C)%s (class de C++)%s (funció de C++)%s (membre de C++)%s (tipus de C++)%s (classe interna)%s (variable interna)%s (class a %s)%s (directive)%s (global variable or constant)%s (al mòdul %s)%s (mòdul)%s (role)%s() (%s class method)%s() (mètode %s)%s() (mètode estàtic %s)%s() (%s.%s class method)%s() (mètode %s.%s)%s() (mètode estàtic %s.%s)%s() (funció interna)%s() (class)%s() (al mòdul %s)opció de línia de comandes %s; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(La <> està a %s, línia %d i.)(in %s v%s), in

All modules for which code is available

Source code for %s

Quant a aquests documentsArgumentsAtencióAutor: Llista de canvis de la versió %(version)s generada automàticamentMòduls InternsCanvis a la API de CCompteCanviat a la versió %sCanvis a la Versió %(version)s — %(docstitle)sCode author: Collapse sidebarTaula de Contingut CompletaContentsContinua a la pàgina següentCopyrightCreat amb Sphinx %(sphinx_version)s.PerillObsoletObsolet desde la versió %sEntra paraules de cerca o el nom d'un mòdul, classe o funció.ErrorExpand sidebarFootnotesDes d'aquí pots fer cerques en aquests documents. Entra les paraules de la teva cerca i clica el botó "cerca". Tingues en compte que la cerca inclourà totes les paraules que posis. Les pàgines que no tenen totes les paraules no sortiràn.Índex complet en una pàginaÍndex GeneralÍndex Global de MòdulsVes aOculta Resultats de CercaSuggerènciaImportantÍndexÍndes – %(key)sPàgines d'índex per lletraÍndexs i taules:Última actualització el %(last_updated)s.Canvis a la llibreriaÍndex de MòdulsAutor del mòdul: Module codeNivell de mòdulNavegacióNovetat de la versió %sTema següentNotaAltres canvisResumOverview: module codeParàmetresLink permanent a aquesta definicióLink permanent a aquest títolActiva JavaScript per utilitzar la funcionalitat de cerca.Preparing search...Tema anteriorPython Enhancement Proposals; PEP %sPython Module IndexCerca ràpidaLlençaVersióTipus de retornReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.RetornaCercaCercar a %(docstitle)sPàgina de CercaResultats de la CercaSearch finished, found %s page(s) matching the search query.Cerca dins de %(docstitle)sSearchingAutor de la secció:Vegeu tambéMostra Codi FontSymbolsTaula de ContingutAquesta PàginaThrowsTrucPendentVariablesAvísWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][imatge][source]àlies de :class:`%s`totes les funcions, classes, termesatributfunció internapot ser gegantclassclass methodve de la pàgina anteriordatadirectivevariable d'entornvariable d'entorn; %sexcepciófuncióglossary termgrammar tokeníndexparaula claulast updatedllista totes les seccions i subseccionsmacromembremethodmòdulmòdulssegüentcapítol següentobjecteoperadororiginal entryanteriorcapítol anteriorprogram optionaccés ràpid a tots els mòdulsreference labelrolecercacerca aquesta documentacióvegeu %svegeu també %ssentènciamètode estàticthe documentation fortipusvariablesphinx-1.2.2+dfsg.orig/sphinx/locale/zh_CN/0000755000000000000000000000000012304560277017160 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/zh_CN/LC_MESSAGES/0000755000000000000000000000000012304560277020745 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po0000644000000000000000000004776112263743422022634 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # lenville , 2013 # Ryekee , 2013 # Tower Joo, 2009 # yinian1992 , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-04-24 09:49+0000\n" "Last-Translator: Ryekee \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/sphinx-1/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "%s %s 文档" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "见 %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "参见 %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "符号" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Python 提高建议; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "内置" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "模块级别" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%Y 年 %m 月 %d 日" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "总目录" #: sphinx/builders/html.py:309 msgid "index" msgstr "索引" #: sphinx/builders/html.py:369 msgid "next" msgstr "下一页" #: sphinx/builders/html.py:378 msgid "previous" msgstr "上一页" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr "(在" #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "节作者:" #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "模块作者:" #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "代码作者:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "作者:" #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "参数" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "返回" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "返回类型" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (C 函数)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (C 成员)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (C 宏)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (C 类型)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (C 变量)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "函数" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "成员" #: sphinx/domains/c.py:205 msgid "macro" msgstr "宏" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "类型" #: sphinx/domains/c.py:207 msgid "variable" msgstr "变量" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "抛出" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (C++ 类)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (C++ 类型)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (C++ 成员)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (C++ 函数)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "类" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (內置函数)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (%s 方法)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (类)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (全局变量或常量)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (%s 属性)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "参数" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "数据" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "属性" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "变量" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "引发" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (在 %s 模块中)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (內置变量)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s() (在 %s 模块中)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (內置类)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (%s 中的类)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (%s.%s 方法)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (%s.%s 静态方法)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (%s 静态方法)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (%s.%s 类方法)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (%s 类方法)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (%s.%s 属性)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (模块)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Python 模块索引" #: sphinx/domains/python.py:492 msgid "modules" msgstr "模块" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "已移除" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "例外" #: sphinx/domains/python.py:564 msgid "method" msgstr "方法" #: sphinx/domains/python.py:565 msgid "class method" msgstr "类方法" #: sphinx/domains/python.py:566 msgid "static method" msgstr "静态方法" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "模块" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr " (已移除)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (指示)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (角色)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "指示" #: sphinx/domains/rst.py:105 msgid "role" msgstr "角色" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "环境变量; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "%s命令行选项; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "术语" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "语法记号" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "引用标签" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "环境变量" #: sphinx/domains/std.py:419 msgid "program option" msgstr "程序选项" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "索引" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "模块索引" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "搜索页面" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " 基类:%s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr ":class:`%s` 的别名" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[图表:%s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[图表]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(在 %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[源代码]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "返回值:总为 NULL。" #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "返回值:新的引用。" #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "返回值:借引用。" #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "待处理" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<<原始记录>> 见 %s,第 %d 行)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "原始记录" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[文档]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "模块代码" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

%s 源代码

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "概览:模块代码" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

代码可用的所有模块

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "注意" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "警告" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "危险" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "错误" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "提示" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "重要" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "注解" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "参见" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "小技巧" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "警告" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "%s 新版功能" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "在 %s 版更改" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "%s 版后已移除" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "关键字" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "运算符" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "对象" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "语句" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "內置函数" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "內容目录" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "搜索" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "转向" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "输入相关的术语,模块,类或者函数名称进行搜索" #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "显示源代码" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "概述" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "欢迎!这是" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "这份文档是" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "最后更新于" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "索引和表格:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "完整的内容表" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "列出所有的章节和部分" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "搜索文档" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "全局模块索引" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "快速查看所有的模块" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "所的函数,类,术语" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "索引 – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "一页的全部索引" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "按照字母的索引页" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "可能会很多" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "导航" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "在 %(docstitle)s 中搜索" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "关于这些文档" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "版权所有" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© 版权所有 %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© 版权所有 %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "最后更新于 %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "由 Sphinx %(sphinx_version)s 创建。" #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "搜索 %(docstitle)s" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "上一个主题" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "上一章" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "下一个主题" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "下一章" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "请激活 JavaScript 以开启搜索功能" #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "在这儿,你可以对这些文档进行搜索。向搜索框中输入你所要搜索的关键字并点击“搜索”。注意:搜索引擎会自动搜索所有的关键字。将不会搜索到部分关键字的页面." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "搜索" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "搜索结果" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "没有任何文档匹配您的搜索。请确保你输入的词拼写正确并选择了合适的分类。" #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "快速搜索" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "本页" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "更改发生在版本 %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "自动生成的 %(version)s 版本中的更改列表" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "库更改" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "C API 更改" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "其他更改" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "永久链接至标题" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "永久链接至目标" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "隐藏搜索结果" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "搜索中" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "准备搜索……" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "搜索完成,有 %s 个页面匹配。" #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ",在" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "展开边栏" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "折叠边栏" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "目录" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "发布" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "脚注" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "续上页" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "下页继续" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[图片: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[图片]" sphinx-1.2.2+dfsg.orig/sphinx/locale/zh_CN/LC_MESSAGES/sphinx.js0000644000000000000000000000046312304304616022610 0ustar rootrootDocumentation.addTranslations({"locale": "zh_Hans_CN", "plural_expr": "0", "messages": {"Hide Search Matches": "\u9690\u85cf\u641c\u7d22\u7ed3\u679c", "Permalink to this definition": "\u6c38\u4e45\u94fe\u63a5\u81f3\u76ee\u6807", "Permalink to this headline": "\u6c38\u4e45\u94fe\u63a5\u81f3\u6807\u9898"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/zh_CN/LC_MESSAGES/sphinx.mo0000644000000000000000000002335612263742675022634 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w    " -< N \ g u    ( @ LXl} 9&"`& $  4$Y `mt7   L[ blB      !!!!6!O!!b! ! !! ! !!!!! !"""$":"*P"{"""" """ ""#*#F#M#T# i# v#(## # #### # $$ $ "$,$3$:$iJ$$ $$$$ $$%*% 1%>%N% R% \%f%m% t%%%%% %% %%%%%%& & & &(& /& 9& F& P& Z&g& &&& && && &&&& Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-04-24 09:49+0000 Last-Translator: Ryekee Language-Team: Chinese (China) (http://www.transifex.com/projects/p/sphinx-1/language/zh_CN/) Plural-Forms: nplurals=1; plural=0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 基类:%s (已移除)(在%(filename)s — %(docstitle)s%Y 年 %m 月 %d 日%Y 年 %m 月 %d 日%s %s%s %s 文档%s (%s 属性)%s (%s.%s 属性)%s (C 函数)%s (C 宏)%s (C 成员)%s (C 类型)%s (C 变量)%s (C++ 类)%s (C++ 函数)%s (C++ 成员)%s (C++ 类型)%s (內置类)%s (內置变量)%s (%s 中的类)%s (指示)%s (全局变量或常量)%s() (在 %s 模块中)%s (模块)%s (角色)%s() (%s 类方法)%s() (%s 方法)%s() (%s 静态方法)%s() (%s.%s 类方法)%s() (%s.%s 方法)%s() (%s.%s 静态方法)%s() (內置函数)%s() (类)%s() (在 %s 模块中)%s命令行选项; %s© 版权所有 %(copyright)s.© 版权所有 %(copyright)s.(<<原始记录>> 见 %s,第 %d 行)(在 %s v%s),在

代码可用的所有模块

%s 源代码

关于这些文档参数注意作者:自动生成的 %(version)s 版本中的更改列表内置C API 更改警告在 %s 版更改更改发生在版本 %(version)s — %(docstitle)s代码作者:折叠边栏完整的内容表目录下页继续版权所有由 Sphinx %(sphinx_version)s 创建。危险已移除%s 版后已移除输入相关的术语,模块,类或者函数名称进行搜索错误展开边栏脚注在这儿,你可以对这些文档进行搜索。向搜索框中输入你所要搜索的关键字并点击“搜索”。注意:搜索引擎会自动搜索所有的关键字。将不会搜索到部分关键字的页面.一页的全部索引总目录全局模块索引转向隐藏搜索结果提示重要索引索引 – %(key)s按照字母的索引页索引和表格:最后更新于 %(last_updated)s.库更改模块索引模块作者:模块代码模块级别导航%s 新版功能下一个主题注解其他更改概述概览:模块代码参数永久链接至目标永久链接至标题请激活 JavaScript 以开启搜索功能准备搜索……上一个主题Python 提高建议; PEP %sPython 模块索引快速搜索引发发布返回类型返回值:总为 NULL。返回值:借引用。返回值:新的引用。返回搜索搜索 %(docstitle)s搜索页面搜索结果搜索完成,有 %s 个页面匹配。在 %(docstitle)s 中搜索搜索中节作者:参见显示源代码符号內容目录本页抛出小技巧待处理变量警告欢迎!这是没有任何文档匹配您的搜索。请确保你输入的词拼写正确并选择了合适的分类。[文档][图表:%s][图表][图片: %s][图片][源代码]:class:`%s` 的别名所的函数,类,术语属性內置函数可能会很多类类方法续上页数据指示环境变量环境变量; %s例外函数术语语法记号索引关键字最后更新于列出所有的章节和部分宏成员方法模块模块下一页下一章对象运算符原始记录上一页上一章程序选项快速查看所有的模块引用标签角色搜索搜索文档见 %s参见 %s语句静态方法这份文档是类型变量sphinx-1.2.2+dfsg.orig/sphinx/locale/ru/0000755000000000000000000000000012304560277016605 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ru/LC_MESSAGES/0000755000000000000000000000000012304560277020372 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/locale/ru/LC_MESSAGES/sphinx.po0000644000000000000000000005633512263743422022256 0ustar rootroot# Translations template for Sphinx. # Copyright (C) 2013 ORGANIZATION # This file is distributed under the same license as the Sphinx project. # # Translators: # Dmitry Shachnev , 2013 # FIRST AUTHOR , 2013 msgid "" msgstr "" "Project-Id-Version: Sphinx\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-04-02 10:33+0200\n" "PO-Revision-Date: 2013-08-20 17:13+0000\n" "Last-Translator: Dmitry Shachnev \n" "Language-Team: Russian (http://www.transifex.com/projects/p/sphinx-1/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: sphinx/config.py:81 #, python-format msgid "%s %s documentation" msgstr "Документация %s %s" #: sphinx/environment.py:1510 #, python-format msgid "see %s" msgstr "см. %s" #: sphinx/environment.py:1513 #, python-format msgid "see also %s" msgstr "также см. %s" #: sphinx/environment.py:1570 msgid "Symbols" msgstr "Символы" #: sphinx/roles.py:175 #, python-format msgid "Python Enhancement Proposals; PEP %s" msgstr "Предложения об улучшениях Python; PEP %s" #: sphinx/transforms.py:52 sphinx/writers/latex.py:202 #: sphinx/writers/manpage.py:67 sphinx/writers/texinfo.py:217 #, python-format msgid "%B %d, %Y" msgstr "%d %B %Y" #: sphinx/builders/changes.py:73 msgid "Builtins" msgstr "Встроенные функции" #: sphinx/builders/changes.py:75 msgid "Module level" msgstr "Модуль" #: sphinx/builders/html.py:290 #, python-format msgid "%b %d, %Y" msgstr "%d %b %Y" #: sphinx/builders/html.py:309 sphinx/themes/basic/defindex.html:30 msgid "General Index" msgstr "Алфавитный указатель" #: sphinx/builders/html.py:309 msgid "index" msgstr "указатель" #: sphinx/builders/html.py:369 msgid "next" msgstr "следующий" #: sphinx/builders/html.py:378 msgid "previous" msgstr "предыдущий" #: sphinx/builders/latex.py:141 sphinx/builders/texinfo.py:196 msgid " (in " msgstr " (в " #: sphinx/directives/other.py:138 msgid "Section author: " msgstr "Автор раздела: " #: sphinx/directives/other.py:140 msgid "Module author: " msgstr "Автор модуля: " #: sphinx/directives/other.py:142 msgid "Code author: " msgstr "Автор кода:" #: sphinx/directives/other.py:144 msgid "Author: " msgstr "Автор: " #: sphinx/domains/__init__.py:244 #, python-format msgid "%s %s" msgstr "%s %s" #: sphinx/domains/c.py:51 sphinx/domains/cpp.py:939 #: sphinx/domains/python.py:95 msgid "Parameters" msgstr "Параметры" #: sphinx/domains/c.py:54 sphinx/domains/cpp.py:945 #: sphinx/domains/javascript.py:128 sphinx/domains/python.py:107 msgid "Returns" msgstr "Результат" #: sphinx/domains/c.py:56 sphinx/domains/javascript.py:130 #: sphinx/domains/python.py:109 msgid "Return type" msgstr "Тип результата" #: sphinx/domains/c.py:141 #, python-format msgid "%s (C function)" msgstr "%s (функция C)" #: sphinx/domains/c.py:143 #, python-format msgid "%s (C member)" msgstr "%s (поле C)" #: sphinx/domains/c.py:145 #, python-format msgid "%s (C macro)" msgstr "%s (макроподстановка C)" #: sphinx/domains/c.py:147 #, python-format msgid "%s (C type)" msgstr "%s (тип C)" #: sphinx/domains/c.py:149 #, python-format msgid "%s (C variable)" msgstr "%s (переменная C)" #: sphinx/domains/c.py:203 sphinx/domains/cpp.py:1207 #: sphinx/domains/javascript.py:164 sphinx/domains/python.py:560 msgid "function" msgstr "функция" #: sphinx/domains/c.py:204 sphinx/domains/cpp.py:1208 msgid "member" msgstr "поле" #: sphinx/domains/c.py:205 msgid "macro" msgstr "макрос" #: sphinx/domains/c.py:206 sphinx/domains/cpp.py:1209 msgid "type" msgstr "тип" #: sphinx/domains/c.py:207 msgid "variable" msgstr "переменная" #: sphinx/domains/cpp.py:942 sphinx/domains/javascript.py:125 msgid "Throws" msgstr "Бросает исключение" #: sphinx/domains/cpp.py:1038 #, python-format msgid "%s (C++ class)" msgstr "%s (класс C++)" #: sphinx/domains/cpp.py:1061 #, python-format msgid "%s (C++ type)" msgstr "%s (тип C++)" #: sphinx/domains/cpp.py:1081 #, python-format msgid "%s (C++ member)" msgstr "%s (поле C++)" #: sphinx/domains/cpp.py:1137 #, python-format msgid "%s (C++ function)" msgstr "%s (функция C++)" #: sphinx/domains/cpp.py:1206 sphinx/domains/javascript.py:165 #: sphinx/domains/python.py:562 msgid "class" msgstr "класс" #: sphinx/domains/javascript.py:106 sphinx/domains/python.py:253 #, python-format msgid "%s() (built-in function)" msgstr "%s() (встроенная функция)" #: sphinx/domains/javascript.py:107 sphinx/domains/python.py:317 #, python-format msgid "%s() (%s method)" msgstr "%s() (метод %s)" #: sphinx/domains/javascript.py:109 #, python-format msgid "%s() (class)" msgstr "%s() (класс)" #: sphinx/domains/javascript.py:111 #, python-format msgid "%s (global variable or constant)" msgstr "%s (глобальная переменная или константа)" #: sphinx/domains/javascript.py:113 sphinx/domains/python.py:355 #, python-format msgid "%s (%s attribute)" msgstr "%s (атрибут %s)" #: sphinx/domains/javascript.py:122 msgid "Arguments" msgstr "Аргументы" #: sphinx/domains/javascript.py:166 sphinx/domains/python.py:561 msgid "data" msgstr "данные" #: sphinx/domains/javascript.py:167 sphinx/domains/python.py:567 msgid "attribute" msgstr "атрибут" #: sphinx/domains/python.py:100 msgid "Variables" msgstr "Переменные" #: sphinx/domains/python.py:104 msgid "Raises" msgstr "Исключение" #: sphinx/domains/python.py:254 sphinx/domains/python.py:311 #: sphinx/domains/python.py:323 sphinx/domains/python.py:336 #, python-format msgid "%s() (in module %s)" msgstr "%s() (в модуле %s)" #: sphinx/domains/python.py:257 #, python-format msgid "%s (built-in variable)" msgstr "%s (встроенная переменная)" #: sphinx/domains/python.py:258 sphinx/domains/python.py:349 #, python-format msgid "%s (in module %s)" msgstr "%s (в модуле %s)" #: sphinx/domains/python.py:274 #, python-format msgid "%s (built-in class)" msgstr "%s (встроенный класс)" #: sphinx/domains/python.py:275 #, python-format msgid "%s (class in %s)" msgstr "%s (класс в %s)" #: sphinx/domains/python.py:315 #, python-format msgid "%s() (%s.%s method)" msgstr "%s() (метод %s.%s)" #: sphinx/domains/python.py:327 #, python-format msgid "%s() (%s.%s static method)" msgstr "%s() (статический метод %s.%s)" #: sphinx/domains/python.py:330 #, python-format msgid "%s() (%s static method)" msgstr "%s() (статический метод %s)" #: sphinx/domains/python.py:340 #, python-format msgid "%s() (%s.%s class method)" msgstr "%s() (метод класса %s.%s)" #: sphinx/domains/python.py:343 #, python-format msgid "%s() (%s class method)" msgstr "%s() (метод класса %s)" #: sphinx/domains/python.py:353 #, python-format msgid "%s (%s.%s attribute)" msgstr "%s (атрибут %s.%s)" #: sphinx/domains/python.py:434 #, python-format msgid "%s (module)" msgstr "%s (модуль)" #: sphinx/domains/python.py:491 msgid "Python Module Index" msgstr "Содержание модулей Python" #: sphinx/domains/python.py:492 msgid "modules" msgstr "модули" #: sphinx/domains/python.py:538 msgid "Deprecated" msgstr "Не рекомендуется" #: sphinx/domains/python.py:563 sphinx/locale/__init__.py:179 msgid "exception" msgstr "исключение" #: sphinx/domains/python.py:564 msgid "method" msgstr "метод" #: sphinx/domains/python.py:565 msgid "class method" msgstr "метод класса" #: sphinx/domains/python.py:566 msgid "static method" msgstr "статический метод" #: sphinx/domains/python.py:568 sphinx/locale/__init__.py:175 msgid "module" msgstr "модуль" #: sphinx/domains/python.py:696 msgid " (deprecated)" msgstr "(использование не рекомендуется)" #: sphinx/domains/rst.py:53 #, python-format msgid "%s (directive)" msgstr "%s (директива)" #: sphinx/domains/rst.py:55 #, python-format msgid "%s (role)" msgstr "%s (роль)" #: sphinx/domains/rst.py:104 msgid "directive" msgstr "директива" #: sphinx/domains/rst.py:105 msgid "role" msgstr "роль" #: sphinx/domains/std.py:70 sphinx/domains/std.py:86 #, python-format msgid "environment variable; %s" msgstr "переменная окружения; %s" #: sphinx/domains/std.py:162 #, python-format msgid "%scommand line option; %s" msgstr "Опция командной строки %s; %s" #: sphinx/domains/std.py:414 msgid "glossary term" msgstr "элемент словаря" #: sphinx/domains/std.py:415 msgid "grammar token" msgstr "токен грамматики" #: sphinx/domains/std.py:416 msgid "reference label" msgstr "текст ссылки" #: sphinx/domains/std.py:418 msgid "environment variable" msgstr "переменная окружения" #: sphinx/domains/std.py:419 msgid "program option" msgstr "опция программы" #: sphinx/domains/std.py:449 sphinx/themes/basic/genindex-single.html:32 #: sphinx/themes/basic/genindex-single.html:57 #: sphinx/themes/basic/genindex-split.html:11 #: sphinx/themes/basic/genindex-split.html:14 #: sphinx/themes/basic/genindex.html:32 sphinx/themes/basic/genindex.html:35 #: sphinx/themes/basic/genindex.html:68 sphinx/themes/basic/layout.html:134 #: sphinx/writers/latex.py:191 sphinx/writers/texinfo.py:475 msgid "Index" msgstr "Алфавитный указатель" #: sphinx/domains/std.py:450 msgid "Module Index" msgstr "Состав модуля" #: sphinx/domains/std.py:451 sphinx/themes/basic/defindex.html:25 msgid "Search Page" msgstr "Поиск" #: sphinx/ext/autodoc.py:1042 #, python-format msgid " Bases: %s" msgstr " Базовые классы: %s" #: sphinx/ext/autodoc.py:1078 #, python-format msgid "alias of :class:`%s`" msgstr "псевдоним класса :class:`%s`" #: sphinx/ext/graphviz.py:294 sphinx/ext/graphviz.py:302 #, python-format msgid "[graph: %s]" msgstr "[иллюстрация: %s]" #: sphinx/ext/graphviz.py:296 sphinx/ext/graphviz.py:304 msgid "[graph]" msgstr "[иллюстрация]" #: sphinx/ext/intersphinx.py:234 #, python-format msgid "(in %s v%s)" msgstr "(в %s v%s)" #: sphinx/ext/linkcode.py:66 sphinx/ext/viewcode.py:70 msgid "[source]" msgstr "[исходный код]" #: sphinx/ext/refcounting.py:83 msgid "Return value: Always NULL." msgstr "Возвращает: всегда NULL." #: sphinx/ext/refcounting.py:85 msgid "Return value: New reference." msgstr "Возвращает: новую ссылку." #: sphinx/ext/refcounting.py:87 msgid "Return value: Borrowed reference." msgstr "Возвращает: заимствованную ссылку." #: sphinx/ext/todo.py:42 msgid "Todo" msgstr "План" #: sphinx/ext/todo.py:110 #, python-format msgid "(The <> is located in %s, line %d.)" msgstr "(<<Исходный элемент>> находится в %s, в строке %d.)" #: sphinx/ext/todo.py:119 msgid "original entry" msgstr "исходный элемент" #: sphinx/ext/viewcode.py:117 msgid "[docs]" msgstr "[документация]" #: sphinx/ext/viewcode.py:131 msgid "Module code" msgstr "Код модуля" #: sphinx/ext/viewcode.py:137 #, python-format msgid "

Source code for %s

" msgstr "

Исходный код %s

" #: sphinx/ext/viewcode.py:164 msgid "Overview: module code" msgstr "Обзор: исходный код модуля" #: sphinx/ext/viewcode.py:165 msgid "

All modules for which code is available

" msgstr "

Все модули, в которых есть код

" #: sphinx/locale/__init__.py:155 msgid "Attention" msgstr "Внимание" #: sphinx/locale/__init__.py:156 msgid "Caution" msgstr "Осторожно" #: sphinx/locale/__init__.py:157 msgid "Danger" msgstr "Опасно" #: sphinx/locale/__init__.py:158 msgid "Error" msgstr "Ошибка" #: sphinx/locale/__init__.py:159 msgid "Hint" msgstr "Подсказка" #: sphinx/locale/__init__.py:160 msgid "Important" msgstr "Важно" #: sphinx/locale/__init__.py:161 msgid "Note" msgstr "Примечание" #: sphinx/locale/__init__.py:162 msgid "See also" msgstr "См.также" #: sphinx/locale/__init__.py:163 msgid "Tip" msgstr "Совет" #: sphinx/locale/__init__.py:164 msgid "Warning" msgstr "Предупреждение" #: sphinx/locale/__init__.py:168 #, python-format msgid "New in version %s" msgstr "Добавлено в версии %s" #: sphinx/locale/__init__.py:169 #, python-format msgid "Changed in version %s" msgstr "Изменено в версии %s" #: sphinx/locale/__init__.py:170 #, python-format msgid "Deprecated since version %s" msgstr "Не рекомендуется, начиная с версии %s" #: sphinx/locale/__init__.py:176 msgid "keyword" msgstr "ключевое слово" #: sphinx/locale/__init__.py:177 msgid "operator" msgstr "оператор" #: sphinx/locale/__init__.py:178 msgid "object" msgstr "объект" #: sphinx/locale/__init__.py:180 msgid "statement" msgstr "команда" #: sphinx/locale/__init__.py:181 msgid "built-in function" msgstr "базовая функция" #: sphinx/themes/agogo/layout.html:46 sphinx/themes/basic/globaltoc.html:10 #: sphinx/themes/basic/localtoc.html:11 sphinx/themes/scrolls/layout.html:35 msgid "Table Of Contents" msgstr "Оглавление" #: sphinx/themes/agogo/layout.html:50 sphinx/themes/basic/layout.html:137 #: sphinx/themes/basic/search.html:11 sphinx/themes/basic/search.html:23 #: sphinx/themes/basic/searchresults.html:10 msgid "Search" msgstr "Поиск" #: sphinx/themes/agogo/layout.html:53 sphinx/themes/basic/searchbox.html:15 msgid "Go" msgstr "Искать" #: sphinx/themes/agogo/layout.html:58 sphinx/themes/basic/searchbox.html:20 msgid "Enter search terms or a module, class or function name." msgstr "Введите слова для поиска или имя модуля, класса или функции." #: sphinx/themes/agogo/layout.html:79 sphinx/themes/basic/sourcelink.html:14 msgid "Show Source" msgstr "Исходный текст" #: sphinx/themes/basic/defindex.html:11 msgid "Overview" msgstr "Обзор" #: sphinx/themes/basic/defindex.html:15 msgid "Welcome! This is" msgstr "Добро пожаловать! Это" #: sphinx/themes/basic/defindex.html:16 msgid "the documentation for" msgstr "документация" #: sphinx/themes/basic/defindex.html:17 msgid "last updated" msgstr "последнее изменение" #: sphinx/themes/basic/defindex.html:20 msgid "Indices and tables:" msgstr "Таблицы и указатели:" #: sphinx/themes/basic/defindex.html:23 msgid "Complete Table of Contents" msgstr "Полное оглавление" #: sphinx/themes/basic/defindex.html:24 msgid "lists all sections and subsections" msgstr "список всех разделов и подразделов" #: sphinx/themes/basic/defindex.html:26 msgid "search this documentation" msgstr "поиск в документации" #: sphinx/themes/basic/defindex.html:28 msgid "Global Module Index" msgstr "Алфавитный указатель модулей" #: sphinx/themes/basic/defindex.html:29 msgid "quick access to all modules" msgstr "сводный список всех модулей" #: sphinx/themes/basic/defindex.html:31 msgid "all functions, classes, terms" msgstr "все функции, классы, переменные и константы" #: sphinx/themes/basic/genindex-single.html:35 #, python-format msgid "Index – %(key)s" msgstr "Алфавитный указатель – %(key)s" #: sphinx/themes/basic/genindex-single.html:63 #: sphinx/themes/basic/genindex-split.html:24 #: sphinx/themes/basic/genindex-split.html:38 #: sphinx/themes/basic/genindex.html:74 msgid "Full index on one page" msgstr "Полный алфавитный указатель на одной странице" #: sphinx/themes/basic/genindex-split.html:16 msgid "Index pages by letter" msgstr "Указатели по буквам алфавита" #: sphinx/themes/basic/genindex-split.html:25 msgid "can be huge" msgstr "может быть очень большим" #: sphinx/themes/basic/layout.html:29 msgid "Navigation" msgstr "Просмотр" #: sphinx/themes/basic/layout.html:122 #, python-format msgid "Search within %(docstitle)s" msgstr "Поиск в документе «%(docstitle)s»" #: sphinx/themes/basic/layout.html:131 msgid "About these documents" msgstr "Об этих документах" #: sphinx/themes/basic/layout.html:140 msgid "Copyright" msgstr "Авторские права" #: sphinx/themes/basic/layout.html:189 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Авторские права %(copyright)s." #: sphinx/themes/basic/layout.html:191 #, python-format msgid "© Copyright %(copyright)s." msgstr "© Copyright %(copyright)s." #: sphinx/themes/basic/layout.html:195 #, python-format msgid "Last updated on %(last_updated)s." msgstr "Обновлено: %(last_updated)s." #: sphinx/themes/basic/layout.html:198 #, python-format msgid "" "Created using Sphinx " "%(sphinx_version)s." msgstr "Создано с помощью Sphinx %(sphinx_version)s." #: sphinx/themes/basic/opensearch.xml:4 #, python-format msgid "Search %(docstitle)s" msgstr "Поиск в документе «%(docstitle)s»" #: sphinx/themes/basic/relations.html:11 msgid "Previous topic" msgstr "Предыдущий раздел" #: sphinx/themes/basic/relations.html:13 msgid "previous chapter" msgstr "предыдущая глава" #: sphinx/themes/basic/relations.html:16 msgid "Next topic" msgstr "Следующий раздел" #: sphinx/themes/basic/relations.html:18 msgid "next chapter" msgstr "следующая глава" #: sphinx/themes/basic/search.html:27 msgid "" "Please activate JavaScript to enable the search\n" " functionality." msgstr "Для работы поиска включите JavaScript в браузере." #: sphinx/themes/basic/search.html:32 msgid "" "From here you can search these documents. Enter your search\n" " words into the box below and click \"search\". Note that the search\n" " function will automatically search for all of the words. Pages\n" " containing fewer words won't appear in the result list." msgstr "Здесь можно делать поиск по всем разделам этой документации. Введите ключевые слова в текстовое поле и нажмите кнопку «искать». Внимание: будут найдены только те страницы, в которых есть все указанные слова. Страницы, где есть только часть этих слов, отобраны не будут." #: sphinx/themes/basic/search.html:39 #: sphinx/themes/basic/searchresults.html:17 msgid "search" msgstr "искать" #: sphinx/themes/basic/search.html:43 #: sphinx/themes/basic/searchresults.html:21 #: sphinx/themes/basic/static/searchtools.js_t:281 msgid "Search Results" msgstr "Результаты поиска" #: sphinx/themes/basic/search.html:45 #: sphinx/themes/basic/searchresults.html:23 #: sphinx/themes/basic/static/searchtools.js_t:283 msgid "" "Your search did not match any documents. Please make sure that all words are" " spelled correctly and that you've selected enough categories." msgstr "По вашему поиску не найдено ни одного документа. Проверьте, что все слова написаны без ошибок, и что вы выбрали достаточно категорий." #: sphinx/themes/basic/searchbox.html:12 msgid "Quick search" msgstr "Быстрый поиск" #: sphinx/themes/basic/sourcelink.html:11 msgid "This Page" msgstr "На этой странице" #: sphinx/themes/basic/changes/frameset.html:5 #: sphinx/themes/basic/changes/versionchanges.html:12 #, python-format msgid "Changes in Version %(version)s — %(docstitle)s" msgstr "Изменения в версии %(version)s — %(docstitle)s" #: sphinx/themes/basic/changes/rstsource.html:5 #, python-format msgid "%(filename)s — %(docstitle)s" msgstr "%(filename)s — %(docstitle)s" #: sphinx/themes/basic/changes/versionchanges.html:17 #, python-format msgid "Automatically generated list of changes in version %(version)s" msgstr "Автоматически созданный список изменений в версии %(version)s" #: sphinx/themes/basic/changes/versionchanges.html:18 msgid "Library changes" msgstr "Изменения в библиотеке" #: sphinx/themes/basic/changes/versionchanges.html:23 msgid "C API changes" msgstr "Изменения в API C" #: sphinx/themes/basic/changes/versionchanges.html:25 msgid "Other changes" msgstr "Другие изменения" #: sphinx/themes/basic/static/doctools.js:142 sphinx/writers/html.py:510 #: sphinx/writers/html.py:516 msgid "Permalink to this headline" msgstr "Ссылка на этот заголовок" #: sphinx/themes/basic/static/doctools.js:148 sphinx/writers/html.py:97 msgid "Permalink to this definition" msgstr "Ссылка на это определение" #: sphinx/themes/basic/static/doctools.js:177 msgid "Hide Search Matches" msgstr "Снять выделение" #: sphinx/themes/basic/static/searchtools.js_t:119 msgid "Searching" msgstr "Идёт поиск" #: sphinx/themes/basic/static/searchtools.js_t:124 msgid "Preparing search..." msgstr "Подготовка поиска…" #: sphinx/themes/basic/static/searchtools.js_t:285 #, python-format msgid "Search finished, found %s page(s) matching the search query." msgstr "Поиск завершён, найдено %s страниц, удовлетворяющих запросу." #: sphinx/themes/basic/static/searchtools.js_t:337 msgid ", in " msgstr ", в" #: sphinx/themes/default/static/sidebar.js_t:83 msgid "Expand sidebar" msgstr "Развернуть боковую панель" #: sphinx/themes/default/static/sidebar.js_t:96 #: sphinx/themes/default/static/sidebar.js_t:124 msgid "Collapse sidebar" msgstr "Свернуть боковую панель" #: sphinx/themes/haiku/layout.html:26 msgid "Contents" msgstr "Содержание" #: sphinx/writers/latex.py:189 msgid "Release" msgstr "Выпуск" #: sphinx/writers/latex.py:620 sphinx/writers/manpage.py:181 #: sphinx/writers/texinfo.py:612 msgid "Footnotes" msgstr "Сноски" #: sphinx/writers/latex.py:704 msgid "continued from previous page" msgstr "продолжение с предыдущей страницы" #: sphinx/writers/latex.py:710 msgid "Continued on next page" msgstr "Продолжается на следующей странице" #: sphinx/writers/manpage.py:226 sphinx/writers/text.py:541 #, python-format msgid "[image: %s]" msgstr "[рисунок: %s]" #: sphinx/writers/manpage.py:227 sphinx/writers/text.py:542 msgid "[image]" msgstr "[рисунок]" sphinx-1.2.2+dfsg.orig/sphinx/locale/ru/LC_MESSAGES/sphinx.js0000644000000000000000000000114112304304616022227 0ustar rootrootDocumentation.addTranslations({"locale": "ru", "plural_expr": "(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)", "messages": {"Hide Search Matches": "\u0421\u043d\u044f\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435", "Permalink to this definition": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435", "Permalink to this headline": "\u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u044d\u0442\u043e\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a"}});sphinx-1.2.2+dfsg.orig/sphinx/locale/ru/LC_MESSAGES/sphinx.mo0000644000000000000000000003204712263742675022256 0ustar rootrootl m z  "       # 1 = M \ n ~        7 H ` z     6 44T 0  >Z cqy4  M(v }7  !58L Q[aw!     &1 6DM cnB$ 1 ERY am! <C _iz   q x    4 9CX q{   " #2;L[w   "<\"b'+ ;Iey$.H5~ !+$>.V*1JYSy ?# "B e x i #!$!@!#S!Dw!!,!!! "A5"w"`" "#B##mf# #0# $$U&'l&6& &&& '''7<'5t'%'%'*'!(;(U( i(v(%(((( )0 )>)/Q)-)Q)$*!&*?H***** **( +@4+.u++ +2+ +!,m",2,,,,--.-C-#b- ----'--.//8/M/^/+x/O//0-!0 O0Z0?r0 00'0+0&1;1J1h111%1@1 2+2 42 ?2 L2Y2l2 22222233O3g3 p3&}3333!33 44 Bases: %s (deprecated) (in %(filename)s — %(docstitle)s%B %d, %Y%b %d, %Y%s %s%s %s documentation%s (%s attribute)%s (%s.%s attribute)%s (C function)%s (C macro)%s (C member)%s (C type)%s (C variable)%s (C++ class)%s (C++ function)%s (C++ member)%s (C++ type)%s (built-in class)%s (built-in variable)%s (class in %s)%s (directive)%s (global variable or constant)%s (in module %s)%s (module)%s (role)%s() (%s class method)%s() (%s method)%s() (%s static method)%s() (%s.%s class method)%s() (%s.%s method)%s() (%s.%s static method)%s() (built-in function)%s() (class)%s() (in module %s)%scommand line option; %s© Copyright %(copyright)s.© Copyright %(copyright)s.(The <> is located in %s, line %d.)(in %s v%s), in

All modules for which code is available

Source code for %s

About these documentsArgumentsAttentionAuthor: Automatically generated list of changes in version %(version)sBuiltinsC API changesCautionChanged in version %sChanges in Version %(version)s — %(docstitle)sCode author: Collapse sidebarComplete Table of ContentsContentsContinued on next pageCopyrightCreated using Sphinx %(sphinx_version)s.DangerDeprecatedDeprecated since version %sEnter search terms or a module, class or function name.ErrorExpand sidebarFootnotesFrom here you can search these documents. Enter your search words into the box below and click "search". Note that the search function will automatically search for all of the words. Pages containing fewer words won't appear in the result list.Full index on one pageGeneral IndexGlobal Module IndexGoHide Search MatchesHintImportantIndexIndex – %(key)sIndex pages by letterIndices and tables:Last updated on %(last_updated)s.Library changesModule IndexModule author: Module codeModule levelNavigationNew in version %sNext topicNoteOther changesOverviewOverview: module codeParametersPermalink to this definitionPermalink to this headlinePlease activate JavaScript to enable the search functionality.Preparing search...Previous topicPython Enhancement Proposals; PEP %sPython Module IndexQuick searchRaisesReleaseReturn typeReturn value: Always NULL.Return value: Borrowed reference.Return value: New reference.ReturnsSearchSearch %(docstitle)sSearch PageSearch ResultsSearch finished, found %s page(s) matching the search query.Search within %(docstitle)sSearchingSection author: See alsoShow SourceSymbolsTable Of ContentsThis PageThrowsTipTodoVariablesWarningWelcome! This isYour search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.[docs][graph: %s][graph][image: %s][image][source]alias of :class:`%s`all functions, classes, termsattributebuilt-in functioncan be hugeclassclass methodcontinued from previous pagedatadirectiveenvironment variableenvironment variable; %sexceptionfunctionglossary termgrammar tokenindexkeywordlast updatedlists all sections and subsectionsmacromembermethodmodulemodulesnextnext chapterobjectoperatororiginal entrypreviousprevious chapterprogram optionquick access to all modulesreference labelrolesearchsearch this documentationsee %ssee also %sstatementstatic methodthe documentation fortypevariableProject-Id-Version: Sphinx Report-Msgid-Bugs-To: EMAIL@ADDRESS POT-Creation-Date: 2013-04-02 10:33+0200 PO-Revision-Date: 2013-08-20 17:13+0000 Last-Translator: Dmitry Shachnev Language-Team: Russian (http://www.transifex.com/projects/p/sphinx-1/language/ru/) Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Generated-By: Babel 1.3 Базовые классы: %s(использование не рекомендуется) (в %(filename)s — %(docstitle)s%d %B %Y%d %b %Y%s %sДокументация %s %s%s (атрибут %s)%s (атрибут %s.%s)%s (функция C)%s (макроподстановка C)%s (поле C)%s (тип C)%s (переменная C)%s (класс C++)%s (функция C++)%s (поле C++)%s (тип C++)%s (встроенный класс)%s (встроенная переменная)%s (класс в %s)%s (директива)%s (глобальная переменная или константа)%s (в модуле %s)%s (модуль)%s (роль)%s() (метод класса %s)%s() (метод %s)%s() (статический метод %s)%s() (метод класса %s.%s)%s() (метод %s.%s)%s() (статический метод %s.%s)%s() (встроенная функция)%s() (класс)%s() (в модуле %s)Опция командной строки %s; %s© Авторские права %(copyright)s.© Copyright %(copyright)s.(<<Исходный элемент>> находится в %s, в строке %d.)(в %s v%s), в

Все модули, в которых есть код

Исходный код %s

Об этих документахАргументыВниманиеАвтор: Автоматически созданный список изменений в версии %(version)sВстроенные функцииИзменения в API CОсторожноИзменено в версии %sИзменения в версии %(version)s — %(docstitle)sАвтор кода:Свернуть боковую панельПолное оглавлениеСодержаниеПродолжается на следующей страницеАвторские праваСоздано с помощью Sphinx %(sphinx_version)s.ОпасноНе рекомендуетсяНе рекомендуется, начиная с версии %sВведите слова для поиска или имя модуля, класса или функции.ОшибкаРазвернуть боковую панельСноскиЗдесь можно делать поиск по всем разделам этой документации. Введите ключевые слова в текстовое поле и нажмите кнопку «искать». Внимание: будут найдены только те страницы, в которых есть все указанные слова. Страницы, где есть только часть этих слов, отобраны не будут.Полный алфавитный указатель на одной страницеАлфавитный указательАлфавитный указатель модулейИскатьСнять выделениеПодсказкаВажноАлфавитный указательАлфавитный указатель – %(key)sУказатели по буквам алфавитаТаблицы и указатели:Обновлено: %(last_updated)s.Изменения в библиотекеСостав модуляАвтор модуля: Код модуляМодульПросмотрДобавлено в версии %sСледующий разделПримечаниеДругие измененияОбзорОбзор: исходный код модуляПараметрыСсылка на это определениеСсылка на этот заголовокДля работы поиска включите JavaScript в браузере.Подготовка поиска…Предыдущий разделПредложения об улучшениях Python; PEP %sСодержание модулей PythonБыстрый поискИсключениеВыпускТип результатаВозвращает: всегда NULL.Возвращает: заимствованную ссылку.Возвращает: новую ссылку.РезультатПоискПоиск в документе «%(docstitle)s»ПоискРезультаты поискаПоиск завершён, найдено %s страниц, удовлетворяющих запросу.Поиск в документе «%(docstitle)s»Идёт поискАвтор раздела: См.такжеИсходный текстСимволыОглавлениеНа этой страницеБросает исключениеСоветПланПеременныеПредупреждениеДобро пожаловать! ЭтоПо вашему поиску не найдено ни одного документа. Проверьте, что все слова написаны без ошибок, и что вы выбрали достаточно категорий.[документация][иллюстрация: %s][иллюстрация][рисунок: %s][рисунок][исходный код]псевдоним класса :class:`%s`все функции, классы, переменные и константыатрибутбазовая функцияможет быть очень большимклассметод классапродолжение с предыдущей страницыданныедирективапеременная окруженияпеременная окружения; %sисключениефункцияэлемент словарятокен грамматикиуказательключевое словопоследнее изменениесписок всех разделов и подразделовмакросполеметодмодульмодулиследующийследующая главаобъектоператорисходный элементпредыдущийпредыдущая главаопция программысводный список всех модулейтекст ссылкирольискатьпоиск в документациисм. %sтакже см. %sкомандастатический методдокументациятиппеременнаяsphinx-1.2.2+dfsg.orig/sphinx/writers/0000755000000000000000000000000012304560277016417 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/writers/latex.py0000644000000000000000000016167012304557741020123 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.latex ~~~~~~~~~~~~~~~~~~~~ Custom docutils writer for LaTeX. Much of this code is adapted from Dave Kuhlman's "docpy" writer from his docutils sandbox. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys from os import path from docutils import nodes, writers from docutils.writers.latex2e import Babel from sphinx import addnodes from sphinx import highlighting from sphinx.errors import SphinxError from sphinx.locale import admonitionlabels, _ from sphinx.util import split_into from sphinx.util.osutil import ustrftime from sphinx.util.pycompat import any from sphinx.util.texescape import tex_escape_map, tex_replace_map from sphinx.util.smartypants import educate_quotes_latex HEADER = r'''%% Generated by Sphinx. \def\sphinxdocclass{%(docclass)s} \documentclass[%(papersize)s,%(pointsize)s%(classoptions)s]{%(wrapperclass)s} %(inputenc)s %(utf8extra)s %(cmappkg)s %(fontenc)s %(babel)s %(fontpkg)s %(fncychap)s %(longtable)s \usepackage{sphinx} \usepackage{multirow} %(preamble)s \title{%(title)s} \date{%(date)s} \release{%(release)s} \author{%(author)s} \newcommand{\sphinxlogo}{%(logo)s} \renewcommand{\releasename}{%(releasename)s} %(makeindex)s ''' BEGIN_DOC = r''' \begin{document} %(shorthandoff)s %(maketitle)s %(tableofcontents)s ''' FOOTER = r''' \renewcommand{\indexname}{%(indexname)s} %(printindex)s \end{document} ''' class collected_footnote(nodes.footnote): """Footnotes that are collected are assigned this class.""" class UnsupportedError(SphinxError): category = 'Markup is unsupported in LaTeX' class LaTeXWriter(writers.Writer): supported = ('sphinxlatex',) settings_spec = ('LaTeX writer options', '', ( ('Document name', ['--docname'], {'default': ''}), ('Document class', ['--docclass'], {'default': 'manual'}), ('Author', ['--author'], {'default': ''}), )) settings_defaults = {} output = None def __init__(self, builder): writers.Writer.__init__(self) self.builder = builder def translate(self): visitor = LaTeXTranslator(self.document, self.builder) self.document.walkabout(visitor) self.output = visitor.astext() # Helper classes class ExtBabel(Babel): def get_shorthandoff(self): shortlang = self.language.split('_')[0] if shortlang in ('de', 'ngerman', 'sl', 'slovene', 'pt', 'portuges', 'es', 'spanish', 'nl', 'dutch', 'pl', 'polish', 'it', 'italian'): return '\\shorthandoff{"}' return '' def uses_cyrillic(self): shortlang = self.language.split('_')[0] return shortlang in ('bg','bulgarian', 'kk','kazakh', 'mn','mongolian', 'ru','russian', 'uk','ukrainian') # in latest trunk, the attribute is called Babel.language_codes and already # includes Slovene if hasattr(Babel, '_ISO639_TO_BABEL'): Babel._ISO639_TO_BABEL['sl'] = 'slovene' class Table(object): def __init__(self): self.col = 0 self.colcount = 0 self.colspec = None self.rowcount = 0 self.had_head = False self.has_problematic = False self.has_verbatim = False self.caption = None self.longtable = False class LaTeXTranslator(nodes.NodeVisitor): sectionnames = ["part", "chapter", "section", "subsection", "subsubsection", "paragraph", "subparagraph"] ignore_missing_images = False default_elements = { 'papersize': 'letterpaper', 'pointsize': '10pt', 'classoptions': '', 'extraclassoptions': '', 'inputenc': '\\usepackage[utf8]{inputenc}', 'utf8extra': '\\DeclareUnicodeCharacter{00A0}{\\nobreakspace}', 'cmappkg': '\\usepackage{cmap}', 'fontenc': '\\usepackage[T1]{fontenc}', 'babel': '\\usepackage{babel}', 'fontpkg': '\\usepackage{times}', 'fncychap': '\\usepackage[Bjarne]{fncychap}', 'longtable': '\\usepackage{longtable}', 'preamble': '', 'title': '', 'date': '', 'release': '', 'author': '', 'logo': '', 'releasename': 'Release', 'makeindex': '\\makeindex', 'shorthandoff': '', 'maketitle': '\\maketitle', 'tableofcontents': '\\tableofcontents', 'footer': '', 'printindex': '\\printindex', 'transition': '\n\n\\bigskip\\hrule{}\\bigskip\n\n', } # sphinx specific document classes docclasses = ('howto', 'manual') def __init__(self, document, builder): nodes.NodeVisitor.__init__(self, document) self.builder = builder self.body = [] # sort out some elements papersize = builder.config.latex_paper_size + 'paper' if papersize == 'paper': # e.g. command line "-D latex_paper_size=" papersize = 'letterpaper' self.elements = self.default_elements.copy() self.elements.update({ 'wrapperclass': self.format_docclass(document.settings.docclass), 'papersize': papersize, 'pointsize': builder.config.latex_font_size, # if empty, the title is set to the first section title 'title': document.settings.title, 'release': builder.config.release, 'author': document.settings.author, 'releasename': _('Release'), 'preamble': builder.config.latex_preamble, 'indexname': _('Index'), }) if document.settings.docclass == 'howto': docclass = builder.config.latex_docclass.get('howto', 'article') else: docclass = builder.config.latex_docclass.get('manual', 'report') self.elements['docclass'] = docclass if builder.config.today: self.elements['date'] = builder.config.today else: self.elements['date'] = ustrftime(builder.config.today_fmt or _('%B %d, %Y')) if builder.config.latex_logo: self.elements['logo'] = '\\includegraphics{%s}\\par' % \ path.basename(builder.config.latex_logo) if builder.config.language: babel = ExtBabel(builder.config.language) lang = babel.get_language() if lang: self.elements['classoptions'] += ',' + babel.get_language() else: self.builder.warn('no Babel option known for language %r' % builder.config.language) self.elements['shorthandoff'] = babel.get_shorthandoff() self.elements['fncychap'] = '\\usepackage[Sonny]{fncychap}' # Times fonts don't work with Cyrillic languages if babel.uses_cyrillic(): self.elements['fontpkg'] = '' # pTeX (Japanese TeX) for support if builder.config.language == 'ja': # use dvipdfmx as default class option in Japanese self.elements['classoptions'] = ',dvipdfmx' # disable babel which has not publishing quality in Japanese self.elements['babel'] = '' # disable fncychap in Japanese documents self.elements['fncychap'] = '' else: self.elements['classoptions'] += ',english' # allow the user to override them all self.elements.update(builder.config.latex_elements) if self.elements['extraclassoptions']: self.elements['classoptions'] += ',' + \ self.elements['extraclassoptions'] self.highlighter = highlighting.PygmentsBridge('latex', builder.config.pygments_style, builder.config.trim_doctest_flags) self.context = [] self.descstack = [] self.bibitems = [] self.table = None self.next_table_colspec = None # stack of [language, linenothreshold] settings per file # the first item here is the default and must not be changed # the second item is the default for the master file and can be changed # by .. highlight:: directive in the master file self.hlsettingstack = 2 * [[builder.config.highlight_language, sys.maxint]] self.footnotestack = [] self.curfilestack = [] self.handled_abbrs = set() if document.settings.docclass == 'howto': self.top_sectionlevel = 2 else: if builder.config.latex_use_parts: self.top_sectionlevel = 0 else: self.top_sectionlevel = 1 self.next_section_ids = set() self.next_figure_ids = set() self.next_table_ids = set() # flags self.in_title = 0 self.in_production_list = 0 self.in_footnote = 0 self.in_caption = 0 self.first_document = 1 self.this_is_the_title = 1 self.literal_whitespace = 0 self.no_contractions = 0 self.compact_list = 0 self.first_param = 0 self.previous_spanning_row = 0 self.previous_spanning_column = 0 self.remember_multirow = {} def format_docclass(self, docclass): """ prepends prefix to sphinx document classes """ if docclass in self.docclasses: docclass = 'sphinx' + docclass return docclass def astext(self): return (HEADER % self.elements + self.highlighter.get_stylesheet() + u''.join(self.body) + '\n' + self.elements['footer'] + '\n' + self.generate_indices() + FOOTER % self.elements) def hypertarget(self, id, withdoc=True, anchor=True): if withdoc: id = self.curfilestack[-1] + ':' + id return (anchor and '\\phantomsection' or '') + \ '\\label{%s}' % self.idescape(id) def hyperlink(self, id): return '{\\hyperref[%s]{' % self.idescape(id) def hyperpageref(self, id): return '\\autopageref*{%s}' % self.idescape(id) def idescape(self, id): return unicode(id).translate(tex_replace_map).\ encode('ascii', 'backslashreplace').decode('ascii').\ replace('\\', '_') def generate_indices(self): def generate(content, collapsed): ret.append('\\begin{theindex}\n') ret.append('\\def\\bigletter#1{{\\Large\\sffamily#1}' '\\nopagebreak\\vspace{1mm}}\n') for i, (letter, entries) in enumerate(content): if i > 0: ret.append('\\indexspace\n') ret.append('\\bigletter{%s}\n' % unicode(letter).translate(tex_escape_map)) for entry in entries: if not entry[3]: continue ret.append('\\item {\\texttt{%s}}' % self.encode(entry[0])) if entry[4]: # add "extra" info ret.append(' \\emph{(%s)}' % self.encode(entry[4])) ret.append(', \\pageref{%s:%s}\n' % (entry[2], self.idescape(entry[3]))) ret.append('\\end{theindex}\n') ret = [] # latex_domain_indices can be False/True or a list of index names indices_config = self.builder.config.latex_domain_indices if indices_config: for domain in self.builder.env.domains.itervalues(): for indexcls in domain.indices: indexname = '%s-%s' % (domain.name, indexcls.name) if isinstance(indices_config, list): if indexname not in indices_config: continue # deprecated config value if indexname == 'py-modindex' and \ not self.builder.config.latex_use_modindex: continue content, collapsed = indexcls(domain).generate( self.builder.docnames) if not content: continue ret.append(u'\\renewcommand{\\indexname}{%s}\n' % indexcls.localname) generate(content, collapsed) return ''.join(ret) def visit_document(self, node): self.footnotestack.append(self.collect_footnotes(node)) self.curfilestack.append(node.get('docname', '')) if self.first_document == 1: # the first document is all the regular content ... self.body.append(BEGIN_DOC % self.elements) self.first_document = 0 elif self.first_document == 0: # ... and all others are the appendices self.body.append(u'\n\\appendix\n') self.first_document = -1 if 'docname' in node: self.body.append(self.hypertarget(':doc')) # "- 1" because the level is increased before the title is visited self.sectionlevel = self.top_sectionlevel - 1 def depart_document(self, node): if self.bibitems: widest_label = "" for bi in self.bibitems: if len(widest_label) < len(bi[0]): widest_label = bi[0] self.body.append(u'\n\\begin{thebibliography}{%s}\n' % widest_label) for bi in self.bibitems: target = self.hypertarget(bi[2] + ':' + bi[3], withdoc=False) self.body.append(u'\\bibitem[%s]{%s}{%s %s}\n' % (bi[0], self.idescape(bi[0]), target, bi[1])) self.body.append(u'\\end{thebibliography}\n') self.bibitems = [] def visit_start_of_file(self, node): # collect new footnotes self.footnotestack.append(self.collect_footnotes(node)) # also add a document target self.next_section_ids.add(':doc') self.curfilestack.append(node['docname']) # use default highlight settings for new file self.hlsettingstack.append(self.hlsettingstack[0]) def collect_footnotes(self, node): fnotes = {} def footnotes_under(n): if isinstance(n, nodes.footnote): yield n else: for c in n.children: if isinstance(c, addnodes.start_of_file): continue for k in footnotes_under(c): yield k for fn in footnotes_under(node): num = fn.children[0].astext().strip() fnotes[num] = [collected_footnote(*fn.children), False] return fnotes def depart_start_of_file(self, node): self.footnotestack.pop() self.curfilestack.pop() self.hlsettingstack.pop() def visit_highlightlang(self, node): self.hlsettingstack[-1] = [node['lang'], node['linenothreshold']] raise nodes.SkipNode def visit_section(self, node): if not self.this_is_the_title: self.sectionlevel += 1 self.body.append('\n\n') if node.get('ids'): self.next_section_ids.update(node['ids']) def depart_section(self, node): self.sectionlevel = max(self.sectionlevel - 1, self.top_sectionlevel - 1) def visit_problematic(self, node): self.body.append(r'{\color{red}\bfseries{}') def depart_problematic(self, node): self.body.append('}') def visit_topic(self, node): self.body.append('\\setbox0\\vbox{\n' '\\begin{minipage}{0.95\\linewidth}\n') def depart_topic(self, node): self.body.append('\\end{minipage}}\n' '\\begin{center}\\setlength{\\fboxsep}{5pt}' '\\shadowbox{\\box0}\\end{center}\n') visit_sidebar = visit_topic depart_sidebar = depart_topic def visit_glossary(self, node): pass def depart_glossary(self, node): pass def visit_productionlist(self, node): self.body.append('\n\n\\begin{productionlist}\n') self.in_production_list = 1 def depart_productionlist(self, node): self.body.append('\\end{productionlist}\n\n') self.in_production_list = 0 def visit_production(self, node): if node['tokenname']: tn = node['tokenname'] self.body.append(self.hypertarget('grammar-token-' + tn)) self.body.append('\\production{%s}{' % self.encode(tn)) else: self.body.append('\\productioncont{') def depart_production(self, node): self.body.append('}\n') def visit_transition(self, node): self.body.append(self.elements['transition']) def depart_transition(self, node): pass def visit_title(self, node): parent = node.parent if isinstance(parent, addnodes.seealso): # the environment already handles this raise nodes.SkipNode elif self.this_is_the_title: if len(node.children) != 1 and not isinstance(node.children[0], nodes.Text): self.builder.warn('document title is not a single Text node', (self.curfilestack[-1], node.line)) if not self.elements['title']: # text needs to be escaped since it is inserted into # the output literally self.elements['title'] = node.astext().translate(tex_escape_map) self.this_is_the_title = 0 raise nodes.SkipNode elif isinstance(parent, nodes.section): try: self.body.append(r'\%s{' % self.sectionnames[self.sectionlevel]) except IndexError: # just use "subparagraph", it's not numbered anyway self.body.append(r'\%s{' % self.sectionnames[-1]) self.context.append('}\n') if self.next_section_ids: for id in self.next_section_ids: self.context[-1] += self.hypertarget(id, anchor=False) self.next_section_ids.clear() elif isinstance(parent, (nodes.topic, nodes.sidebar)): self.body.append(r'\textbf{') self.context.append('}\n\n\medskip\n\n') elif isinstance(parent, nodes.Admonition): self.body.append('{') self.context.append('}\n') elif isinstance(parent, nodes.table): self.table.caption = self.encode(node.astext()) raise nodes.SkipNode else: self.builder.warn( 'encountered title node not in section, topic, table, ' 'admonition or sidebar', (self.curfilestack[-1], node.line or '')) self.body.append('\\textbf{') self.context.append('}\n') self.in_title = 1 def depart_title(self, node): self.in_title = 0 self.body.append(self.context.pop()) def visit_subtitle(self, node): if isinstance(node.parent, nodes.sidebar): self.body.append('~\\\\\n\\textbf{') self.context.append('}\n\\smallskip\n') else: self.context.append('') def depart_subtitle(self, node): self.body.append(self.context.pop()) def visit_desc(self, node): self.body.append('\n\n\\begin{fulllineitems}\n') if self.table: self.table.has_problematic = True def depart_desc(self, node): self.body.append('\n\\end{fulllineitems}\n\n') def visit_desc_signature(self, node): if node.parent['objtype'] != 'describe' and node['ids']: hyper = self.hypertarget(node['ids'][0]) else: hyper = '' self.body.append(hyper) for child in node: if isinstance(child, addnodes.desc_parameterlist): self.body.append(r'\pysiglinewithargsret{') break else: self.body.append(r'\pysigline{') def depart_desc_signature(self, node): self.body.append('}') def visit_desc_addname(self, node): self.body.append(r'\code{') self.literal_whitespace += 1 def depart_desc_addname(self, node): self.body.append('}') self.literal_whitespace -= 1 def visit_desc_type(self, node): pass def depart_desc_type(self, node): pass def visit_desc_returns(self, node): self.body.append(r'{ $\rightarrow$ ') def depart_desc_returns(self, node): self.body.append(r'}') def visit_desc_name(self, node): self.body.append(r'\bfcode{') self.no_contractions += 1 self.literal_whitespace += 1 def depart_desc_name(self, node): self.body.append('}') self.literal_whitespace -= 1 self.no_contractions -= 1 def visit_desc_parameterlist(self, node): # close name, open parameterlist self.body.append('}{') self.first_param = 1 def depart_desc_parameterlist(self, node): # close parameterlist, open return annotation self.body.append('}{') def visit_desc_parameter(self, node): if not self.first_param: self.body.append(', ') else: self.first_param = 0 if not node.hasattr('noemph'): self.body.append(r'\emph{') def depart_desc_parameter(self, node): if not node.hasattr('noemph'): self.body.append('}') def visit_desc_optional(self, node): self.body.append(r'\optional{') def depart_desc_optional(self, node): self.body.append('}') def visit_desc_annotation(self, node): self.body.append(r'\strong{') def depart_desc_annotation(self, node): self.body.append('}') def visit_desc_content(self, node): if node.children and not isinstance(node.children[0], nodes.paragraph): # avoid empty desc environment which causes a formatting bug self.body.append('~') def depart_desc_content(self, node): pass def visit_seealso(self, node): self.body.append(u'\n\n\\strong{%s:}\n\n' % admonitionlabels['seealso']) def depart_seealso(self, node): self.body.append("\n\n") def visit_rubric(self, node): if len(node.children) == 1 and node.children[0].astext() in \ ('Footnotes', _('Footnotes')): raise nodes.SkipNode self.body.append('\\paragraph{') self.context.append('}\n') def depart_rubric(self, node): self.body.append(self.context.pop()) def visit_footnote(self, node): raise nodes.SkipNode def visit_collected_footnote(self, node): self.in_footnote += 1 self.body.append('\\footnote{') def depart_collected_footnote(self, node): self.body.append('}') self.in_footnote -= 1 def visit_label(self, node): if isinstance(node.parent, nodes.citation): self.bibitems[-1][0] = node.astext() self.bibitems[-1][2] = self.curfilestack[-1] self.bibitems[-1][3] = node.parent['ids'][0] raise nodes.SkipNode def visit_tabular_col_spec(self, node): self.next_table_colspec = node['spec'] raise nodes.SkipNode def visit_table(self, node): if self.table: raise UnsupportedError( '%s:%s: nested tables are not yet implemented.' % (self.curfilestack[-1], node.line or '')) self.table = Table() self.table.longtable = 'longtable' in node['classes'] self.tablebody = [] self.tableheaders = [] # Redirect body output until table is finished. self._body = self.body self.body = self.tablebody def depart_table(self, node): if self.table.rowcount > 30: self.table.longtable = True self.body = self._body if not self.table.longtable and self.table.caption is not None: self.body.append(u'\n\n\\begin{threeparttable}\n' u'\\capstart\\caption{%s}\n' % self.table.caption) if self.table.longtable: self.body.append('\n\\begin{longtable}') endmacro = '\\end{longtable}\n\n' elif self.table.has_verbatim: self.body.append('\n\\begin{tabular}') endmacro = '\\end{tabular}\n\n' elif self.table.has_problematic and not self.table.colspec: # if the user has given us tabularcolumns, accept them and use # tabulary nevertheless self.body.append('\n\\begin{tabular}') endmacro = '\\end{tabular}\n\n' else: self.body.append('\n\\begin{tabulary}{\\linewidth}') endmacro = '\\end{tabulary}\n\n' if self.table.colspec: self.body.append(self.table.colspec) else: if self.table.has_problematic: colwidth = 0.95 / self.table.colcount colspec = ('p{%.3f\\linewidth}|' % colwidth) * \ self.table.colcount self.body.append('{|' + colspec + '}\n') elif self.table.longtable: self.body.append('{|' + ('l|' * self.table.colcount) + '}\n') else: self.body.append('{|' + ('L|' * self.table.colcount) + '}\n') if self.table.longtable and self.table.caption is not None: self.body.append(u'\\caption{%s} \\\\\n' % self.table.caption) if self.table.caption is not None: for id in self.next_table_ids: self.body.append(self.hypertarget(id, anchor=False)) self.next_table_ids.clear() if self.table.longtable: self.body.append('\\hline\n') self.body.extend(self.tableheaders) self.body.append('\\endfirsthead\n\n') self.body.append('\\multicolumn{%s}{c}%%\n' % self.table.colcount) self.body.append(r'{{\textsf{\tablename\ \thetable{} -- %s}}} \\' % _('continued from previous page')) self.body.append('\n\\hline\n') self.body.extend(self.tableheaders) self.body.append('\\endhead\n\n') self.body.append(ur'\hline \multicolumn{%s}{|r|}{{\textsf{%s}}} \\ \hline' % (self.table.colcount, _('Continued on next page'))) self.body.append('\n\\endfoot\n\n') self.body.append('\\endlastfoot\n\n') else: self.body.append('\\hline\n') self.body.extend(self.tableheaders) self.body.extend(self.tablebody) self.body.append(endmacro) if not self.table.longtable and self.table.caption is not None: self.body.append('\\end{threeparttable}\n\n') self.table = None self.tablebody = None def visit_colspec(self, node): self.table.colcount += 1 def depart_colspec(self, node): pass def visit_tgroup(self, node): pass def depart_tgroup(self, node): pass def visit_thead(self, node): self.table.had_head = True if self.next_table_colspec: self.table.colspec = '{%s}\n' % self.next_table_colspec self.next_table_colspec = None # Redirect head output until header is finished. see visit_tbody. self.body = self.tableheaders def depart_thead(self, node): self.body.append('\\hline') def visit_tbody(self, node): if not self.table.had_head: self.visit_thead(node) self.body = self.tablebody def depart_tbody(self, node): self.body.append('\\hline') def visit_row(self, node): self.table.col = 0 def depart_row(self, node): if self.previous_spanning_row == 1: self.previous_spanning_row = 0 self.body.append('\\\\\n') self.table.rowcount += 1 def visit_entry(self, node): if self.table.col > 0: self.body.append(' & ') elif self.remember_multirow.get(1, 0) > 1: self.remember_multirow[1] -= 1 self.body.append(' & ') self.table.col += 1 context = '' if 'morerows' in node: self.body.append(' \multirow{') self.previous_spanning_row = 1 self.body.append(str(node.get('morerows') + 1)) self.body.append('}{*}{') context += '}' self.remember_multirow[self.table.col] = node.get('morerows') + 1 if 'morecols' in node: self.body.append(' \multicolumn{') self.body.append(str(node.get('morecols') + 1)) if self.table.col == 1: self.body.append('}{|l|}{') else: self.body.append('}{l|}{') context += '}' if isinstance(node.parent.parent, nodes.thead): self.body.append('\\textsf{\\relax ') context += '}' if self.remember_multirow.get(self.table.col + 1, 0) > 1: self.remember_multirow[self.table.col + 1] -= 1 context += ' & ' self.context.append(context) def depart_entry(self, node): self.body.append(self.context.pop()) # header def visit_acks(self, node): # this is a list in the source, but should be rendered as a # comma-separated list here self.body.append('\n\n') self.body.append(', '.join(n.astext() for n in node.children[0].children) + '.') self.body.append('\n\n') raise nodes.SkipNode def visit_bullet_list(self, node): if not self.compact_list: self.body.append('\\begin{itemize}\n' ) if self.table: self.table.has_problematic = True def depart_bullet_list(self, node): if not self.compact_list: self.body.append('\\end{itemize}\n' ) def visit_enumerated_list(self, node): self.body.append('\\begin{enumerate}\n' ) if 'start' in node: self.body.append('\\setcounter{enumi}{%d}\n' % (node['start'] - 1)) if self.table: self.table.has_problematic = True def depart_enumerated_list(self, node): self.body.append('\\end{enumerate}\n' ) def visit_list_item(self, node): # Append "{}" in case the next character is "[", which would break # LaTeX's list environment (no numbering and the "[" is not printed). self.body.append(r'\item {} ') def depart_list_item(self, node): self.body.append('\n') def visit_definition_list(self, node): self.body.append('\\begin{description}\n') if self.table: self.table.has_problematic = True def depart_definition_list(self, node): self.body.append('\\end{description}\n') def visit_definition_list_item(self, node): pass def depart_definition_list_item(self, node): pass def visit_term(self, node): ctx = '}] \\leavevmode' if node.get('ids'): ctx += self.hypertarget(node['ids'][0]) self.body.append('\\item[{') self.context.append(ctx) def depart_term(self, node): self.body.append(self.context.pop()) def visit_termsep(self, node): self.body.append(', ') raise nodes.SkipNode def visit_classifier(self, node): self.body.append('{[}') def depart_classifier(self, node): self.body.append('{]}') def visit_definition(self, node): pass def depart_definition(self, node): self.body.append('\n') def visit_field_list(self, node): self.body.append('\\begin{quote}\\begin{description}\n') if self.table: self.table.has_problematic = True def depart_field_list(self, node): self.body.append('\\end{description}\\end{quote}\n') def visit_field(self, node): pass def depart_field(self, node): pass visit_field_name = visit_term depart_field_name = depart_term visit_field_body = visit_definition depart_field_body = depart_definition def visit_paragraph(self, node): self.body.append('\n') def depart_paragraph(self, node): self.body.append('\n') def visit_centered(self, node): self.body.append('\n\\begin{center}') if self.table: self.table.has_problematic = True def depart_centered(self, node): self.body.append('\n\\end{center}') def visit_hlist(self, node): # for now, we don't support a more compact list format # don't add individual itemize environments, but one for all columns self.compact_list += 1 self.body.append('\\begin{itemize}\\setlength{\\itemsep}{0pt}' '\\setlength{\\parskip}{0pt}\n') if self.table: self.table.has_problematic = True def depart_hlist(self, node): self.compact_list -= 1 self.body.append('\\end{itemize}\n') def visit_hlistcol(self, node): pass def depart_hlistcol(self, node): pass def latex_image_length(self, width_str): match = re.match('(\d*\.?\d*)\s*(\S*)', width_str) if not match: # fallback return width_str res = width_str amount, unit = match.groups()[:2] if not unit or unit == "px": # pixels: let LaTeX alone return None elif unit == "%": res = "%.3f\\linewidth" % (float(amount) / 100.0) return res def is_inline(self, node): """Check whether a node represents an inline element.""" return isinstance(node.parent, nodes.TextElement) def visit_image(self, node): attrs = node.attributes pre = [] # in reverse order post = [] include_graphics_options = [] is_inline = self.is_inline(node) if 'scale' in attrs: # Could also be done with ``scale`` option to # ``\includegraphics``; doing it this way for consistency. pre.append('\\scalebox{%f}{' % (attrs['scale'] / 100.0,)) post.append('}') if 'width' in attrs: w = self.latex_image_length(attrs['width']) if w: include_graphics_options.append('width=%s' % w) if 'height' in attrs: h = self.latex_image_length(attrs['height']) if h: include_graphics_options.append('height=%s' % h) if 'align' in attrs: align_prepost = { # By default latex aligns the top of an image. (1, 'top'): ('', ''), (1, 'middle'): ('\\raisebox{-0.5\\height}{', '}'), (1, 'bottom'): ('\\raisebox{-\\height}{', '}'), (0, 'center'): ('{\\hfill', '\\hfill}'), # These 2 don't exactly do the right thing. The image should # be floated alongside the paragraph. See # http://www.w3.org/TR/html4/struct/objects.html#adef-align-IMG (0, 'left'): ('{', '\\hfill}'), (0, 'right'): ('{\\hfill', '}'),} try: pre.append(align_prepost[is_inline, attrs['align']][0]) post.append(align_prepost[is_inline, attrs['align']][1]) except KeyError: pass if not is_inline: pre.append('\n') post.append('\n') pre.reverse() if node['uri'] in self.builder.images: uri = self.builder.images[node['uri']] else: # missing image! if self.ignore_missing_images: return uri = node['uri'] if uri.find('://') != -1: # ignore remote images return self.body.extend(pre) options = '' if include_graphics_options: options = '[%s]' % ','.join(include_graphics_options) self.body.append('\\includegraphics%s{%s}' % (options, uri)) self.body.extend(post) def depart_image(self, node): pass def visit_figure(self, node): ids = '' for id in self.next_figure_ids: ids += self.hypertarget(id, anchor=False) self.next_figure_ids.clear() if 'width' in node and node.get('align', '') in ('left', 'right'): self.body.append('\\begin{wrapfigure}{%s}{%s}\n\\centering' % (node['align'] == 'right' and 'r' or 'l', node['width'])) self.context.append(ids + '\\end{wrapfigure}\n') else: if (not 'align' in node.attributes or node.attributes['align'] == 'center'): # centering does not add vertical space like center. align = '\n\\centering' align_end = '' else: # TODO non vertical space for other alignments. align = '\\begin{flush%s}' % node.attributes['align'] align_end = '\\end{flush%s}' % node.attributes['align'] self.body.append('\\begin{figure}[htbp]%s\n' % align) if any(isinstance(child, nodes.caption) for child in node): self.body.append('\\capstart\n') self.context.append(ids + align_end + '\\end{figure}\n') def depart_figure(self, node): self.body.append(self.context.pop()) def visit_caption(self, node): self.in_caption += 1 self.body.append('\\caption{') def depart_caption(self, node): self.body.append('}') self.in_caption -= 1 def visit_legend(self, node): self.body.append('{\\small ') def depart_legend(self, node): self.body.append('}') def visit_admonition(self, node): self.body.append('\n\\begin{notice}{note}') def depart_admonition(self, node): self.body.append('\\end{notice}\n') def _make_visit_admonition(name): def visit_admonition(self, node): self.body.append(u'\n\\begin{notice}{%s}{%s:}' % (name, admonitionlabels[name])) return visit_admonition def _depart_named_admonition(self, node): self.body.append('\\end{notice}\n') visit_attention = _make_visit_admonition('attention') depart_attention = _depart_named_admonition visit_caution = _make_visit_admonition('caution') depart_caution = _depart_named_admonition visit_danger = _make_visit_admonition('danger') depart_danger = _depart_named_admonition visit_error = _make_visit_admonition('error') depart_error = _depart_named_admonition visit_hint = _make_visit_admonition('hint') depart_hint = _depart_named_admonition visit_important = _make_visit_admonition('important') depart_important = _depart_named_admonition visit_note = _make_visit_admonition('note') depart_note = _depart_named_admonition visit_tip = _make_visit_admonition('tip') depart_tip = _depart_named_admonition visit_warning = _make_visit_admonition('warning') depart_warning = _depart_named_admonition def visit_versionmodified(self, node): pass def depart_versionmodified(self, node): pass def visit_target(self, node): def add_target(id): # indexing uses standard LaTeX index markup, so the targets # will be generated differently if id.startswith('index-'): return # do not generate \phantomsection in \section{} anchor = not self.in_title self.body.append(self.hypertarget(id, anchor=anchor)) # postpone the labels until after the sectioning command parindex = node.parent.index(node) try: try: next = node.parent[parindex+1] except IndexError: # last node in parent, look at next after parent # (for section of equal level) if it exists if node.parent.parent is not None: next = node.parent.parent[ node.parent.parent.index(node.parent)] else: raise if isinstance(next, nodes.section): if node.get('refid'): self.next_section_ids.add(node['refid']) self.next_section_ids.update(node['ids']) return elif isinstance(next, nodes.figure): # labels for figures go in the figure body, not before if node.get('refid'): self.next_figure_ids.add(node['refid']) self.next_figure_ids.update(node['ids']) return elif isinstance(next, nodes.table): # same for tables, but only if they have a caption for n in node: if isinstance(n, nodes.title): if node.get('refid'): self.next_table_ids.add(node['refid']) self.next_table_ids.update(node['ids']) return except IndexError: pass if 'refuri' in node: return if node.get('refid'): add_target(node['refid']) for id in node['ids']: add_target(id) def depart_target(self, node): pass def visit_attribution(self, node): self.body.append('\n\\begin{flushright}\n') self.body.append('---') def depart_attribution(self, node): self.body.append('\n\\end{flushright}\n') def visit_index(self, node, scre=re.compile(r';\s*')): if not node.get('inline', True): self.body.append('\n') entries = node['entries'] for type, string, tid, ismain in entries: m = '' if ismain: m = '|textbf' try: if type == 'single': p = scre.sub('!', self.encode(string)) self.body.append(r'\index{%s%s}' % (p, m)) elif type == 'pair': p1, p2 = map(self.encode, split_into(2, 'pair', string)) self.body.append(r'\index{%s!%s%s}\index{%s!%s%s}' % (p1, p2, m, p2, p1, m)) elif type == 'triple': p1, p2, p3 = map(self.encode, split_into(3, 'triple', string)) self.body.append( r'\index{%s!%s %s%s}\index{%s!%s, %s%s}' r'\index{%s!%s %s%s}' % (p1, p2, p3, m, p2, p3, p1, m, p3, p1, p2, m)) elif type == 'see': p1, p2 = map(self.encode, split_into(2, 'see', string)) self.body.append(r'\index{%s|see{%s}}' % (p1, p2)) elif type == 'seealso': p1, p2 = map(self.encode, split_into(2, 'seealso', string)) self.body.append(r'\index{%s|see{%s}}' % (p1, p2)) else: self.builder.warn( 'unknown index entry type %s found' % type) except ValueError, err: self.builder.warn(str(err)) raise nodes.SkipNode def visit_raw(self, node): if 'latex' in node.get('format', '').split(): self.body.append(node.astext()) raise nodes.SkipNode def visit_reference(self, node): uri = node.get('refuri', '') if not uri and node.get('refid'): uri = '%' + self.curfilestack[-1] + '#' + node['refid'] if self.in_title or not uri: self.context.append('') elif uri.startswith('mailto:') or uri.startswith('http:') or \ uri.startswith('https:') or uri.startswith('ftp:'): self.body.append('\\href{%s}{' % self.encode_uri(uri)) # if configured, put the URL after the link show_urls = self.builder.config.latex_show_urls if node.astext() != uri and show_urls and show_urls != 'no': if uri.startswith('mailto:'): uri = uri[7:] if show_urls == 'footnote' and not \ (self.in_footnote or self.in_caption): # obviously, footnotes in footnotes are not going to work self.context.append( r'}\footnote{%s}' % self.encode_uri(uri)) else: # all other true values (b/w compat) self.context.append('} (%s)' % self.encode_uri(uri)) else: self.context.append('}') elif uri.startswith('#'): # references to labels in the same document id = self.curfilestack[-1] + ':' + uri[1:] self.body.append(self.hyperlink(id)) if self.builder.config.latex_show_pagerefs and not \ self.in_production_list: self.context.append('}} (%s)' % self.hyperpageref(id)) else: self.context.append('}}') elif uri.startswith('%'): # references to documents or labels inside documents hashindex = uri.find('#') if hashindex == -1: # reference to the document id = uri[1:] + '::doc' else: # reference to a label id = uri[1:].replace('#', ':') self.body.append(self.hyperlink(id)) if len(node) and hasattr(node[0], 'attributes') and \ 'std-term' in node[0].get('classes', []): # don't add a pageref for glossary terms self.context.append('}}') else: if self.builder.config.latex_show_pagerefs: self.context.append('}} (%s)' % self.hyperpageref(id)) else: self.context.append('}}') else: self.builder.warn('unusable reference target found: %s' % uri, (self.curfilestack[-1], node.line)) self.context.append('') def depart_reference(self, node): self.body.append(self.context.pop()) def visit_download_reference(self, node): pass def depart_download_reference(self, node): pass def visit_pending_xref(self, node): pass def depart_pending_xref(self, node): pass def visit_emphasis(self, node): self.body.append(r'\emph{') def depart_emphasis(self, node): self.body.append('}') def visit_literal_emphasis(self, node): self.body.append(r'\emph{\texttt{') self.no_contractions += 1 def depart_literal_emphasis(self, node): self.body.append('}}') self.no_contractions -= 1 def visit_strong(self, node): self.body.append(r'\textbf{') def depart_strong(self, node): self.body.append('}') def visit_abbreviation(self, node): abbr = node.astext() self.body.append(r'\textsc{') # spell out the explanation once if node.hasattr('explanation') and abbr not in self.handled_abbrs: self.context.append('} (%s)' % self.encode(node['explanation'])) self.handled_abbrs.add(abbr) else: self.context.append('}') def depart_abbreviation(self, node): self.body.append(self.context.pop()) def visit_title_reference(self, node): self.body.append(r'\emph{') def depart_title_reference(self, node): self.body.append('}') def visit_citation(self, node): # TODO maybe use cite bibitems # bibitem: [citelabel, citetext, docname, citeid] self.bibitems.append(['', '', '', '']) self.context.append(len(self.body)) def depart_citation(self, node): size = self.context.pop() text = ''.join(self.body[size:]) del self.body[size:] self.bibitems[-1][1] = text def visit_citation_reference(self, node): # This is currently never encountered, since citation_reference nodes # are already replaced by pending_xref nodes in the environment. self.body.append('\\cite{%s}' % self.idescape(node.astext())) raise nodes.SkipNode def visit_literal(self, node): self.no_contractions += 1 if self.in_title: self.body.append(r'\texttt{') else: self.body.append(r'\code{') def depart_literal(self, node): self.no_contractions -= 1 self.body.append('}') def visit_footnote_reference(self, node): num = node.astext().strip() try: footnode, used = self.footnotestack[-1][num] except (KeyError, IndexError): raise nodes.SkipNode # if a footnote has been inserted once, it shouldn't be repeated # by the next reference if used: self.body.append('\\footnotemark[%s]' % num) else: if self.in_caption: raise UnsupportedError('%s:%s: footnotes in float captions ' 'are not supported by LaTeX' % (self.curfilestack[-1], node.line)) footnode.walkabout(self) self.footnotestack[-1][num][1] = True raise nodes.SkipChildren def depart_footnote_reference(self, node): pass def visit_literal_block(self, node): if self.in_footnote: raise UnsupportedError('%s:%s: literal blocks in footnotes are ' 'not supported by LaTeX' % (self.curfilestack[-1], node.line)) if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight self.body.append('\\begin{alltt}\n') else: code = node.astext().rstrip('\n') lang = self.hlsettingstack[-1][0] linenos = code.count('\n') >= self.hlsettingstack[-1][1] - 1 highlight_args = node.get('highlight_args', {}) if 'language' in node: # code-block directives lang = node['language'] highlight_args['force'] = True if 'linenos' in node: linenos = node['linenos'] def warner(msg): self.builder.warn(msg, (self.curfilestack[-1], node.line)) hlcode = self.highlighter.highlight_block(code, lang, warn=warner, linenos=linenos, **highlight_args) # workaround for Unicode issue hlcode = hlcode.replace(u'€', u'@texteuro[]') # must use original Verbatim environment and "tabular" environment if self.table: hlcode = hlcode.replace('\\begin{Verbatim}', '\\begin{OriginalVerbatim}') self.table.has_problematic = True self.table.has_verbatim = True # get consistent trailer hlcode = hlcode.rstrip()[:-14] # strip \end{Verbatim} hlcode = hlcode.rstrip() + '\n' self.body.append('\n' + hlcode + '\\end{%sVerbatim}\n' % (self.table and 'Original' or '')) raise nodes.SkipNode def depart_literal_block(self, node): self.body.append('\n\\end{alltt}\n') visit_doctest_block = visit_literal_block depart_doctest_block = depart_literal_block def visit_line(self, node): self.body.append('\item[] ') def depart_line(self, node): self.body.append('\n') def visit_line_block(self, node): if isinstance(node.parent, nodes.line_block): self.body.append('\\item[]\n' '\\begin{DUlineblock}{\\DUlineblockindent}\n') else: self.body.append('\n\\begin{DUlineblock}{0em}\n') if self.table: self.table.has_problematic = True def depart_line_block(self, node): self.body.append('\\end{DUlineblock}\n') def visit_block_quote(self, node): # If the block quote contains a single object and that object # is a list, then generate a list not a block quote. # This lets us indent lists. done = 0 if len(node.children) == 1: child = node.children[0] if isinstance(child, nodes.bullet_list) or \ isinstance(child, nodes.enumerated_list): done = 1 if not done: self.body.append('\\begin{quote}\n') if self.table: self.table.has_problematic = True def depart_block_quote(self, node): done = 0 if len(node.children) == 1: child = node.children[0] if isinstance(child, nodes.bullet_list) or \ isinstance(child, nodes.enumerated_list): done = 1 if not done: self.body.append('\\end{quote}\n') # option node handling copied from docutils' latex writer def visit_option(self, node): if self.context[-1]: # this is not the first option self.body.append(', ') def depart_option(self, node): # flag that the first option is done. self.context[-1] += 1 def visit_option_argument(self, node): """The delimiter betweeen an option and its argument.""" self.body.append(node.get('delimiter', ' ')) def depart_option_argument(self, node): pass def visit_option_group(self, node): self.body.append('\\item [') # flag for first option self.context.append(0) def depart_option_group(self, node): self.context.pop() # the flag self.body.append('] ') def visit_option_list(self, node): self.body.append('\\begin{optionlist}{3cm}\n') if self.table: self.table.has_problematic = True def depart_option_list(self, node): self.body.append('\\end{optionlist}\n') def visit_option_list_item(self, node): pass def depart_option_list_item(self, node): pass def visit_option_string(self, node): ostring = node.astext() self.no_contractions += 1 self.body.append(self.encode(ostring)) self.no_contractions -= 1 raise nodes.SkipNode def visit_description(self, node): self.body.append(' ') def depart_description(self, node): pass def visit_superscript(self, node): self.body.append('$^{\\text{') def depart_superscript(self, node): self.body.append('}}$') def visit_subscript(self, node): self.body.append('$_{\\text{') def depart_subscript(self, node): self.body.append('}}$') def visit_substitution_definition(self, node): raise nodes.SkipNode def visit_substitution_reference(self, node): raise nodes.SkipNode def visit_inline(self, node): classes = node.get('classes', []) self.body.append(r'\DUspan{%s}{' % ','.join(classes)) def depart_inline(self, node): self.body.append('}') def visit_generated(self, node): pass def depart_generated(self, node): pass def visit_compound(self, node): pass def depart_compound(self, node): pass def visit_container(self, node): pass def depart_container(self, node): pass def visit_decoration(self, node): pass def depart_decoration(self, node): pass # docutils-generated elements that we don't support def visit_header(self, node): raise nodes.SkipNode def visit_footer(self, node): raise nodes.SkipNode def visit_docinfo(self, node): raise nodes.SkipNode # text handling def encode(self, text): text = unicode(text).translate(tex_escape_map) if self.literal_whitespace: # Insert a blank before the newline, to avoid # ! LaTeX Error: There's no line here to end. text = text.replace(u'\n', u'~\\\\\n').replace(u' ', u'~') if self.no_contractions: text = text.replace('--', u'-{-}') text = text.replace("''", u"'{'}") return text def encode_uri(self, text): # in \href, the tilde is allowed and must be represented literally return self.encode(text).replace('\\textasciitilde{}', '~') def visit_Text(self, node): text = self.encode(node.astext()) if not self.no_contractions: text = educate_quotes_latex(text) self.body.append(text) def depart_Text(self, node): pass def visit_comment(self, node): raise nodes.SkipNode def visit_meta(self, node): # only valid for HTML raise nodes.SkipNode def visit_system_message(self, node): pass def depart_system_message(self, node): self.body.append('\n') def visit_math(self, node): self.builder.warn('using "math" markup without a Sphinx math extension ' 'active, please use one of the math extensions ' 'described at http://sphinx-doc.org/ext/math.html', (self.curfilestack[-1], node.line)) raise nodes.SkipNode visit_math_block = visit_math def unknown_visit(self, node): raise NotImplementedError('Unknown node: ' + node.__class__.__name__) sphinx-1.2.2+dfsg.orig/sphinx/writers/websupport.py0000644000000000000000000000314712304304673021204 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.websupport ~~~~~~~~~~~~~~~~~~~~~~~~~ sphinx.websupport writer that adds comment-related annotations. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from sphinx.writers.html import HTMLTranslator from sphinx.util.websupport import is_commentable class WebSupportTranslator(HTMLTranslator): """ Our custom HTML translator. """ def __init__(self, builder, *args, **kwargs): HTMLTranslator.__init__(self, builder, *args, **kwargs) self.comment_class = 'sphinx-has-comment' def dispatch_visit(self, node): if is_commentable(node): self.handle_visit_commentable(node) HTMLTranslator.dispatch_visit(self, node) def handle_visit_commentable(self, node): # We will place the node in the HTML id attribute. If the node # already has an id (for indexing purposes) put an empty # span with the existing id directly before this node's HTML. self.add_db_node(node) if node.attributes['ids']: self.body.append('' % node.attributes['ids'][0]) node.attributes['ids'] = ['s%s' % node.uid] node.attributes['classes'].append(self.comment_class) def add_db_node(self, node): storage = self.builder.storage if not storage.has_node(node.uid): storage.add_node(id=node.uid, document=self.builder.current_docname, source=node.rawsource or node.astext()) sphinx-1.2.2+dfsg.orig/sphinx/writers/manpage.py0000644000000000000000000002624612304557741020415 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.manpage ~~~~~~~~~~~~~~~~~~~~~~ Manual page writer, extended for Sphinx custom nodes. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes try: from docutils.writers.manpage import MACRO_DEF, Writer, \ Translator as BaseTranslator has_manpage_writer = True except ImportError: # define the classes in any case, sphinx.application needs it Writer = BaseTranslator = object has_manpage_writer = False from sphinx import addnodes from sphinx.locale import admonitionlabels, _ from sphinx.util.osutil import ustrftime from sphinx.util.compat import docutils_version class ManualPageWriter(Writer): def __init__(self, builder): Writer.__init__(self) self.builder = builder def translate(self): visitor = ManualPageTranslator(self.builder, self.document) self.visitor = visitor self.document.walkabout(visitor) self.output = visitor.astext() class ManualPageTranslator(BaseTranslator): """ Custom translator. """ def __init__(self, builder, *args, **kwds): BaseTranslator.__init__(self, *args, **kwds) self.builder = builder self.in_productionlist = 0 # first title is the manpage title self.section_level = -1 # docinfo set by man_pages config value self._docinfo['title'] = self.document.settings.title self._docinfo['subtitle'] = self.document.settings.subtitle if self.document.settings.authors: # don't set it if no author given self._docinfo['author'] = self.document.settings.authors self._docinfo['manual_section'] = self.document.settings.section # docinfo set by other config values self._docinfo['title_upper'] = self._docinfo['title'].upper() if builder.config.today: self._docinfo['date'] = builder.config.today else: self._docinfo['date'] = ustrftime(builder.config.today_fmt or _('%B %d, %Y')) self._docinfo['copyright'] = builder.config.copyright self._docinfo['version'] = builder.config.version self._docinfo['manual_group'] = builder.config.project # In docutils < 0.11 self.append_header() was never called if docutils_version < (0, 11): self.body.append(MACRO_DEF) # Overwrite admonition label translations with our own for label, translation in admonitionlabels.items(): self.language.labels[label] = self.deunicode(translation) # overwritten -- added quotes around all .TH arguments def header(self): tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\"" " \"%(date)s\" \"%(version)s\" \"%(manual_group)s\"\n" ".SH NAME\n" "%(title)s \- %(subtitle)s\n") return tmpl % self._docinfo def visit_start_of_file(self, node): pass def depart_start_of_file(self, node): pass def visit_desc(self, node): self.visit_definition_list(node) def depart_desc(self, node): self.depart_definition_list(node) def visit_desc_signature(self, node): self.visit_definition_list_item(node) self.visit_term(node) def depart_desc_signature(self, node): self.depart_term(node) def visit_desc_addname(self, node): pass def depart_desc_addname(self, node): pass def visit_desc_type(self, node): pass def depart_desc_type(self, node): pass def visit_desc_returns(self, node): self.body.append(' -> ') def depart_desc_returns(self, node): pass def visit_desc_name(self, node): pass def depart_desc_name(self, node): pass def visit_desc_parameterlist(self, node): self.body.append('(') self.first_param = 1 def depart_desc_parameterlist(self, node): self.body.append(')') def visit_desc_parameter(self, node): if not self.first_param: self.body.append(', ') else: self.first_param = 0 def depart_desc_parameter(self, node): pass def visit_desc_optional(self, node): self.body.append('[') def depart_desc_optional(self, node): self.body.append(']') def visit_desc_annotation(self, node): pass def depart_desc_annotation(self, node): pass def visit_desc_content(self, node): self.visit_definition(node) def depart_desc_content(self, node): self.depart_definition(node) def visit_versionmodified(self, node): self.visit_paragraph(node) def depart_versionmodified(self, node): self.depart_paragraph(node) def visit_termsep(self, node): self.body.append(', ') raise nodes.SkipNode # overwritten -- we don't want source comments to show up def visit_comment(self, node): raise nodes.SkipNode # overwritten -- added ensure_eol() def visit_footnote(self, node): self.ensure_eol() BaseTranslator.visit_footnote(self, node) # overwritten -- handle footnotes rubric def visit_rubric(self, node): self.ensure_eol() if len(node.children) == 1: rubtitle = node.children[0].astext() if rubtitle in ('Footnotes', _('Footnotes')): self.body.append('.SH ' + self.deunicode(rubtitle).upper() + '\n') raise nodes.SkipNode else: self.body.append('.sp\n') def depart_rubric(self, node): pass def visit_seealso(self, node): self.visit_admonition(node, 'seealso') def depart_seealso(self, node): self.depart_admonition(node) def visit_productionlist(self, node): self.ensure_eol() names = [] self.in_productionlist += 1 self.body.append('.sp\n.nf\n') for production in node: names.append(production['tokenname']) maxlen = max(len(name) for name in names) lastname = None for production in node: if production['tokenname']: lastname = production['tokenname'].ljust(maxlen) self.body.append(self.defs['strong'][0]) self.body.append(self.deunicode(lastname)) self.body.append(self.defs['strong'][1]) self.body.append(' ::= ') elif lastname is not None: self.body.append('%s ' % (' '*len(lastname))) production.walkabout(self) self.body.append('\n') self.body.append('\n.fi\n') self.in_productionlist -= 1 raise nodes.SkipNode def visit_production(self, node): pass def depart_production(self, node): pass # overwritten -- don't emit a warning for images def visit_image(self, node): if 'alt' in node.attributes: self.body.append(_('[image: %s]') % node['alt'] + '\n') self.body.append(_('[image]') + '\n') raise nodes.SkipNode # overwritten -- don't visit inner marked up nodes def visit_reference(self, node): self.body.append(self.defs['reference'][0]) self.visit_Text(node) # avoid repeating escaping code... fine since # visit_Text calls astext() and only works # on that afterwards self.body.append(self.defs['reference'][1]) uri = node.get('refuri', '') if uri.startswith('mailto:') or uri.startswith('http:') or \ uri.startswith('https:') or uri.startswith('ftp:'): # if configured, put the URL after the link if self.builder.config.man_show_urls and \ node.astext() != uri: if uri.startswith('mailto:'): uri = uri[7:] self.body.extend([ ' <', self.defs['strong'][0], uri, self.defs['strong'][1], '>']) raise nodes.SkipNode def visit_centered(self, node): self.ensure_eol() self.body.append('.sp\n.ce\n') def depart_centered(self, node): self.body.append('\n.ce 0\n') def visit_compact_paragraph(self, node): pass def depart_compact_paragraph(self, node): pass def visit_highlightlang(self, node): pass def depart_highlightlang(self, node): pass def visit_download_reference(self, node): pass def depart_download_reference(self, node): pass def visit_toctree(self, node): raise nodes.SkipNode def visit_index(self, node): raise nodes.SkipNode def visit_tabular_col_spec(self, node): raise nodes.SkipNode def visit_glossary(self, node): pass def depart_glossary(self, node): pass def visit_acks(self, node): self.ensure_eol() self.body.append(', '.join(n.astext() for n in node.children[0].children) + '.') self.body.append('\n') raise nodes.SkipNode def visit_hlist(self, node): self.visit_bullet_list(node) def depart_hlist(self, node): self.depart_bullet_list(node) def visit_hlistcol(self, node): pass def depart_hlistcol(self, node): pass def visit_literal_emphasis(self, node): return self.visit_emphasis(node) def depart_literal_emphasis(self, node): return self.depart_emphasis(node) def visit_abbreviation(self, node): pass def depart_abbreviation(self, node): pass # overwritten: handle section titles better than in 0.6 release def visit_title(self, node): if isinstance(node.parent, addnodes.seealso): self.body.append('.IP "') return elif isinstance(node.parent, nodes.section): if self.section_level == 0: # skip the document title raise nodes.SkipNode elif self.section_level == 1: self.body.append('.SH %s\n' % self.deunicode(node.astext().upper())) raise nodes.SkipNode return BaseTranslator.visit_title(self, node) def depart_title(self, node): if isinstance(node.parent, addnodes.seealso): self.body.append('"\n') return return BaseTranslator.depart_title(self, node) def visit_raw(self, node): if 'manpage' in node.get('format', '').split(): self.body.append(node.astext()) raise nodes.SkipNode def visit_meta(self, node): raise nodes.SkipNode def visit_inline(self, node): pass def depart_inline(self, node): pass def visit_math(self, node): self.builder.warn('using "math" markup without a Sphinx math extension ' 'active, please use one of the math extensions ' 'described at http://sphinx-doc.org/ext/math.html') raise nodes.SkipNode visit_math_block = visit_math def unknown_visit(self, node): raise NotImplementedError('Unknown node: ' + node.__class__.__name__) sphinx-1.2.2+dfsg.orig/sphinx/writers/texinfo.py0000644000000000000000000013073212304557741020455 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.texinfo ~~~~~~~~~~~~~~~~~~~~~~ Custom docutils writer for Texinfo. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import string import textwrap from os import path from docutils import nodes, writers from sphinx import addnodes, __version__ from sphinx.locale import admonitionlabels, _ from sphinx.util import ustrftime from sphinx.writers.latex import collected_footnote COPYING = """\ @quotation %(project)s %(release)s, %(date)s %(author)s Copyright @copyright{} %(copyright)s @end quotation """ TEMPLATE = """\ \\input texinfo @c -*-texinfo-*- @c %%**start of header @setfilename %(filename)s @documentencoding UTF-8 @ifinfo @*Generated by Sphinx """ + __version__ + """.@* @end ifinfo @settitle %(title)s @defindex ge @paragraphindent %(paragraphindent)s @exampleindent %(exampleindent)s @finalout %(direntry)s @definfoenclose strong,`,' @definfoenclose emph,`,' @c %%**end of header @copying %(copying)s @end copying @titlepage @title %(title)s @insertcopying @end titlepage @contents @c %%** start of user preamble %(preamble)s @c %%** end of user preamble @ifnottex @node Top @top %(title)s @insertcopying @end ifnottex @c %%**start of body %(body)s @c %%**end of body @bye """ def find_subsections(section): """Return a list of subsections for the given ``section``.""" result = [] for child in section.children: if isinstance(child, nodes.section): result.append(child) continue result.extend(find_subsections(child)) return result def smart_capwords(s, sep=None): """Like string.capwords() but does not capitalize words that already contain a capital letter.""" words = s.split(sep) for i, word in enumerate(words): if all(x.islower() for x in word): words[i] = word.capitalize() return (sep or ' ').join(words) class TexinfoWriter(writers.Writer): """Texinfo writer for generating Texinfo documents.""" supported = ('texinfo', 'texi') settings_spec = ( 'Texinfo Specific Options', None, ( ("Name of the Info file", ['--texinfo-filename'], {'default': ''}), ('Dir entry', ['--texinfo-dir-entry'], {'default': ''}), ('Description', ['--texinfo-dir-description'], {'default': ''}), ('Category', ['--texinfo-dir-category'], {'default': 'Miscellaneous'}))) settings_defaults = {} output = None visitor_attributes = ('output', 'fragment') def __init__(self, builder): writers.Writer.__init__(self) self.builder = builder def translate(self): self.visitor = visitor = TexinfoTranslator(self.document, self.builder) self.document.walkabout(visitor) visitor.finish() for attr in self.visitor_attributes: setattr(self, attr, getattr(visitor, attr)) class TexinfoTranslator(nodes.NodeVisitor): ignore_missing_images = False default_elements = { 'author': '', 'body': '', 'copying': '', 'date': '', 'direntry': '', 'exampleindent': 4, 'filename': '', 'paragraphindent': 0, 'preamble': '', 'project': '', 'release': '', 'title': '', } def __init__(self, document, builder): nodes.NodeVisitor.__init__(self, document) self.builder = builder self.init_settings() self.written_ids = set() # node names and anchors in output self.referenced_ids = set() # node names and anchors that should # be in output self.indices = [] # (node name, content) self.short_ids = {} # anchors --> short ids self.node_names = {} # node name --> node's name to display self.node_menus = {} # node name --> node's menu entries self.rellinks = {} # node name --> (next, previous, up) self.collect_indices() self.collect_node_names() self.collect_node_menus() self.collect_rellinks() self.body = [] self.context = [] self.previous_section = None self.section_level = 0 self.seen_title = False self.next_section_ids = set() self.escape_newlines = 0 self.escape_hyphens = 0 self.curfilestack = [] self.footnotestack = [] self.in_footnote = 0 self.handled_abbrs = set() def finish(self): if self.previous_section is None: self.add_menu('Top') for index in self.indices: name, content = index pointers = tuple([name] + self.rellinks[name]) self.body.append('\n@node %s,%s,%s,%s\n' % pointers) self.body.append('@unnumbered %s\n\n%s\n' % (name, content)) while self.referenced_ids: # handle xrefs with missing anchors r = self.referenced_ids.pop() if r not in self.written_ids: self.body.append('@anchor{%s}@w{%s}\n' % (r, ' ' * 30)) self.ensure_eol() self.fragment = ''.join(self.body) self.elements['body'] = self.fragment self.output = TEMPLATE % self.elements ## Helper routines def init_settings(self): settings = self.settings = self.document.settings elements = self.elements = self.default_elements.copy() elements.update({ # if empty, the title is set to the first section title 'title': settings.title, 'author': settings.author, # if empty, use basename of input file 'filename': settings.texinfo_filename, 'release': self.escape(self.builder.config.release), 'project': self.escape(self.builder.config.project), 'copyright': self.escape(self.builder.config.copyright), 'date': self.escape(self.builder.config.today or ustrftime(self.builder.config.today_fmt or _('%B %d, %Y'))) }) # title title = elements['title'] if not title: title = self.document.next_node(nodes.title) title = (title and title.astext()) or '' elements['title'] = self.escape_id(title) or '' # filename if not elements['filename']: elements['filename'] = self.document.get('source') or 'untitled' if elements['filename'][-4:] in ('.txt', '.rst'): elements['filename'] = elements['filename'][:-4] elements['filename'] += '.info' # direntry if settings.texinfo_dir_entry: entry = self.format_menu_entry( self.escape_menu(settings.texinfo_dir_entry), '(%s)' % elements['filename'], self.escape_arg(settings.texinfo_dir_description)) elements['direntry'] = ('@dircategory %s\n' '@direntry\n' '%s' '@end direntry\n') % ( self.escape_id(settings.texinfo_dir_category), entry) elements['copying'] = COPYING % elements # allow the user to override them all elements.update(settings.texinfo_elements) def collect_node_names(self): """Generates a unique id for each section. Assigns the attribute ``node_name`` to each section.""" def add_node_name(name): node_id = self.escape_id(name) nth, suffix = 1, '' while node_id + suffix in self.written_ids or \ node_id + suffix in self.node_names: nth += 1 suffix = '<%s>' % nth node_id += suffix self.written_ids.add(node_id) self.node_names[node_id] = name return node_id # must have a "Top" node self.document['node_name'] = 'Top' add_node_name('Top') add_node_name('top') # each index is a node self.indices = [(add_node_name(name), content) for name, content in self.indices] # each section is also a node for section in self.document.traverse(nodes.section): title = section.next_node(nodes.Titular) name = (title and title.astext()) or '' section['node_name'] = add_node_name(name) def collect_node_menus(self): """Collect the menu entries for each "node" section.""" node_menus = self.node_menus for node in ([self.document] + self.document.traverse(nodes.section)): assert 'node_name' in node and node['node_name'] entries = [s['node_name'] for s in find_subsections(node)] node_menus[node['node_name']] = entries # try to find a suitable "Top" node title = self.document.next_node(nodes.title) top = (title and title.parent) or self.document if not isinstance(top, (nodes.document, nodes.section)): top = self.document if top is not self.document: entries = node_menus[top['node_name']] entries += node_menus['Top'][1:] node_menus['Top'] = entries del node_menus[top['node_name']] top['node_name'] = 'Top' # handle the indices for name, content in self.indices: node_menus[name] = () node_menus['Top'].append(name) def collect_rellinks(self): """Collect the relative links (next, previous, up) for each "node".""" rellinks = self.rellinks node_menus = self.node_menus for id, entries in node_menus.items(): rellinks[id] = ['', '', ''] # up's for id, entries in node_menus.items(): for e in entries: rellinks[e][2] = id # next's and prev's for id, entries in node_menus.items(): for i, id in enumerate(entries): # First child's prev is empty if i != 0: rellinks[id][1] = entries[i-1] # Last child's next is empty if i != len(entries) - 1: rellinks[id][0] = entries[i+1] # top's next is its first child try: first = node_menus['Top'][0] except IndexError: pass else: rellinks['Top'][0] = first rellinks[first][1] = 'Top' ## Escaping # Which characters to escape depends on the context. In some cases, # namely menus and node names, it's not possible to escape certain # characters. def escape(self, s): """Return a string with Texinfo command characters escaped.""" s = s.replace('@', '@@') s = s.replace('{', '@{') s = s.replace('}', '@}') # prevent `` and '' quote conversion s = s.replace('``', "`@w{`}") s = s.replace("''", "'@w{'}") return s def escape_arg(self, s): """Return an escaped string suitable for use as an argument to a Texinfo command.""" s = self.escape(s) # commas are the argument delimeters s = s.replace(',', '@comma{}') # normalize white space s = ' '.join(s.split()).strip() return s def escape_id(self, s): """Return an escaped string suitable for node names and anchors.""" bad_chars = ',:.()' for bc in bad_chars: s = s.replace(bc, ' ') s = ' '.join(s.split()).strip() return self.escape(s) def escape_menu(self, s): """Return an escaped string suitable for menu entries.""" s = self.escape_arg(s) s = s.replace(':', ';') s = ' '.join(s.split()).strip() return s def ensure_eol(self): """Ensure the last line in body is terminated by new line.""" if self.body and self.body[-1][-1:] != '\n': self.body.append('\n') def format_menu_entry(self, name, node_name, desc): if name == node_name: s = '* %s:: ' % (name,) else: s = '* %s: %s. ' % (name, node_name) offset = max((24, (len(name) + 4) % 78)) wdesc = '\n'.join(' ' * offset + l for l in textwrap.wrap(desc, width=78-offset)) return s + wdesc.strip() + '\n' def add_menu_entries(self, entries, reg=re.compile(r'\s+---?\s+')): for entry in entries: name = self.node_names[entry] # special formatting for entries that are divided by an em-dash try: parts = reg.split(name, 1) except TypeError: # could be a gettext proxy parts = [name] if len(parts) == 2: name, desc = parts else: desc = '' name = self.escape_menu(name) desc = self.escape(desc) self.body.append(self.format_menu_entry(name, entry, desc)) def add_menu(self, node_name): entries = self.node_menus[node_name] if not entries: return self.body.append('\n@menu\n') self.add_menu_entries(entries) if (node_name != 'Top' or not self.node_menus[entries[0]] or self.builder.config.texinfo_no_detailmenu): self.body.append('\n@end menu\n') return def _add_detailed_menu(name): entries = self.node_menus[name] if not entries: return self.body.append('\n%s\n\n' % (self.escape(self.node_names[name],))) self.add_menu_entries(entries) for subentry in entries: _add_detailed_menu(subentry) self.body.append('\n@detailmenu\n' ' --- The Detailed Node Listing ---\n') for entry in entries: _add_detailed_menu(entry) self.body.append('\n@end detailmenu\n' '@end menu\n') def tex_image_length(self, width_str): match = re.match('(\d*\.?\d*)\s*(\S*)', width_str) if not match: # fallback return width_str res = width_str amount, unit = match.groups()[:2] if not unit or unit == "px": # pixels: let TeX alone return '' elif unit == "%": # a4paper: textwidth=418.25368pt res = "%d.0pt" % (float(amount) * 4.1825368) return res def collect_indices(self): def generate(content, collapsed): ret = ['\n@menu\n'] for letter, entries in content: for entry in entries: if not entry[3]: continue name = self.escape_menu(entry[0]) sid = self.get_short_id('%s:%s' % (entry[2], entry[3])) desc = self.escape_arg(entry[6]) me = self.format_menu_entry(name, sid, desc) ret.append(me) ret.append('@end menu\n') return ''.join(ret) indices_config = self.builder.config.texinfo_domain_indices if indices_config: for domain in self.builder.env.domains.itervalues(): for indexcls in domain.indices: indexname = '%s-%s' % (domain.name, indexcls.name) if isinstance(indices_config, list): if indexname not in indices_config: continue content, collapsed = indexcls(domain).generate( self.builder.docnames) if not content: continue self.indices.append((indexcls.localname, generate(content, collapsed))) # only add the main Index if it's not empty for docname in self.builder.docnames: if self.builder.env.indexentries[docname]: self.indices.append((_('Index'), '\n@printindex ge\n')) break # this is copied from the latex writer # TODO: move this to sphinx.util def collect_footnotes(self, node): fnotes = {} def footnotes_under(n): if isinstance(n, nodes.footnote): yield n else: for c in n.children: if isinstance(c, addnodes.start_of_file): continue for k in footnotes_under(c): yield k for fn in footnotes_under(node): num = fn.children[0].astext().strip() fnotes[num] = [collected_footnote(*fn.children), False] return fnotes ## xref handling def get_short_id(self, id): """Return a shorter 'id' associated with ``id``.""" # Shorter ids improve paragraph filling in places # that the id is hidden by Emacs. try: sid = self.short_ids[id] except KeyError: sid = hex(len(self.short_ids))[2:] self.short_ids[id] = sid return sid def add_anchor(self, id, node): if id.startswith('index-'): return id = self.curfilestack[-1] + ':' + id eid = self.escape_id(id) sid = self.get_short_id(id) for id in (eid, sid): if id not in self.written_ids: self.body.append('@anchor{%s}' % id) self.written_ids.add(id) def add_xref(self, id, name, node): name = self.escape_menu(name) sid = self.get_short_id(id) self.body.append('@ref{%s,,%s}' % (sid, name)) self.referenced_ids.add(sid) self.referenced_ids.add(self.escape_id(id)) ## Visiting def visit_document(self, node): self.footnotestack.append(self.collect_footnotes(node)) self.curfilestack.append(node.get('docname', '')) if 'docname' in node: self.add_anchor(':doc', node) def depart_document(self, node): self.footnotestack.pop() self.curfilestack.pop() def visit_Text(self, node): s = self.escape(node.astext()) if self.escape_newlines: s = s.replace('\n', ' ') if self.escape_hyphens: # prevent "--" and "---" conversion s = s.replace('-', '@w{-}') self.body.append(s) def depart_Text(self, node): pass def visit_section(self, node): self.next_section_ids.update(node.get('ids', [])) if not self.seen_title: return if self.previous_section: self.add_menu(self.previous_section['node_name']) else: self.add_menu('Top') node_name = node['node_name'] pointers = tuple([node_name] + self.rellinks[node_name]) self.body.append('\n@node %s,%s,%s,%s\n' % pointers) for id in self.next_section_ids: self.add_anchor(id, node) self.next_section_ids.clear() self.previous_section = node self.section_level += 1 def depart_section(self, node): self.section_level -= 1 headings = ( '@unnumbered', '@chapter', '@section', '@subsection', '@subsubsection', ) rubrics = ( '@heading', '@subheading', '@subsubheading', ) def visit_title(self, node): if not self.seen_title: self.seen_title = 1 raise nodes.SkipNode parent = node.parent if isinstance(parent, nodes.table): return if isinstance(parent, (nodes.Admonition, nodes.sidebar, nodes.topic)): raise nodes.SkipNode elif not isinstance(parent, nodes.section): self.builder.warn( 'encountered title node not in section, topic, table, ' 'admonition or sidebar', (self.curfilestack[-1], node.line)) self.visit_rubric(node) else: try: heading = self.headings[self.section_level] except IndexError: heading = self.headings[-1] self.body.append('\n%s ' % heading) def depart_title(self, node): self.body.append('\n\n') def visit_rubric(self, node): if len(node.children) == 1 and node.children[0].astext() in \ ('Footnotes', _('Footnotes')): raise nodes.SkipNode try: rubric = self.rubrics[self.section_level] except IndexError: rubric = self.rubrics[-1] self.body.append('\n%s ' % rubric) def depart_rubric(self, node): self.body.append('\n\n') def visit_subtitle(self, node): self.body.append('\n\n@noindent\n') def depart_subtitle(self, node): self.body.append('\n\n') ## References def visit_target(self, node): # postpone the labels until after the sectioning command parindex = node.parent.index(node) try: try: next = node.parent[parindex+1] except IndexError: # last node in parent, look at next after parent # (for section of equal level) next = node.parent.parent[node.parent.parent.index(node.parent)] if isinstance(next, nodes.section): if node.get('refid'): self.next_section_ids.add(node['refid']) self.next_section_ids.update(node['ids']) return except IndexError: pass if 'refuri' in node: return if node.get('refid'): self.add_anchor(node['refid'], node) for id in node['ids']: self.add_anchor(id, node) def depart_target(self, node): pass def visit_reference(self, node): # an xref's target is displayed in Info so we ignore a few # cases for the sake of appearance if isinstance(node.parent, (nodes.title, addnodes.desc_type,)): return if isinstance(node[0], nodes.image): return name = node.get('name', node.astext()).strip() uri = node.get('refuri', '') if not uri and node.get('refid'): uri = '%' + self.curfilestack[-1] + '#' + node['refid'] if not uri: return if uri.startswith('mailto:'): uri = self.escape_arg(uri[7:]) name = self.escape_arg(name) if not name or name == uri: self.body.append('@email{%s}' % uri) else: self.body.append('@email{%s,%s}' % (uri, name)) elif uri.startswith('#'): # references to labels in the same document id = self.curfilestack[-1] + ':' + uri[1:] self.add_xref(id, name, node) elif uri.startswith('%'): # references to documents or labels inside documents hashindex = uri.find('#') if hashindex == -1: # reference to the document id = uri[1:] + '::doc' else: # reference to a label id = uri[1:].replace('#', ':') self.add_xref(id, name, node) elif uri.startswith('info:'): # references to an external Info file uri = uri[5:].replace('_', ' ') uri = self.escape_arg(uri) id = 'Top' if '#' in uri: uri, id = uri.split('#', 1) id = self.escape_id(id) name = self.escape_menu(name) if name == id: self.body.append('@ref{%s,,,%s}' % (id, uri)) else: self.body.append('@ref{%s,,%s,%s}' % (id, name, uri)) else: uri = self.escape_arg(uri) name = self.escape_arg(name) show_urls = self.builder.config.texinfo_show_urls if self.in_footnote: show_urls = 'inline' if not name or uri == name: self.body.append('@indicateurl{%s}' % uri) elif show_urls == 'inline': self.body.append('@uref{%s,%s}' % (uri, name)) elif show_urls == 'no': self.body.append('@uref{%s,,%s}' % (uri, name)) else: self.body.append('%s@footnote{%s}' % (name, uri)) raise nodes.SkipNode def depart_reference(self, node): pass def visit_title_reference(self, node): text = node.astext() self.body.append('@cite{%s}' % self.escape_arg(text)) raise nodes.SkipNode ## Blocks def visit_paragraph(self, node): self.body.append('\n') def depart_paragraph(self, node): self.body.append('\n') def visit_block_quote(self, node): self.body.append('\n@quotation\n') def depart_block_quote(self, node): self.ensure_eol() self.body.append('@end quotation\n') def visit_literal_block(self, node): self.body.append('\n@example\n') def depart_literal_block(self, node): self.ensure_eol() self.body.append('@end example\n') visit_doctest_block = visit_literal_block depart_doctest_block = depart_literal_block def visit_line_block(self, node): if not isinstance(node.parent, nodes.line_block): self.body.append('\n\n') self.body.append('@display\n') def depart_line_block(self, node): self.body.append('@end display\n') if not isinstance(node.parent, nodes.line_block): self.body.append('\n\n') def visit_line(self, node): self.escape_newlines += 1 def depart_line(self, node): self.body.append('@w{ }\n') self.escape_newlines -= 1 ## Inline def visit_strong(self, node): self.body.append('@strong{') def depart_strong(self, node): self.body.append('}') def visit_emphasis(self, node): self.body.append('@emph{') def depart_emphasis(self, node): self.body.append('}') def visit_literal(self, node): self.body.append('@code{') def depart_literal(self, node): self.body.append('}') def visit_superscript(self, node): self.body.append('@w{^') def depart_superscript(self, node): self.body.append('}') def visit_subscript(self, node): self.body.append('@w{[') def depart_subscript(self, node): self.body.append(']}') ## Footnotes def visit_footnote(self, node): raise nodes.SkipNode def visit_collected_footnote(self, node): self.in_footnote += 1 self.body.append('@footnote{') def depart_collected_footnote(self, node): self.body.append('}') self.in_footnote -= 1 def visit_footnote_reference(self, node): num = node.astext().strip() try: footnode, used = self.footnotestack[-1][num] except (KeyError, IndexError): raise nodes.SkipNode # footnotes are repeated for each reference footnode.walkabout(self) raise nodes.SkipChildren def visit_citation(self, node): for id in node.get('ids'): self.add_anchor(id, node) def depart_citation(self, node): pass def visit_citation_reference(self, node): self.body.append('@w{[') def depart_citation_reference(self, node): self.body.append(']}') ## Lists def visit_bullet_list(self, node): bullet = node.get('bullet', '*') self.body.append('\n\n@itemize %s\n' % bullet) def depart_bullet_list(self, node): self.ensure_eol() self.body.append('@end itemize\n') def visit_enumerated_list(self, node): # doesn't support Roman numerals enum = node.get('enumtype', 'arabic') starters = {'arabic': '', 'loweralpha': 'a', 'upperalpha': 'A',} start = node.get('start', starters.get(enum, '')) self.body.append('\n\n@enumerate %s\n' % start) def depart_enumerated_list(self, node): self.ensure_eol() self.body.append('@end enumerate\n') def visit_list_item(self, node): self.body.append('\n@item ') def depart_list_item(self, node): pass ## Option List def visit_option_list(self, node): self.body.append('\n\n@table @option\n') def depart_option_list(self, node): self.ensure_eol() self.body.append('@end table\n') def visit_option_list_item(self, node): pass def depart_option_list_item(self, node): pass def visit_option_group(self, node): self.at_item_x = '@item' def depart_option_group(self, node): pass def visit_option(self, node): self.escape_hyphens += 1 self.body.append('\n%s ' % self.at_item_x) self.at_item_x = '@itemx' def depart_option(self, node): self.escape_hyphens -= 1 def visit_option_string(self, node): pass def depart_option_string(self, node): pass def visit_option_argument(self, node): self.body.append(node.get('delimiter', ' ')) def depart_option_argument(self, node): pass def visit_description(self, node): self.body.append('\n') def depart_description(self, node): pass ## Definitions def visit_definition_list(self, node): self.body.append('\n\n@table @asis\n') def depart_definition_list(self, node): self.ensure_eol() self.body.append('@end table\n') def visit_definition_list_item(self, node): self.at_item_x = '@item' def depart_definition_list_item(self, node): pass def visit_term(self, node): for id in node.get('ids'): self.add_anchor(id, node) # anchors and indexes need to go in front for n in node[::]: if isinstance(n, (addnodes.index, nodes.target)): n.walkabout(self) node.remove(n) self.body.append('\n%s ' % self.at_item_x) self.at_item_x = '@itemx' def depart_term(self, node): pass def visit_termsep(self, node): self.body.append('\n%s ' % self.at_item_x) def depart_termsep(self, node): pass def visit_classifier(self, node): self.body.append(' : ') def depart_classifier(self, node): pass def visit_definition(self, node): self.body.append('\n') def depart_definition(self, node): pass ## Tables def visit_table(self, node): self.entry_sep = '@item' def depart_table(self, node): self.body.append('\n@end multitable\n\n') def visit_tabular_col_spec(self, node): pass def depart_tabular_col_spec(self, node): pass def visit_colspec(self, node): self.colwidths.append(node['colwidth']) if len(self.colwidths) != self.n_cols: return self.body.append('\n\n@multitable ') for i, n in enumerate(self.colwidths): self.body.append('{%s} ' %('x' * (n+2))) def depart_colspec(self, node): pass def visit_tgroup(self, node): self.colwidths = [] self.n_cols = node['cols'] def depart_tgroup(self, node): pass def visit_thead(self, node): self.entry_sep = '@headitem' def depart_thead(self, node): pass def visit_tbody(self, node): pass def depart_tbody(self, node): pass def visit_row(self, node): pass def depart_row(self, node): self.entry_sep = '@item' def visit_entry(self, node): self.body.append('\n%s\n' % self.entry_sep) self.entry_sep = '@tab' def depart_entry(self, node): for i in xrange(node.get('morecols', 0)): self.body.append('\n@tab\n') ## Field Lists def visit_field_list(self, node): pass def depart_field_list(self, node): pass def visit_field(self, node): self.body.append('\n') def depart_field(self, node): self.body.append('\n') def visit_field_name(self, node): self.ensure_eol() self.body.append('@*') def depart_field_name(self, node): self.body.append(': ') def visit_field_body(self, node): pass def depart_field_body(self, node): pass ## Admonitions def visit_admonition(self, node, name=''): if not name: name = self.escape(node[0].astext()) self.body.append(u'\n@cartouche\n@quotation %s ' % name) def depart_admonition(self, node): self.ensure_eol() self.body.append('@end quotation\n' '@end cartouche\n') def _make_visit_admonition(name): def visit(self, node): self.visit_admonition(node, admonitionlabels[name]) return visit visit_attention = _make_visit_admonition('attention') depart_attention = depart_admonition visit_caution = _make_visit_admonition('caution') depart_caution = depart_admonition visit_danger = _make_visit_admonition('danger') depart_danger = depart_admonition visit_error = _make_visit_admonition('error') depart_error = depart_admonition visit_hint = _make_visit_admonition('hint') depart_hint = depart_admonition visit_important = _make_visit_admonition('important') depart_important = depart_admonition visit_note = _make_visit_admonition('note') depart_note = depart_admonition visit_tip = _make_visit_admonition('tip') depart_tip = depart_admonition visit_warning = _make_visit_admonition('warning') depart_warning = depart_admonition ## Misc def visit_docinfo(self, node): raise nodes.SkipNode def visit_generated(self, node): raise nodes.SkipNode def visit_header(self, node): raise nodes.SkipNode def visit_footer(self, node): raise nodes.SkipNode def visit_container(self, node): pass def depart_container(self, node): pass def visit_decoration(self, node): pass def depart_decoration(self, node): pass def visit_topic(self, node): # ignore TOC's since we have to have a "menu" anyway if 'contents' in node.get('classes', []): raise nodes.SkipNode title = node[0] self.visit_rubric(title) self.body.append('%s\n' % self.escape(title.astext())) def depart_topic(self, node): pass def visit_transition(self, node): self.body.append('\n\n%s\n\n' % ('_' * 66)) def depart_transition(self, node): pass def visit_attribution(self, node): self.body.append('\n\n@center --- ') def depart_attribution(self, node): self.body.append('\n\n') def visit_raw(self, node): format = node.get('format', '').split() if 'texinfo' in format or 'texi' in format: self.body.append(node.astext()) raise nodes.SkipNode def visit_figure(self, node): self.body.append('\n\n@float Figure\n') def depart_figure(self, node): self.body.append('\n@end float\n\n') def visit_caption(self, node): if not isinstance(node.parent, nodes.figure): self.builder.warn('caption not inside a figure.', (self.curfilestack[-1], node.line)) return self.body.append('\n@caption{') def depart_caption(self, node): if isinstance(node.parent, nodes.figure): self.body.append('}\n') def visit_image(self, node): if node['uri'] in self.builder.images: uri = self.builder.images[node['uri']] else: # missing image! if self.ignore_missing_images: return uri = node['uri'] if uri.find('://') != -1: # ignore remote images return name, ext = path.splitext(uri) attrs = node.attributes # width and height ignored in non-tex output width = self.tex_image_length(attrs.get('width', '')) height = self.tex_image_length(attrs.get('height', '')) alt = self.escape_arg(attrs.get('alt', '')) self.body.append('\n@image{%s,%s,%s,%s,%s}\n' % (name, width, height, alt, ext[1:])) def depart_image(self, node): pass def visit_compound(self, node): pass def depart_compound(self, node): pass def visit_sidebar(self, node): self.visit_topic(node) def depart_sidebar(self, node): self.depart_topic(node) def visit_label(self, node): self.body.append('@w{(') def depart_label(self, node): self.body.append(')} ') def visit_legend(self, node): pass def depart_legend(self, node): pass def visit_substitution_reference(self, node): pass def depart_substitution_reference(self, node): pass def visit_substitution_definition(self, node): raise nodes.SkipNode def visit_system_message(self, node): self.body.append('\n@verbatim\n' '\n' '@end verbatim\n' % node.astext()) raise nodes.SkipNode def visit_comment(self, node): self.body.append('\n') for line in node.astext().splitlines(): self.body.append('@c %s\n' % line) raise nodes.SkipNode def visit_problematic(self, node): self.body.append('>>') def depart_problematic(self, node): self.body.append('<<') def unimplemented_visit(self, node): self.builder.warn("unimplemented node type: %r" % node, (self.curfilestack[-1], node.line)) def unknown_visit(self, node): self.builder.warn("unknown node type: %r" % node, (self.curfilestack[-1], node.line)) def unknown_departure(self, node): pass ### Sphinx specific def visit_productionlist(self, node): self.visit_literal_block(None) names = [] for production in node: names.append(production['tokenname']) maxlen = max(len(name) for name in names) for production in node: if production['tokenname']: for id in production.get('ids'): self.add_anchor(id, production) s = production['tokenname'].ljust(maxlen) + ' ::=' else: s = '%s ' % (' '*maxlen) self.body.append(self.escape(s)) self.body.append(self.escape(production.astext() + '\n')) self.depart_literal_block(None) raise nodes.SkipNode def visit_production(self, node): pass def depart_production(self, node): pass def visit_literal_emphasis(self, node): self.body.append('@code{') def depart_literal_emphasis(self, node): self.body.append('}') def visit_index(self, node): # terminate the line but don't prevent paragraph breaks if isinstance(node.parent, nodes.paragraph): self.ensure_eol() else: self.body.append('\n') for entry in node['entries']: typ, text, tid, text2 = entry text = self.escape_menu(text) self.body.append('@geindex %s\n' % text) def visit_versionmodified(self, node): self.body.append('\n') def depart_versionmodified(self, node): self.body.append('\n') def visit_start_of_file(self, node): # add a document target self.next_section_ids.add(':doc') self.curfilestack.append(node['docname']) self.footnotestack.append(self.collect_footnotes(node)) def depart_start_of_file(self, node): self.curfilestack.pop() self.footnotestack.pop() def visit_centered(self, node): txt = self.escape_arg(node.astext()) self.body.append('\n\n@center %s\n\n' % txt) raise nodes.SkipNode def visit_seealso(self, node): self.body.append(u'\n\n@subsubheading %s\n\n' % admonitionlabels['seealso']) def depart_seealso(self, node): self.body.append('\n') def visit_meta(self, node): raise nodes.SkipNode def visit_glossary(self, node): pass def depart_glossary(self, node): pass def visit_acks(self, node): self.body.append('\n\n') self.body.append(', '.join(n.astext() for n in node.children[0].children) + '.') self.body.append('\n\n') raise nodes.SkipNode def visit_highlightlang(self, node): pass def depart_highlightlang(self, node): pass ## Desc def visit_desc(self, node): self.desc = node self.at_deffnx = '@deffn' def depart_desc(self, node): self.desc = None self.ensure_eol() self.body.append('@end deffn\n') def visit_desc_signature(self, node): self.escape_hyphens += 1 objtype = node.parent['objtype'] if objtype != 'describe': for id in node.get('ids'): self.add_anchor(id, node) # use the full name of the objtype for the category try: domain = self.builder.env.domains[node.parent['domain']] primary = self.builder.config.primary_domain name = domain.get_type_name(domain.object_types[objtype], primary == domain.name) except KeyError: name = objtype # by convention, the deffn category should be capitalized like a title category = self.escape_arg(smart_capwords(name)) self.body.append('\n%s {%s} ' % (self.at_deffnx, category)) self.at_deffnx = '@deffnx' self.desc_type_name = name def depart_desc_signature(self, node): self.body.append("\n") self.escape_hyphens -= 1 self.desc_type_name = None def visit_desc_name(self, node): pass def depart_desc_name(self, node): pass def visit_desc_addname(self, node): pass def depart_desc_addname(self, node): pass def visit_desc_type(self, node): pass def depart_desc_type(self, node): pass def visit_desc_returns(self, node): self.body.append(' -> ') def depart_desc_returns(self, node): pass def visit_desc_parameterlist(self, node): self.body.append(' (') self.first_param = 1 def depart_desc_parameterlist(self, node): self.body.append(')') def visit_desc_parameter(self, node): if not self.first_param: self.body.append(', ') else: self.first_param = 0 text = self.escape(node.astext()) # replace no-break spaces with normal ones text = text.replace(u' ', '@w{ }') self.body.append(text) raise nodes.SkipNode def visit_desc_optional(self, node): self.body.append('[') def depart_desc_optional(self, node): self.body.append(']') def visit_desc_annotation(self, node): # Try to avoid duplicating info already displayed by the deffn category. # e.g. # @deffn {Class} Foo # -- instead of -- # @deffn {Class} class Foo txt = node.astext().strip() if txt == self.desc['desctype'] or \ txt == self.desc['objtype'] or \ txt in self.desc_type_name.split(): raise nodes.SkipNode def depart_desc_annotation(self, node): pass def visit_desc_content(self, node): pass def depart_desc_content(self, node): pass def visit_inline(self, node): pass def depart_inline(self, node): pass def visit_abbreviation(self, node): abbr = node.astext() self.body.append('@abbr{') if node.hasattr('explanation') and abbr not in self.handled_abbrs: self.context.append(',%s}' % self.escape_arg(node['explanation'])) self.handled_abbrs.add(abbr) else: self.context.append('}') def depart_abbreviation(self, node): self.body.append(self.context.pop()) def visit_download_reference(self, node): pass def depart_download_reference(self, node): pass def visit_hlist(self, node): self.visit_bullet_list(node) def depart_hlist(self, node): self.depart_bullet_list(node) def visit_hlistcol(self, node): pass def depart_hlistcol(self, node): pass def visit_pending_xref(self, node): pass def depart_pending_xref(self, node): pass def visit_math(self, node): self.builder.warn('using "math" markup without a Sphinx math extension ' 'active, please use one of the math extensions ' 'described at http://sphinx-doc.org/ext/math.html') raise nodes.SkipNode visit_math_block = visit_math sphinx-1.2.2+dfsg.orig/sphinx/writers/text.py0000644000000000000000000006154712304557741017774 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.text ~~~~~~~~~~~~~~~~~~~ Custom docutils writer for plain text. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import textwrap from itertools import groupby from docutils import nodes, writers from docutils.utils import column_width from sphinx import addnodes from sphinx.locale import admonitionlabels, _ class TextWrapper(textwrap.TextWrapper): """Custom subclass that uses a different word separator regex.""" wordsep_re = re.compile( r'(\s+|' # any whitespace r'(?<=\s)(?::[a-z-]+:)?`\S+|' # interpreted text start r'[^\s\w]*\w+[a-zA-Z]-(?=\w+[a-zA-Z])|' # hyphenated words r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash def _wrap_chunks(self, chunks): """_wrap_chunks(chunks : [string]) -> [string] The original _wrap_chunks uses len() to calculate width. This method respects wide/fullwidth characters for width adjustment. """ drop_whitespace = getattr(self, 'drop_whitespace', True) #py25 compat lines = [] if self.width <= 0: raise ValueError("invalid width %r (must be > 0)" % self.width) chunks.reverse() while chunks: cur_line = [] cur_len = 0 if lines: indent = self.subsequent_indent else: indent = self.initial_indent width = self.width - column_width(indent) if drop_whitespace and chunks[-1].strip() == '' and lines: del chunks[-1] while chunks: l = column_width(chunks[-1]) if cur_len + l <= width: cur_line.append(chunks.pop()) cur_len += l else: break if chunks and column_width(chunks[-1]) > width: self._handle_long_word(chunks, cur_line, cur_len, width) if drop_whitespace and cur_line and cur_line[-1].strip() == '': del cur_line[-1] if cur_line: lines.append(indent + ''.join(cur_line)) return lines def _break_word(self, word, space_left): """_break_word(word : string, space_left : int) -> (string, string) Break line by unicode width instead of len(word). """ total = 0 for i,c in enumerate(word): total += column_width(c) if total > space_left: return word[:i-1], word[i-1:] return word, '' def _split(self, text): """_split(text : string) -> [string] Override original method that only split by 'wordsep_re'. This '_split' split wide-characters into chunk by one character. """ split = lambda t: textwrap.TextWrapper._split(self, t) chunks = [] for chunk in split(text): for w, g in groupby(chunk, column_width): if w == 1: chunks.extend(split(''.join(g))) else: chunks.extend(list(g)) return chunks def _handle_long_word(self, reversed_chunks, cur_line, cur_len, width): """_handle_long_word(chunks : [string], cur_line : [string], cur_len : int, width : int) Override original method for using self._break_word() instead of slice. """ space_left = max(width - cur_len, 1) if self.break_long_words: l, r = self._break_word(reversed_chunks[-1], space_left) cur_line.append(l) reversed_chunks[-1] = r elif not cur_line: cur_line.append(reversed_chunks.pop()) MAXWIDTH = 70 STDINDENT = 3 def my_wrap(text, width=MAXWIDTH, **kwargs): w = TextWrapper(width=width, **kwargs) return w.wrap(text) class TextWriter(writers.Writer): supported = ('text',) settings_spec = ('No options here.', '', ()) settings_defaults = {} output = None def __init__(self, builder): writers.Writer.__init__(self) self.builder = builder def translate(self): visitor = TextTranslator(self.document, self.builder) self.document.walkabout(visitor) self.output = visitor.body class TextTranslator(nodes.NodeVisitor): sectionchars = '*=-~"+`' def __init__(self, document, builder): nodes.NodeVisitor.__init__(self, document) self.builder = builder newlines = builder.config.text_newlines if newlines == 'windows': self.nl = '\r\n' elif newlines == 'native': self.nl = os.linesep else: self.nl = '\n' self.sectionchars = builder.config.text_sectionchars self.states = [[]] self.stateindent = [0] self.list_counter = [] self.sectionlevel = 0 self.lineblocklevel = 0 self.table = None def add_text(self, text): self.states[-1].append((-1, text)) def new_state(self, indent=STDINDENT): self.states.append([]) self.stateindent.append(indent) def end_state(self, wrap=True, end=[''], first=None): content = self.states.pop() maxindent = sum(self.stateindent) indent = self.stateindent.pop() result = [] toformat = [] def do_format(): if not toformat: return if wrap: res = my_wrap(''.join(toformat), width=MAXWIDTH-maxindent) else: res = ''.join(toformat).splitlines() if end: res += end result.append((indent, res)) for itemindent, item in content: if itemindent == -1: toformat.append(item) else: do_format() result.append((indent + itemindent, item)) toformat = [] do_format() if first is not None and result: itemindent, item = result[0] result_rest, result = result[1:], [] if item: toformat = [first + ' '.join(item)] do_format() #re-create `result` from `toformat` _dummy, new_item = result[0] result.insert(0, (itemindent - indent, [new_item[0]])) result[1] = (itemindent, new_item[1:]) result.extend(result_rest) self.states[-1].extend(result) def visit_document(self, node): self.new_state(0) def depart_document(self, node): self.end_state() self.body = self.nl.join(line and (' '*indent + line) for indent, lines in self.states[0] for line in lines) # XXX header/footer? def visit_highlightlang(self, node): raise nodes.SkipNode def visit_section(self, node): self._title_char = self.sectionchars[self.sectionlevel] self.sectionlevel += 1 def depart_section(self, node): self.sectionlevel -= 1 def visit_topic(self, node): self.new_state(0) def depart_topic(self, node): self.end_state() visit_sidebar = visit_topic depart_sidebar = depart_topic def visit_rubric(self, node): self.new_state(0) self.add_text('-[ ') def depart_rubric(self, node): self.add_text(' ]-') self.end_state() def visit_compound(self, node): pass def depart_compound(self, node): pass def visit_glossary(self, node): pass def depart_glossary(self, node): pass def visit_title(self, node): if isinstance(node.parent, nodes.Admonition): self.add_text(node.astext()+': ') raise nodes.SkipNode self.new_state(0) def depart_title(self, node): if isinstance(node.parent, nodes.section): char = self._title_char else: char = '^' text = ''.join(x[1] for x in self.states.pop() if x[0] == -1) self.stateindent.pop() self.states[-1].append( (0, ['', text, '%s' % (char * column_width(text)), ''])) def visit_subtitle(self, node): pass def depart_subtitle(self, node): pass def visit_attribution(self, node): self.add_text('-- ') def depart_attribution(self, node): pass def visit_desc(self, node): pass def depart_desc(self, node): pass def visit_desc_signature(self, node): self.new_state(0) if node.parent['objtype'] in ('class', 'exception'): self.add_text('%s ' % node.parent['objtype']) def depart_desc_signature(self, node): # XXX: wrap signatures in a way that makes sense self.end_state(wrap=False, end=None) def visit_desc_name(self, node): pass def depart_desc_name(self, node): pass def visit_desc_addname(self, node): pass def depart_desc_addname(self, node): pass def visit_desc_type(self, node): pass def depart_desc_type(self, node): pass def visit_desc_returns(self, node): self.add_text(' -> ') def depart_desc_returns(self, node): pass def visit_desc_parameterlist(self, node): self.add_text('(') self.first_param = 1 def depart_desc_parameterlist(self, node): self.add_text(')') def visit_desc_parameter(self, node): if not self.first_param: self.add_text(', ') else: self.first_param = 0 self.add_text(node.astext()) raise nodes.SkipNode def visit_desc_optional(self, node): self.add_text('[') def depart_desc_optional(self, node): self.add_text(']') def visit_desc_annotation(self, node): pass def depart_desc_annotation(self, node): pass def visit_desc_content(self, node): self.new_state() self.add_text(self.nl) def depart_desc_content(self, node): self.end_state() def visit_figure(self, node): self.new_state() def depart_figure(self, node): self.end_state() def visit_caption(self, node): pass def depart_caption(self, node): pass def visit_productionlist(self, node): self.new_state() names = [] for production in node: names.append(production['tokenname']) maxlen = max(len(name) for name in names) lastname = None for production in node: if production['tokenname']: self.add_text(production['tokenname'].ljust(maxlen) + ' ::=') lastname = production['tokenname'] elif lastname is not None: self.add_text('%s ' % (' '*len(lastname))) self.add_text(production.astext() + self.nl) self.end_state(wrap=False) raise nodes.SkipNode def visit_footnote(self, node): self._footnote = node.children[0].astext().strip() self.new_state(len(self._footnote) + 3) def depart_footnote(self, node): self.end_state(first='[%s] ' % self._footnote) def visit_citation(self, node): if len(node) and isinstance(node[0], nodes.label): self._citlabel = node[0].astext() else: self._citlabel = '' self.new_state(len(self._citlabel) + 3) def depart_citation(self, node): self.end_state(first='[%s] ' % self._citlabel) def visit_label(self, node): raise nodes.SkipNode def visit_legend(self, node): pass def depart_legend(self, node): pass # XXX: option list could use some better styling def visit_option_list(self, node): pass def depart_option_list(self, node): pass def visit_option_list_item(self, node): self.new_state(0) def depart_option_list_item(self, node): self.end_state() def visit_option_group(self, node): self._firstoption = True def depart_option_group(self, node): self.add_text(' ') def visit_option(self, node): if self._firstoption: self._firstoption = False else: self.add_text(', ') def depart_option(self, node): pass def visit_option_string(self, node): pass def depart_option_string(self, node): pass def visit_option_argument(self, node): self.add_text(node['delimiter']) def depart_option_argument(self, node): pass def visit_description(self, node): pass def depart_description(self, node): pass def visit_tabular_col_spec(self, node): raise nodes.SkipNode def visit_colspec(self, node): self.table[0].append(node['colwidth']) raise nodes.SkipNode def visit_tgroup(self, node): pass def depart_tgroup(self, node): pass def visit_thead(self, node): pass def depart_thead(self, node): pass def visit_tbody(self, node): self.table.append('sep') def depart_tbody(self, node): pass def visit_row(self, node): self.table.append([]) def depart_row(self, node): pass def visit_entry(self, node): if node.has_key('morerows') or node.has_key('morecols'): raise NotImplementedError('Column or row spanning cells are ' 'not implemented.') self.new_state(0) def depart_entry(self, node): text = self.nl.join(self.nl.join(x[1]) for x in self.states.pop()) self.stateindent.pop() self.table[-1].append(text) def visit_table(self, node): if self.table: raise NotImplementedError('Nested tables are not supported.') self.new_state(0) self.table = [[]] def depart_table(self, node): lines = self.table[1:] fmted_rows = [] colwidths = self.table[0] realwidths = colwidths[:] separator = 0 # don't allow paragraphs in table cells for now for line in lines: if line == 'sep': separator = len(fmted_rows) else: cells = [] for i, cell in enumerate(line): par = my_wrap(cell, width=colwidths[i]) if par: maxwidth = max(map(column_width, par)) else: maxwidth = 0 realwidths[i] = max(realwidths[i], maxwidth) cells.append(par) fmted_rows.append(cells) def writesep(char='-'): out = ['+'] for width in realwidths: out.append(char * (width+2)) out.append('+') self.add_text(''.join(out) + self.nl) def writerow(row): lines = zip(*row) for line in lines: out = ['|'] for i, cell in enumerate(line): if cell: adjust_len = len(cell) - column_width(cell) out.append(' ' + cell.ljust( realwidths[i] + 1 + adjust_len)) else: out.append(' ' * (realwidths[i] + 2)) out.append('|') self.add_text(''.join(out) + self.nl) for i, row in enumerate(fmted_rows): if separator and i == separator: writesep('=') else: writesep('-') writerow(row) writesep('-') self.table = None self.end_state(wrap=False) def visit_acks(self, node): self.new_state(0) self.add_text(', '.join(n.astext() for n in node.children[0].children) + '.') self.end_state() raise nodes.SkipNode def visit_image(self, node): if 'alt' in node.attributes: self.add_text(_('[image: %s]') % node['alt']) self.add_text(_('[image]')) raise nodes.SkipNode def visit_transition(self, node): indent = sum(self.stateindent) self.new_state(0) self.add_text('=' * (MAXWIDTH - indent)) self.end_state() raise nodes.SkipNode def visit_bullet_list(self, node): self.list_counter.append(-1) def depart_bullet_list(self, node): self.list_counter.pop() def visit_enumerated_list(self, node): self.list_counter.append(node.get('start', 1) - 1) def depart_enumerated_list(self, node): self.list_counter.pop() def visit_definition_list(self, node): self.list_counter.append(-2) def depart_definition_list(self, node): self.list_counter.pop() def visit_list_item(self, node): if self.list_counter[-1] == -1: # bullet list self.new_state(2) elif self.list_counter[-1] == -2: # definition list pass else: # enumerated list self.list_counter[-1] += 1 self.new_state(len(str(self.list_counter[-1])) + 2) def depart_list_item(self, node): if self.list_counter[-1] == -1: self.end_state(first='* ') elif self.list_counter[-1] == -2: pass else: self.end_state(first='%s. ' % self.list_counter[-1]) def visit_definition_list_item(self, node): self._li_has_classifier = len(node) >= 2 and \ isinstance(node[1], nodes.classifier) def depart_definition_list_item(self, node): pass def visit_term(self, node): self.new_state(0) def depart_term(self, node): if not self._li_has_classifier: self.end_state(end=None) def visit_termsep(self, node): self.add_text(', ') raise nodes.SkipNode def visit_classifier(self, node): self.add_text(' : ') def depart_classifier(self, node): self.end_state(end=None) def visit_definition(self, node): self.new_state() def depart_definition(self, node): self.end_state() def visit_field_list(self, node): pass def depart_field_list(self, node): pass def visit_field(self, node): pass def depart_field(self, node): pass def visit_field_name(self, node): self.new_state(0) def depart_field_name(self, node): self.add_text(':') self.end_state(end=None) def visit_field_body(self, node): self.new_state() def depart_field_body(self, node): self.end_state() def visit_centered(self, node): pass def depart_centered(self, node): pass def visit_hlist(self, node): pass def depart_hlist(self, node): pass def visit_hlistcol(self, node): pass def depart_hlistcol(self, node): pass def visit_admonition(self, node): self.new_state(0) def depart_admonition(self, node): self.end_state() def _visit_admonition(self, node): self.new_state(2) def _make_depart_admonition(name): def depart_admonition(self, node): self.end_state(first=admonitionlabels[name] + ': ') return depart_admonition visit_attention = _visit_admonition depart_attention = _make_depart_admonition('attention') visit_caution = _visit_admonition depart_caution = _make_depart_admonition('caution') visit_danger = _visit_admonition depart_danger = _make_depart_admonition('danger') visit_error = _visit_admonition depart_error = _make_depart_admonition('error') visit_hint = _visit_admonition depart_hint = _make_depart_admonition('hint') visit_important = _visit_admonition depart_important = _make_depart_admonition('important') visit_note = _visit_admonition depart_note = _make_depart_admonition('note') visit_tip = _visit_admonition depart_tip = _make_depart_admonition('tip') visit_warning = _visit_admonition depart_warning = _make_depart_admonition('warning') visit_seealso = _visit_admonition depart_seealso = _make_depart_admonition('seealso') def visit_versionmodified(self, node): self.new_state(0) def depart_versionmodified(self, node): self.end_state() def visit_literal_block(self, node): self.new_state() def depart_literal_block(self, node): self.end_state(wrap=False) def visit_doctest_block(self, node): self.new_state(0) def depart_doctest_block(self, node): self.end_state(wrap=False) def visit_line_block(self, node): self.new_state() self.lineblocklevel += 1 def depart_line_block(self, node): self.lineblocklevel -= 1 self.end_state(wrap=False, end=None) if not self.lineblocklevel: self.add_text('\n') def visit_line(self, node): pass def depart_line(self, node): self.add_text('\n') def visit_block_quote(self, node): self.new_state() def depart_block_quote(self, node): self.end_state() def visit_compact_paragraph(self, node): pass def depart_compact_paragraph(self, node): pass def visit_paragraph(self, node): if not isinstance(node.parent, nodes.Admonition) or \ isinstance(node.parent, addnodes.seealso): self.new_state(0) def depart_paragraph(self, node): if not isinstance(node.parent, nodes.Admonition) or \ isinstance(node.parent, addnodes.seealso): self.end_state() def visit_target(self, node): raise nodes.SkipNode def visit_index(self, node): raise nodes.SkipNode def visit_toctree(self, node): raise nodes.SkipNode def visit_substitution_definition(self, node): raise nodes.SkipNode def visit_pending_xref(self, node): pass def depart_pending_xref(self, node): pass def visit_reference(self, node): pass def depart_reference(self, node): pass def visit_download_reference(self, node): pass def depart_download_reference(self, node): pass def visit_emphasis(self, node): self.add_text('*') def depart_emphasis(self, node): self.add_text('*') def visit_literal_emphasis(self, node): self.add_text('*') def depart_literal_emphasis(self, node): self.add_text('*') def visit_strong(self, node): self.add_text('**') def depart_strong(self, node): self.add_text('**') def visit_abbreviation(self, node): self.add_text('') def depart_abbreviation(self, node): if node.hasattr('explanation'): self.add_text(' (%s)' % node['explanation']) def visit_title_reference(self, node): self.add_text('*') def depart_title_reference(self, node): self.add_text('*') def visit_literal(self, node): self.add_text('"') def depart_literal(self, node): self.add_text('"') def visit_subscript(self, node): self.add_text('_') def depart_subscript(self, node): pass def visit_superscript(self, node): self.add_text('^') def depart_superscript(self, node): pass def visit_footnote_reference(self, node): self.add_text('[%s]' % node.astext()) raise nodes.SkipNode def visit_citation_reference(self, node): self.add_text('[%s]' % node.astext()) raise nodes.SkipNode def visit_Text(self, node): self.add_text(node.astext()) def depart_Text(self, node): pass def visit_generated(self, node): pass def depart_generated(self, node): pass def visit_inline(self, node): pass def depart_inline(self, node): pass def visit_container(self, node): pass def depart_container(self, node): pass def visit_problematic(self, node): self.add_text('>>') def depart_problematic(self, node): self.add_text('<<') def visit_system_message(self, node): self.new_state(0) self.add_text('' % node.astext()) self.end_state() raise nodes.SkipNode def visit_comment(self, node): raise nodes.SkipNode def visit_meta(self, node): # only valid for HTML raise nodes.SkipNode def visit_raw(self, node): if 'text' in node.get('format', '').split(): self.body.append(node.astext()) raise nodes.SkipNode def visit_math(self, node): self.builder.warn('using "math" markup without a Sphinx math extension ' 'active, please use one of the math extensions ' 'described at http://sphinx-doc.org/ext/math.html', (self.builder.current_docname, node.line)) raise nodes.SkipNode visit_math_block = visit_math def unknown_visit(self, node): raise NotImplementedError('Unknown node: ' + node.__class__.__name__) sphinx-1.2.2+dfsg.orig/sphinx/writers/__init__.py0000644000000000000000000000032612304304673020525 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers ~~~~~~~~~~~~~~ Custom docutils writers. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ sphinx-1.2.2+dfsg.orig/sphinx/writers/xml.py0000644000000000000000000000255312304304673017572 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.xml ~~~~~~~~~~~~~~~~~~ Docutils-native XML and pseudo-XML writers. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import writers from docutils.writers.docutils_xml import Writer as BaseXMLWriter class XMLWriter(BaseXMLWriter): def __init__(self, builder): BaseXMLWriter.__init__(self) self.builder = builder def translate(self, *args, **kwargs): self.document.settings.newlines = \ self.document.settings.indents = \ self.builder.env.config.xml_pretty self.document.settings.xml_declaration = True self.document.settings.doctype_declaration = True return BaseXMLWriter.translate(self) class PseudoXMLWriter(writers.Writer): supported = ('pprint', 'pformat', 'pseudoxml') """Formats this writer supports.""" config_section = 'pseudoxml writer' config_section_dependencies = ('writers',) output = None """Final translated form of `document`.""" def __init__(self, builder): writers.Writer.__init__(self) self.builder = builder def translate(self): self.output = self.document.pformat() def supports(self, format): """This writer supports all format-specific elements.""" return True sphinx-1.2.2+dfsg.orig/sphinx/writers/html.py0000644000000000000000000005740212304557741017747 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.writers.html ~~~~~~~~~~~~~~~~~~~ docutils writers handling Sphinx' custom nodes. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import posixpath import os import copy from docutils import nodes from docutils.writers.html4css1 import Writer, HTMLTranslator as BaseTranslator from sphinx import addnodes from sphinx.locale import admonitionlabels, _ from sphinx.util.smartypants import sphinx_smarty_pants try: from PIL import Image # check for the Python Imaging Library except ImportError: try: import Image except ImportError: Image = None # A good overview of the purpose behind these classes can be found here: # http://www.arnebrodowski.de/blog/write-your-own-restructuredtext-writer.html class HTMLWriter(Writer): # override embed-stylesheet default value to 0. settings_spec = copy.deepcopy(Writer.settings_spec) for _setting in settings_spec[2]: if '--embed-stylesheet' in _setting[1]: _setting[2]['default'] = 0 def __init__(self, builder): Writer.__init__(self) self.builder = builder def translate(self): # sadly, this is mostly copied from parent class self.visitor = visitor = self.builder.translator_class(self.builder, self.document) self.document.walkabout(visitor) self.output = visitor.astext() for attr in ('head_prefix', 'stylesheet', 'head', 'body_prefix', 'body_pre_docinfo', 'docinfo', 'body', 'fragment', 'body_suffix', 'meta', 'title', 'subtitle', 'header', 'footer', 'html_prolog', 'html_head', 'html_title', 'html_subtitle', 'html_body', ): setattr(self, attr, getattr(visitor, attr, None)) self.clean_meta = ''.join(visitor.meta[2:]) class HTMLTranslator(BaseTranslator): """ Our custom HTML translator. """ def __init__(self, builder, *args, **kwds): BaseTranslator.__init__(self, *args, **kwds) self.highlighter = builder.highlighter self.no_smarty = 0 self.builder = builder self.highlightlang = builder.config.highlight_language self.highlightlinenothreshold = sys.maxint self.protect_literal_text = 0 self.permalink_text = builder.config.html_add_permalinks # support backwards-compatible setting to a bool if not isinstance(self.permalink_text, basestring): self.permalink_text = self.permalink_text and u'\u00B6' or '' self.permalink_text = self.encode(self.permalink_text) self.secnumber_suffix = builder.config.html_secnumber_suffix self.param_separator = '' self.optional_param_level = 0 self._table_row_index = 0 def visit_start_of_file(self, node): # only occurs in the single-file builder self.body.append('' % node['docname']) def depart_start_of_file(self, node): pass def visit_desc(self, node): self.body.append(self.starttag(node, 'dl', CLASS=node['objtype'])) def depart_desc(self, node): self.body.append('\n\n') def visit_desc_signature(self, node): # the id is set automatically self.body.append(self.starttag(node, 'dt')) # anchor for per-desc interactive data if node.parent['objtype'] != 'describe' \ and node['ids'] and node['first']: self.body.append('' % node['ids'][0]) def depart_desc_signature(self, node): if node['ids'] and self.permalink_text and self.builder.add_permalinks: self.body.append(u'%s' % ( _('Permalink to this definition'), self.permalink_text)) self.body.append('\n') def visit_desc_addname(self, node): self.body.append(self.starttag(node, 'tt', '', CLASS='descclassname')) def depart_desc_addname(self, node): self.body.append('') def visit_desc_type(self, node): pass def depart_desc_type(self, node): pass def visit_desc_returns(self, node): self.body.append(' → ') def depart_desc_returns(self, node): pass def visit_desc_name(self, node): self.body.append(self.starttag(node, 'tt', '', CLASS='descname')) def depart_desc_name(self, node): self.body.append('') def visit_desc_parameterlist(self, node): self.body.append('(') self.first_param = 1 self.optional_param_level = 0 # How many required parameters are left. self.required_params_left = sum([isinstance(c, addnodes.desc_parameter) for c in node.children]) self.param_separator = node.child_text_separator def depart_desc_parameterlist(self, node): self.body.append(')') # If required parameters are still to come, then put the comma after # the parameter. Otherwise, put the comma before. This ensures that # signatures like the following render correctly (see issue #1001): # # foo([a, ]b, c[, d]) # def visit_desc_parameter(self, node): if self.first_param: self.first_param = 0 elif not self.required_params_left: self.body.append(self.param_separator) if self.optional_param_level == 0: self.required_params_left -= 1 if not node.hasattr('noemph'): self.body.append('') def depart_desc_parameter(self, node): if not node.hasattr('noemph'): self.body.append('') if self.required_params_left: self.body.append(self.param_separator) def visit_desc_optional(self, node): self.optional_param_level += 1 self.body.append('[') def depart_desc_optional(self, node): self.optional_param_level -= 1 self.body.append(']') def visit_desc_annotation(self, node): self.body.append(self.starttag(node, 'em', '', CLASS='property')) def depart_desc_annotation(self, node): self.body.append('') def visit_desc_content(self, node): self.body.append(self.starttag(node, 'dd', '')) def depart_desc_content(self, node): self.body.append('') def visit_versionmodified(self, node): self.body.append(self.starttag(node, 'div', CLASS=node['type'])) def depart_versionmodified(self, node): self.body.append('\n') # overwritten def visit_reference(self, node): atts = {'class': 'reference'} if node.get('internal') or 'refuri' not in node: atts['class'] += ' internal' else: atts['class'] += ' external' if 'refuri' in node: atts['href'] = node['refuri'] if self.settings.cloak_email_addresses and \ atts['href'].startswith('mailto:'): atts['href'] = self.cloak_mailto(atts['href']) self.in_mailto = 1 else: assert 'refid' in node, \ 'References must have "refuri" or "refid" attribute.' atts['href'] = '#' + node['refid'] if not isinstance(node.parent, nodes.TextElement): assert len(node) == 1 and isinstance(node[0], nodes.image) atts['class'] += ' image-reference' if 'reftitle' in node: atts['title'] = node['reftitle'] self.body.append(self.starttag(node, 'a', '', **atts)) if node.get('secnumber'): self.body.append(('%s' + self.secnumber_suffix) % '.'.join(map(str, node['secnumber']))) # overwritten -- we don't want source comments to show up in the HTML def visit_comment(self, node): raise nodes.SkipNode # overwritten def visit_admonition(self, node, name=''): self.body.append(self.starttag( node, 'div', CLASS=('admonition ' + name))) if name: node.insert(0, nodes.title(name, admonitionlabels[name])) self.set_first_last(node) def visit_seealso(self, node): self.visit_admonition(node, 'seealso') def depart_seealso(self, node): self.depart_admonition(node) def add_secnumber(self, node): if node.get('secnumber'): self.body.append('.'.join(map(str, node['secnumber'])) + self.secnumber_suffix) elif isinstance(node.parent, nodes.section): anchorname = '#' + node.parent['ids'][0] if anchorname not in self.builder.secnumbers: anchorname = '' # try first heading which has no anchor if self.builder.secnumbers.get(anchorname): numbers = self.builder.secnumbers[anchorname] self.body.append('.'.join(map(str, numbers)) + self.secnumber_suffix) # overwritten to avoid emitting empty
    def visit_bullet_list(self, node): if len(node) == 1 and node[0].tagname == 'toctree': raise nodes.SkipNode BaseTranslator.visit_bullet_list(self, node) # overwritten def visit_title(self, node): BaseTranslator.visit_title(self, node) self.add_secnumber(node) # overwritten def visit_literal_block(self, node): if node.rawsource != node.astext(): # most probably a parsed-literal block -- don't highlight return BaseTranslator.visit_literal_block(self, node) lang = self.highlightlang linenos = node.rawsource.count('\n') >= \ self.highlightlinenothreshold - 1 highlight_args = node.get('highlight_args', {}) if node.has_key('language'): # code-block directives lang = node['language'] highlight_args['force'] = True if node.has_key('linenos'): linenos = node['linenos'] def warner(msg): self.builder.warn(msg, (self.builder.current_docname, node.line)) highlighted = self.highlighter.highlight_block( node.rawsource, lang, warn=warner, linenos=linenos, **highlight_args) starttag = self.starttag(node, 'div', suffix='', CLASS='highlight-%s' % lang) self.body.append(starttag + highlighted + '\n') raise nodes.SkipNode def visit_doctest_block(self, node): self.visit_literal_block(node) # overwritten to add the
    (for XHTML compliance) def visit_block_quote(self, node): self.body.append(self.starttag(node, 'blockquote') + '
    ') def depart_block_quote(self, node): self.body.append('
    \n') # overwritten def visit_literal(self, node): self.body.append(self.starttag(node, 'tt', '', CLASS='docutils literal')) self.protect_literal_text += 1 def depart_literal(self, node): self.protect_literal_text -= 1 self.body.append('') def visit_productionlist(self, node): self.body.append(self.starttag(node, 'pre')) names = [] for production in node: names.append(production['tokenname']) maxlen = max(len(name) for name in names) lastname = None for production in node: if production['tokenname']: lastname = production['tokenname'].ljust(maxlen) self.body.append(self.starttag(production, 'strong', '')) self.body.append(lastname + ' ::= ') elif lastname is not None: self.body.append('%s ' % (' '*len(lastname))) production.walkabout(self) self.body.append('\n') self.body.append('\n') raise nodes.SkipNode def depart_productionlist(self, node): pass def visit_production(self, node): pass def depart_production(self, node): pass def visit_centered(self, node): self.body.append(self.starttag(node, 'p', CLASS="centered") + '') def depart_centered(self, node): self.body.append('

    ') # overwritten def should_be_compact_paragraph(self, node): """Determine if the

    tags around paragraph can be omitted.""" if isinstance(node.parent, addnodes.desc_content): # Never compact desc_content items. return False if isinstance(node.parent, addnodes.versionmodified): # Never compact versionmodified nodes. return False return BaseTranslator.should_be_compact_paragraph(self, node) def visit_compact_paragraph(self, node): pass def depart_compact_paragraph(self, node): pass def visit_highlightlang(self, node): self.highlightlang = node['lang'] self.highlightlinenothreshold = node['linenothreshold'] def depart_highlightlang(self, node): pass def visit_download_reference(self, node): if node.hasattr('filename'): self.body.append( '' % posixpath.join(self.builder.dlpath, node['filename'])) self.context.append('') else: self.context.append('') def depart_download_reference(self, node): self.body.append(self.context.pop()) # overwritten def visit_image(self, node): olduri = node['uri'] # rewrite the URI if the environment knows about it if olduri in self.builder.images: node['uri'] = posixpath.join(self.builder.imgpath, self.builder.images[olduri]) if node['uri'].lower().endswith('svg') or \ node['uri'].lower().endswith('svgz'): atts = {'src': node['uri']} if node.has_key('width'): atts['width'] = node['width'] if node.has_key('height'): atts['height'] = node['height'] if node.has_key('alt'): atts['alt'] = node['alt'] if node.has_key('align'): self.body.append('

    ' % (node['align'], node['align'])) self.context.append('
    \n') else: self.context.append('') self.body.append(self.emptytag(node, 'img', '', **atts)) return if node.has_key('scale'): # Try to figure out image height and width. Docutils does that too, # but it tries the final file name, which does not necessarily exist # yet at the time the HTML file is written. if Image and not (node.has_key('width') and node.has_key('height')): try: im = Image.open(os.path.join(self.builder.srcdir, olduri)) except (IOError, # Source image can't be found or opened UnicodeError): # PIL doesn't like Unicode paths. pass else: if not node.has_key('width'): node['width'] = str(im.size[0]) if not node.has_key('height'): node['height'] = str(im.size[1]) try: im.fp.close() except Exception: pass BaseTranslator.visit_image(self, node) def visit_toctree(self, node): # this only happens when formatting a toc from env.tocs -- in this # case we don't want to include the subtree raise nodes.SkipNode def visit_index(self, node): raise nodes.SkipNode def visit_tabular_col_spec(self, node): raise nodes.SkipNode def visit_glossary(self, node): pass def depart_glossary(self, node): pass def visit_acks(self, node): pass def depart_acks(self, node): pass def visit_hlist(self, node): self.body.append('') def depart_hlist(self, node): self.body.append('
    \n') def visit_hlistcol(self, node): self.body.append('') def depart_hlistcol(self, node): self.body.append('') def bulk_text_processor(self, text): return text # overwritten def visit_Text(self, node): text = node.astext() encoded = self.encode(text) if self.protect_literal_text: # moved here from base class's visit_literal to support # more formatting in literal nodes for token in self.words_and_spaces.findall(encoded): if token.strip(): # protect literal text from line wrapping self.body.append('%s' % token) elif token in ' \n': # allow breaks at whitespace self.body.append(token) else: # protect runs of multiple spaces; the last one can wrap self.body.append(' ' * (len(token)-1) + ' ') else: if self.in_mailto and self.settings.cloak_email_addresses: encoded = self.cloak_email(encoded) else: encoded = self.bulk_text_processor(encoded) self.body.append(encoded) def visit_note(self, node): self.visit_admonition(node, 'note') def depart_note(self, node): self.depart_admonition(node) def visit_warning(self, node): self.visit_admonition(node, 'warning') def depart_warning(self, node): self.depart_admonition(node) def visit_attention(self, node): self.visit_admonition(node, 'attention') def depart_attention(self, node): self.depart_admonition() def visit_caution(self, node): self.visit_admonition(node, 'caution') def depart_caution(self, node): self.depart_admonition() def visit_danger(self, node): self.visit_admonition(node, 'danger') def depart_danger(self, node): self.depart_admonition() def visit_error(self, node): self.visit_admonition(node, 'error') def depart_error(self, node): self.depart_admonition() def visit_hint(self, node): self.visit_admonition(node, 'hint') def depart_hint(self, node): self.depart_admonition() def visit_important(self, node): self.visit_admonition(node, 'important') def depart_important(self, node): self.depart_admonition() def visit_tip(self, node): self.visit_admonition(node, 'tip') def depart_tip(self, node): self.depart_admonition() # these are only handled specially in the SmartyPantsHTMLTranslator def visit_literal_emphasis(self, node): return self.visit_emphasis(node) def depart_literal_emphasis(self, node): return self.depart_emphasis(node) def visit_abbreviation(self, node): attrs = {} if node.hasattr('explanation'): attrs['title'] = node['explanation'] self.body.append(self.starttag(node, 'abbr', '', **attrs)) def depart_abbreviation(self, node): self.body.append('') def visit_termsep(self, node): self.body.append('
    ') raise nodes.SkipNode def depart_title(self, node): close_tag = self.context[-1] if (self.permalink_text and self.builder.add_permalinks and node.parent.hasattr('ids') and node.parent['ids']): aname = node.parent['ids'][0] # add permalink anchor if close_tag.startswith('%s' % ( _('Permalink to this headline'), self.permalink_text)) elif close_tag.startswith('%s' % ( _('Permalink to this headline'), self.permalink_text)) BaseTranslator.depart_title(self, node) # overwritten to add even/odd classes def visit_table(self, node): self._table_row_index = 0 return BaseTranslator.visit_table(self, node) def visit_row(self, node): self._table_row_index += 1 if self._table_row_index % 2 == 0: node['classes'].append('row-even') else: node['classes'].append('row-odd') self.body.append(self.starttag(node, 'tr', '')) node.column = 0 def visit_field_list(self, node): self._fieldlist_row_index = 0 return BaseTranslator.visit_field_list(self, node) def visit_field(self, node): self._fieldlist_row_index += 1 if self._fieldlist_row_index % 2 == 0: node['classes'].append('field-even') else: node['classes'].append('field-odd') self.body.append(self.starttag(node, 'tr', '', CLASS='field')) def visit_math(self, node, math_env=''): self.builder.warn('using "math" markup without a Sphinx math extension ' 'active, please use one of the math extensions ' 'described at http://sphinx-doc.org/ext/math.html', (self.builder.current_docname, node.line)) raise nodes.SkipNode def unknown_visit(self, node): raise NotImplementedError('Unknown node: ' + node.__class__.__name__) class SmartyPantsHTMLTranslator(HTMLTranslator): """ Handle ordinary text via smartypants, converting quotes and dashes to the correct entities. """ def __init__(self, *args, **kwds): self.no_smarty = 0 HTMLTranslator.__init__(self, *args, **kwds) def visit_literal(self, node): self.no_smarty += 1 try: # this raises SkipNode HTMLTranslator.visit_literal(self, node) finally: self.no_smarty -= 1 def visit_literal_block(self, node): self.no_smarty += 1 try: HTMLTranslator.visit_literal_block(self, node) except nodes.SkipNode: # HTMLTranslator raises SkipNode for simple literal blocks, # but not for parsed literal blocks self.no_smarty -= 1 raise def depart_literal_block(self, node): HTMLTranslator.depart_literal_block(self, node) self.no_smarty -= 1 def visit_literal_emphasis(self, node): self.no_smarty += 1 self.visit_emphasis(node) def depart_literal_emphasis(self, node): self.depart_emphasis(node) self.no_smarty -= 1 def visit_desc_signature(self, node): self.no_smarty += 1 HTMLTranslator.visit_desc_signature(self, node) def depart_desc_signature(self, node): self.no_smarty -= 1 HTMLTranslator.depart_desc_signature(self, node) def visit_productionlist(self, node): self.no_smarty += 1 try: HTMLTranslator.visit_productionlist(self, node) finally: self.no_smarty -= 1 def visit_option(self, node): self.no_smarty += 1 HTMLTranslator.visit_option(self, node) def depart_option(self, node): self.no_smarty -= 1 HTMLTranslator.depart_option(self, node) def bulk_text_processor(self, text): if self.no_smarty <= 0: return sphinx_smarty_pants(text) return text sphinx-1.2.2+dfsg.orig/sphinx/versioning.py0000644000000000000000000001025012304557741017455 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.versioning ~~~~~~~~~~~~~~~~~ Implements the low-level algorithms Sphinx uses for the versioning of doctrees. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from uuid import uuid4 from operator import itemgetter from sphinx.util.pycompat import product, zip_longest, all # anything below that ratio is considered equal/changed VERSIONING_RATIO = 65 def add_uids(doctree, condition): """Add a unique id to every node in the `doctree` which matches the condition and yield the nodes. :param doctree: A :class:`docutils.nodes.document` instance. :param condition: A callable which returns either ``True`` or ``False`` for a given node. """ for node in doctree.traverse(condition): node.uid = uuid4().hex yield node def merge_doctrees(old, new, condition): """Merge the `old` doctree with the `new` one while looking at nodes matching the `condition`. Each node which replaces another one or has been added to the `new` doctree will be yielded. :param condition: A callable which returns either ``True`` or ``False`` for a given node. """ old_iter = old.traverse(condition) new_iter = new.traverse(condition) old_nodes = [] new_nodes = [] ratios = {} seen = set() # compare the nodes each doctree in order for old_node, new_node in zip_longest(old_iter, new_iter): if old_node is None: new_nodes.append(new_node) continue if new_node is None: old_nodes.append(old_node) continue ratio = get_ratio(old_node.rawsource, new_node.rawsource) if ratio == 0: new_node.uid = old_node.uid seen.add(new_node) else: ratios[old_node, new_node] = ratio old_nodes.append(old_node) new_nodes.append(new_node) # calculate the ratios for each unequal pair of nodes, should we stumble # on a pair which is equal we set the uid and add it to the seen ones for old_node, new_node in product(old_nodes, new_nodes): if new_node in seen or (old_node, new_node) in ratios: continue ratio = get_ratio(old_node.rawsource, new_node.rawsource) if ratio == 0: new_node.uid = old_node.uid seen.add(new_node) else: ratios[old_node, new_node] = ratio # choose the old node with the best ratio for each new node and set the uid # as long as the ratio is under a certain value, in which case we consider # them not changed but different ratios = sorted(ratios.iteritems(), key=itemgetter(1)) for (old_node, new_node), ratio in ratios: if new_node in seen: continue else: seen.add(new_node) if ratio < VERSIONING_RATIO: new_node.uid = old_node.uid else: new_node.uid = uuid4().hex yield new_node # create new uuids for any new node we left out earlier, this happens # if one or more nodes are simply added. for new_node in set(new_nodes) - seen: new_node.uid = uuid4().hex yield new_node def get_ratio(old, new): """Return a "similiarity ratio" (in percent) representing the similarity between the two strings where 0 is equal and anything above less than equal. """ if not all([old, new]): return VERSIONING_RATIO return levenshtein_distance(old, new) / (len(old) / 100.0) def levenshtein_distance(a, b): """Return the Levenshtein edit distance between two strings *a* and *b*.""" if a == b: return 0 if len(a) < len(b): a, b = b, a if not a: return len(b) previous_row = xrange(len(b) + 1) for i, column1 in enumerate(a): current_row = [i + 1] for j, column2 in enumerate(b): insertions = previous_row[j + 1] + 1 deletions = current_row[j] + 1 substitutions = previous_row[j] + (column1 != column2) current_row.append(min(insertions, deletions, substitutions)) previous_row = current_row return previous_row[-1] sphinx-1.2.2+dfsg.orig/sphinx/pygments_styles.py0000644000000000000000000000572112304304673020544 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.pygments_styles ~~~~~~~~~~~~~~~~~~~~~~ Sphinx theme specific highlighting styles. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from pygments.style import Style from pygments.styles.friendly import FriendlyStyle from pygments.token import Generic, Comment, Number, Whitespace, Keyword, \ Operator, Name, String, Error class NoneStyle(Style): """Style without any styling.""" class SphinxStyle(Style): """ Like friendly, but a bit darker to enhance contrast on the green background. """ background_color = '#eeffcc' default_style = '' styles = FriendlyStyle.styles styles.update({ Generic.Output: '#333', Comment: 'italic #408090', Number: '#208050', }) class PyramidStyle(Style): """ Pylons/pyramid pygments style based on friendly style, by Blaise Laflamme. """ # work in progress... background_color = "#f8f8f8" default_style = "" styles = { Whitespace: "#bbbbbb", Comment: "italic #60a0b0", Comment.Preproc: "noitalic #007020", Comment.Special: "noitalic bg:#fff0f0", Keyword: "bold #007020", Keyword.Pseudo: "nobold", Keyword.Type: "nobold #902000", Operator: "#666666", Operator.Word: "bold #007020", Name.Builtin: "#007020", Name.Function: "#06287e", Name.Class: "bold #0e84b5", Name.Namespace: "bold #0e84b5", Name.Exception: "#007020", Name.Variable: "#bb60d5", Name.Constant: "#60add5", Name.Label: "bold #002070", Name.Entity: "bold #d55537", Name.Attribute: "#0e84b5", Name.Tag: "bold #062873", Name.Decorator: "bold #555555", String: "#4070a0", String.Doc: "italic", String.Interpol: "italic #70a0d0", String.Escape: "bold #4070a0", String.Regex: "#235388", String.Symbol: "#517918", String.Other: "#c65d09", Number: "#40a070", Generic.Heading: "bold #000080", Generic.Subheading: "bold #800080", Generic.Deleted: "#A00000", Generic.Inserted: "#00A000", Generic.Error: "#FF0000", Generic.Emph: "italic", Generic.Strong: "bold", Generic.Prompt: "bold #c65d09", Generic.Output: "#888", Generic.Traceback: "#04D", Error: "#a40000 bg:#fbe3e4" } sphinx-1.2.2+dfsg.orig/sphinx/transforms.py0000644000000000000000000004517712304557741017510 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.transforms ~~~~~~~~~~~~~~~~~ Docutils transforms used by Sphinx when reading documents. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from os import path from docutils import nodes from docutils.utils import new_document, relative_path from docutils.parsers.rst import Parser as RSTParser from docutils.transforms import Transform from docutils.transforms.parts import ContentsFilter from sphinx import addnodes from sphinx.locale import _, init as init_locale from sphinx.util import split_index_msg from sphinx.util.nodes import traverse_translatable_index, extract_messages from sphinx.util.osutil import ustrftime, find_catalog from sphinx.util.compat import docutils_version from sphinx.util.pycompat import all from sphinx.domains.std import ( make_term_from_paragraph_node, make_termnodes_from_paragraph_node, ) default_substitutions = set([ 'version', 'release', 'today', ]) class DefaultSubstitutions(Transform): """ Replace some substitutions if they aren't defined in the document. """ # run before the default Substitutions default_priority = 210 def apply(self): config = self.document.settings.env.config # only handle those not otherwise defined in the document to_handle = default_substitutions - set(self.document.substitution_defs) for ref in self.document.traverse(nodes.substitution_reference): refname = ref['refname'] if refname in to_handle: text = config[refname] if refname == 'today' and not text: # special handling: can also specify a strftime format text = ustrftime(config.today_fmt or _('%B %d, %Y')) ref.replace_self(nodes.Text(text, text)) class MoveModuleTargets(Transform): """ Move module targets that are the first thing in a section to the section title. XXX Python specific """ default_priority = 210 def apply(self): for node in self.document.traverse(nodes.target): if not node['ids']: continue if (node.has_key('ismod') and node.parent.__class__ is nodes.section and # index 0 is the section title node node.parent.index(node) == 1): node.parent['ids'][0:0] = node['ids'] node.parent.remove(node) class HandleCodeBlocks(Transform): """ Several code block related transformations. """ default_priority = 210 def apply(self): # move doctest blocks out of blockquotes for node in self.document.traverse(nodes.block_quote): if all(isinstance(child, nodes.doctest_block) for child in node.children): node.replace_self(node.children) # combine successive doctest blocks #for node in self.document.traverse(nodes.doctest_block): # if node not in node.parent.children: # continue # parindex = node.parent.index(node) # while len(node.parent) > parindex+1 and \ # isinstance(node.parent[parindex+1], nodes.doctest_block): # node[0] = nodes.Text(node[0] + '\n\n' + # node.parent[parindex+1][0]) # del node.parent[parindex+1] class SortIds(Transform): """ Sort secion IDs so that the "id[0-9]+" one comes last. """ default_priority = 261 def apply(self): for node in self.document.traverse(nodes.section): if len(node['ids']) > 1 and node['ids'][0].startswith('id'): node['ids'] = node['ids'][1:] + [node['ids'][0]] class CitationReferences(Transform): """ Replace citation references by pending_xref nodes before the default docutils transform tries to resolve them. """ default_priority = 619 def apply(self): for citnode in self.document.traverse(nodes.citation_reference): cittext = citnode.astext() refnode = addnodes.pending_xref(cittext, reftype='citation', reftarget=cittext, refwarn=True, ids=citnode["ids"]) refnode.line = citnode.line or citnode.parent.line refnode += nodes.Text('[' + cittext + ']') citnode.parent.replace(citnode, refnode) class CustomLocaleReporter(object): """ Replacer for document.reporter.get_source_and_line method. reST text lines for translation do not have the original source line number. This class provides the correct line numbers when reporting. """ def __init__(self, source, line): self.source, self.line = source, line def set_reporter(self, document): if docutils_version < (0, 9): document.reporter.locator = self.get_source_and_line else: document.reporter.get_source_and_line = self.get_source_and_line def get_source_and_line(self, lineno=None): return self.source, self.line class Locale(Transform): """ Replace translatable nodes with their translated doctree. """ default_priority = 0 def apply(self): env = self.document.settings.env settings, source = self.document.settings, self.document['source'] # XXX check if this is reliable assert source.startswith(env.srcdir) docname = path.splitext(relative_path(path.join(env.srcdir, 'dummy'), source))[0] textdomain = find_catalog(docname, self.document.settings.gettext_compact) # fetch translations dirs = [path.join(env.srcdir, directory) for directory in env.config.locale_dirs] catalog, has_catalog = init_locale(dirs, env.config.language, textdomain) if not has_catalog: return parser = RSTParser() #phase1: replace reference ids with translated names for node, msg in extract_messages(self.document): msgstr = catalog.gettext(msg) # XXX add marker to untranslated parts if not msgstr or msgstr == msg or not msgstr.strip(): # as-of-yet untranslated continue # Avoid "Literal block expected; none found." warnings. # If msgstr ends with '::' then it cause warning message at # parser.parse() processing. # literal-block-warning is only appear in avobe case. if msgstr.strip().endswith('::'): msgstr += '\n\n dummy literal' # dummy literal node will discard by 'patch = patch[0]' patch = new_document(source, settings) CustomLocaleReporter(node.source, node.line).set_reporter(patch) parser.parse(msgstr, patch) try: patch = patch[0] except IndexError: # empty node pass # XXX doctest and other block markup if not isinstance(patch, nodes.paragraph): continue # skip for now processed = False # skip flag # update title(section) target name-id mapping if isinstance(node, nodes.title): section_node = node.parent new_name = nodes.fully_normalize_name(patch.astext()) old_name = nodes.fully_normalize_name(node.astext()) if old_name != new_name: # if name would be changed, replace node names and # document nameids mapping with new name. names = section_node.setdefault('names', []) names.append(new_name) if old_name in names: names.remove(old_name) _id = self.document.nameids.get(old_name, None) explicit = self.document.nametypes.get(old_name, None) # * if explicit: _id is label. title node need another id. # * if not explicit: # # * _id is None: # # _id is None means _id was duplicated. # old_name entry still exists in nameids and # nametypes for another duplicated entry. # # * _id is provided: bellow process if not explicit and _id: # _id was not duplicated. # remove old_name entry from document ids database # to reuse original _id. self.document.nameids.pop(old_name, None) self.document.nametypes.pop(old_name, None) self.document.ids.pop(_id, None) # re-entry with new named section node. self.document.note_implicit_target(section_node) # replace target's refname to new target name def is_named_target(node): return isinstance(node, nodes.target) and \ node.get('refname') == old_name for old_target in self.document.traverse(is_named_target): old_target['refname'] = new_name processed = True # glossary terms update refid if isinstance(node, nodes.term): gloss_entries = env.temp_data.setdefault('gloss_entries', set()) ids = [] termnodes = [] for _id in node['names']: if _id in gloss_entries: gloss_entries.remove(_id) _id, _, new_termnodes = \ make_termnodes_from_paragraph_node(env, patch, _id) ids.append(_id) termnodes.extend(new_termnodes) if termnodes and ids: patch = make_term_from_paragraph_node(termnodes, ids) node['ids'] = patch['ids'] node['names'] = patch['names'] processed = True # update leaves with processed nodes if processed: for child in patch.children: child.parent = node node.children = patch.children node['translated'] = True #phase2: translation for node, msg in extract_messages(self.document): if node.get('translated', False): continue msgstr = catalog.gettext(msg) # XXX add marker to untranslated parts if not msgstr or msgstr == msg: # as-of-yet untranslated continue # Avoid "Literal block expected; none found." warnings. # If msgstr ends with '::' then it cause warning message at # parser.parse() processing. # literal-block-warning is only appear in avobe case. if msgstr.strip().endswith('::'): msgstr += '\n\n dummy literal' # dummy literal node will discard by 'patch = patch[0]' patch = new_document(source, settings) CustomLocaleReporter(node.source, node.line).set_reporter(patch) parser.parse(msgstr, patch) try: patch = patch[0] except IndexError: # empty node pass # XXX doctest and other block markup if not isinstance(patch, nodes.paragraph): continue # skip for now # auto-numbered foot note reference should use original 'ids'. def is_autonumber_footnote_ref(node): return isinstance(node, nodes.footnote_reference) and \ node.get('auto') == 1 def list_replace_or_append(lst, old, new): if old in lst: lst[lst.index(old)] = new else: lst.append(new) old_foot_refs = node.traverse(is_autonumber_footnote_ref) new_foot_refs = patch.traverse(is_autonumber_footnote_ref) if len(old_foot_refs) != len(new_foot_refs): env.warn_node('inconsistent footnote references in ' 'translated message', node) old_foot_namerefs = {} for r in old_foot_refs: old_foot_namerefs.setdefault(r.get('refname'), []).append(r) for new in new_foot_refs: refname = new.get('refname') refs = old_foot_namerefs.get(refname, []) if not refs: continue old = refs.pop(0) new['ids'] = old['ids'] for id in new['ids']: self.document.ids[id] = new list_replace_or_append( self.document.autofootnote_refs, old, new) if refname: list_replace_or_append( self.document.footnote_refs.setdefault(refname, []), old, new) list_replace_or_append( self.document.refnames.setdefault(refname, []), old, new) # reference should use new (translated) 'refname'. # * reference target ".. _Python: ..." is not translatable. # * use translated refname for section refname. # * inline reference "`Python <...>`_" has no 'refname'. def is_refnamed_ref(node): return isinstance(node, nodes.reference) and \ 'refname' in node old_refs = node.traverse(is_refnamed_ref) new_refs = patch.traverse(is_refnamed_ref) if len(old_refs) != len(new_refs): env.warn_node('inconsistent references in ' 'translated message', node) old_ref_names = [r['refname'] for r in old_refs] new_ref_names = [r['refname'] for r in new_refs] orphans = list(set(old_ref_names) - set(new_ref_names)) for new in new_refs: if not self.document.has_name(new['refname']): # Maybe refname is translated but target is not translated. # Note: multiple translated refnames break link ordering. if orphans: new['refname'] = orphans.pop(0) else: # orphan refnames is already empty! # reference number is same in new_refs and old_refs. pass self.document.note_refname(new) # refnamed footnote and citation should use original 'ids'. def is_refnamed_footnote_ref(node): footnote_ref_classes = (nodes.footnote_reference, nodes.citation_reference) return isinstance(node, footnote_ref_classes) and \ 'refname' in node old_refs = node.traverse(is_refnamed_footnote_ref) new_refs = patch.traverse(is_refnamed_footnote_ref) refname_ids_map = {} if len(old_refs) != len(new_refs): env.warn_node('inconsistent references in ' 'translated message', node) for old in old_refs: refname_ids_map[old["refname"]] = old["ids"] for new in new_refs: refname = new["refname"] if refname in refname_ids_map: new["ids"] = refname_ids_map[refname] # Original pending_xref['reftarget'] contain not-translated # target name, new pending_xref must use original one. # This code restricts to change ref-targets in the translation. old_refs = node.traverse(addnodes.pending_xref) new_refs = patch.traverse(addnodes.pending_xref) xref_reftarget_map = {} if len(old_refs) != len(new_refs): env.warn_node('inconsistent term references in ' 'translated message', node) def get_ref_key(node): case = node["refdomain"], node["reftype"] if case == ('std', 'term'): return None else: return ( node["refdomain"], node["reftype"], node['reftarget'],) for old in old_refs: key = get_ref_key(old) if key: xref_reftarget_map[key] = old["reftarget"] for new in new_refs: key = get_ref_key(new) if key in xref_reftarget_map: new['reftarget'] = xref_reftarget_map[key] # update leaves for child in patch.children: child.parent = node node.children = patch.children node['translated'] = True # Extract and translate messages for index entries. for node, entries in traverse_translatable_index(self.document): new_entries = [] for type, msg, tid, main in entries: msg_parts = split_index_msg(type, msg) msgstr_parts = [] for part in msg_parts: msgstr = catalog.gettext(part) if not msgstr: msgstr = part msgstr_parts.append(msgstr) new_entries.append((type, ';'.join(msgstr_parts), tid, main)) node['raw_entries'] = entries node['entries'] = new_entries class RemoveTranslatableInline(Transform): """ Remove inline nodes used for translation as placeholders. """ default_priority = 999 def apply(self): from sphinx.builders.gettext import MessageCatalogBuilder env = self.document.settings.env builder = env.app.builder if isinstance(builder, MessageCatalogBuilder): return for inline in self.document.traverse(nodes.inline): if 'translatable' in inline: inline.parent.remove(inline) inline.parent += inline.children class SphinxContentsFilter(ContentsFilter): """ Used with BuildEnvironment.add_toc_from() to discard cross-file links within table-of-contents link nodes. """ def visit_pending_xref(self, node): text = node.astext() self.parent.append(nodes.literal(text, text)) raise nodes.SkipNode def visit_image(self, node): raise nodes.SkipNode sphinx-1.2.2+dfsg.orig/sphinx/directives/0000755000000000000000000000000012304560277017061 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/directives/code.py0000644000000000000000000001717012304557741020355 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.directives.code ~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import codecs from docutils import nodes from docutils.parsers.rst import Directive, directives from sphinx import addnodes from sphinx.util import parselinenos from sphinx.util.nodes import set_source_info class Highlight(Directive): """ Directive to set the highlighting language for code blocks, as well as the threshold for line numbers. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'linenothreshold': directives.unchanged, } def run(self): if 'linenothreshold' in self.options: try: linenothreshold = int(self.options['linenothreshold']) except Exception: linenothreshold = 10 else: linenothreshold = sys.maxint return [addnodes.highlightlang(lang=self.arguments[0].strip(), linenothreshold=linenothreshold)] class CodeBlock(Directive): """ Directive for a code block with special highlighting or line numbering settings. """ has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'linenos': directives.flag, 'emphasize-lines': directives.unchanged_required, } def run(self): code = u'\n'.join(self.content) linespec = self.options.get('emphasize-lines') if linespec: try: nlines = len(self.content) hl_lines = [x+1 for x in parselinenos(linespec, nlines)] except ValueError, err: document = self.state.document return [document.reporter.warning(str(err), line=self.lineno)] else: hl_lines = None literal = nodes.literal_block(code, code) literal['language'] = self.arguments[0] literal['linenos'] = 'linenos' in self.options if hl_lines is not None: literal['highlight_args'] = {'hl_lines': hl_lines} set_source_info(self, literal) return [literal] class LiteralInclude(Directive): """ Like ``.. include:: :literal:``, but only warns if the include file is not found, and does not raise errors. Also has several options for selecting what to include. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = { 'linenos': directives.flag, 'tab-width': int, 'language': directives.unchanged_required, 'encoding': directives.encoding, 'pyobject': directives.unchanged_required, 'lines': directives.unchanged_required, 'start-after': directives.unchanged_required, 'end-before': directives.unchanged_required, 'prepend': directives.unchanged_required, 'append': directives.unchanged_required, 'emphasize-lines': directives.unchanged_required, } def run(self): document = self.state.document if not document.settings.file_insertion_enabled: return [document.reporter.warning('File insertion disabled', line=self.lineno)] env = document.settings.env rel_filename, filename = env.relfn2path(self.arguments[0]) if 'pyobject' in self.options and 'lines' in self.options: return [document.reporter.warning( 'Cannot use both "pyobject" and "lines" options', line=self.lineno)] encoding = self.options.get('encoding', env.config.source_encoding) codec_info = codecs.lookup(encoding) f = None try: f = codecs.StreamReaderWriter(open(filename, 'rb'), codec_info[2], codec_info[3], 'strict') lines = f.readlines() except (IOError, OSError): return [document.reporter.warning( 'Include file %r not found or reading it failed' % filename, line=self.lineno)] except UnicodeError: return [document.reporter.warning( 'Encoding %r used for reading included file %r seems to ' 'be wrong, try giving an :encoding: option' % (encoding, filename))] finally: if f is not None: f.close() objectname = self.options.get('pyobject') if objectname is not None: from sphinx.pycode import ModuleAnalyzer analyzer = ModuleAnalyzer.for_file(filename, '') tags = analyzer.find_tags() if objectname not in tags: return [document.reporter.warning( 'Object named %r not found in include file %r' % (objectname, filename), line=self.lineno)] else: lines = lines[tags[objectname][1]-1 : tags[objectname][2]-1] linespec = self.options.get('lines') if linespec is not None: try: linelist = parselinenos(linespec, len(lines)) except ValueError, err: return [document.reporter.warning(str(err), line=self.lineno)] # just ignore nonexisting lines nlines = len(lines) lines = [lines[i] for i in linelist if i < nlines] if not lines: return [document.reporter.warning( 'Line spec %r: no lines pulled from include file %r' % (linespec, filename), line=self.lineno)] linespec = self.options.get('emphasize-lines') if linespec: try: hl_lines = [x+1 for x in parselinenos(linespec, len(lines))] except ValueError, err: return [document.reporter.warning(str(err), line=self.lineno)] else: hl_lines = None startafter = self.options.get('start-after') endbefore = self.options.get('end-before') prepend = self.options.get('prepend') append = self.options.get('append') if startafter is not None or endbefore is not None: use = not startafter res = [] for line in lines: if not use and startafter and startafter in line: use = True elif use and endbefore and endbefore in line: use = False break elif use: res.append(line) lines = res if prepend: lines.insert(0, prepend + '\n') if append: lines.append(append + '\n') text = ''.join(lines) if self.options.get('tab-width'): text = text.expandtabs(self.options['tab-width']) retnode = nodes.literal_block(text, text, source=filename) set_source_info(self, retnode) if self.options.get('language', ''): retnode['language'] = self.options['language'] if 'linenos' in self.options: retnode['linenos'] = True if hl_lines is not None: retnode['highlight_args'] = {'hl_lines': hl_lines} env.note_dependency(rel_filename) return [retnode] directives.register_directive('highlight', Highlight) directives.register_directive('highlightlang', Highlight) # old directives.register_directive('code-block', CodeBlock) directives.register_directive('sourcecode', CodeBlock) directives.register_directive('literalinclude', LiteralInclude) sphinx-1.2.2+dfsg.orig/sphinx/directives/other.py0000644000000000000000000003574412304304673020565 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.directives.other ~~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from docutils.parsers.rst import Directive, directives from docutils.parsers.rst.directives.admonitions import BaseAdmonition from docutils.parsers.rst.directives.misc import Class from docutils.parsers.rst.directives.misc import Include as BaseInclude from sphinx import addnodes from sphinx.locale import versionlabels, _ from sphinx.util import url_re, docname_join from sphinx.util.nodes import explicit_title_re, set_source_info, \ process_index_entry from sphinx.util.matching import patfilter def int_or_nothing(argument): if not argument: return 999 return int(argument) class TocTree(Directive): """ Directive to notify Sphinx about the hierarchical structure of the docs, and to include a table-of-contents like tree in the current document. """ has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'maxdepth': int, 'glob': directives.flag, 'hidden': directives.flag, 'includehidden': directives.flag, 'numbered': int_or_nothing, 'titlesonly': directives.flag, } def run(self): env = self.state.document.settings.env suffix = env.config.source_suffix glob = 'glob' in self.options ret = [] # (title, ref) pairs, where ref may be a document, or an external link, # and title may be None if the document's title is to be used entries = [] includefiles = [] all_docnames = env.found_docs.copy() # don't add the currently visited file in catch-all patterns all_docnames.remove(env.docname) for entry in self.content: if not entry: continue if not glob: # look for explicit titles ("Some Title ") m = explicit_title_re.match(entry) if m: ref = m.group(2) title = m.group(1) docname = ref else: ref = docname = entry title = None # remove suffixes (backwards compatibility) if docname.endswith(suffix): docname = docname[:-len(suffix)] # absolutize filenames docname = docname_join(env.docname, docname) if url_re.match(ref) or ref == 'self': entries.append((title, ref)) elif docname not in env.found_docs: ret.append(self.state.document.reporter.warning( 'toctree contains reference to nonexisting ' 'document %r' % docname, line=self.lineno)) env.note_reread() else: entries.append((title, docname)) includefiles.append(docname) else: patname = docname_join(env.docname, entry) docnames = sorted(patfilter(all_docnames, patname)) for docname in docnames: all_docnames.remove(docname) # don't include it again entries.append((None, docname)) includefiles.append(docname) if not docnames: ret.append(self.state.document.reporter.warning( 'toctree glob pattern %r didn\'t match any documents' % entry, line=self.lineno)) subnode = addnodes.toctree() subnode['parent'] = env.docname # entries contains all entries (self references, external links etc.) subnode['entries'] = entries # includefiles only entries that are documents subnode['includefiles'] = includefiles subnode['maxdepth'] = self.options.get('maxdepth', -1) subnode['glob'] = glob subnode['hidden'] = 'hidden' in self.options subnode['includehidden'] = 'includehidden' in self.options subnode['numbered'] = self.options.get('numbered', 0) subnode['titlesonly'] = 'titlesonly' in self.options set_source_info(self, subnode) wrappernode = nodes.compound(classes=['toctree-wrapper']) wrappernode.append(subnode) ret.append(wrappernode) return ret class Author(Directive): """ Directive to give the name of the author of the current document or section. Shown in the output only if the show_authors option is on. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): env = self.state.document.settings.env if not env.config.show_authors: return [] para = nodes.paragraph() emph = nodes.emphasis() para += emph if self.name == 'sectionauthor': text = _('Section author: ') elif self.name == 'moduleauthor': text = _('Module author: ') elif self.name == 'codeauthor': text = _('Code author: ') else: text = _('Author: ') emph += nodes.Text(text, text) inodes, messages = self.state.inline_text(self.arguments[0], self.lineno) emph.extend(inodes) return [para] + messages class Index(Directive): """ Directive to add entries to the index. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): arguments = self.arguments[0].split('\n') env = self.state.document.settings.env targetid = 'index-%s' % env.new_serialno('index') targetnode = nodes.target('', '', ids=[targetid]) self.state.document.note_explicit_target(targetnode) indexnode = addnodes.index() indexnode['entries'] = ne = [] indexnode['inline'] = False set_source_info(self, indexnode) for entry in arguments: ne.extend(process_index_entry(entry, targetid)) return [indexnode, targetnode] class VersionChange(Directive): """ Directive to describe a change/addition/deprecation in a specific version. """ has_content = True required_arguments = 1 optional_arguments = 1 final_argument_whitespace = True option_spec = {} def run(self): node = addnodes.versionmodified() node.document = self.state.document set_source_info(self, node) node['type'] = self.name node['version'] = self.arguments[0] text = versionlabels[self.name] % self.arguments[0] if len(self.arguments) == 2: inodes, messages = self.state.inline_text(self.arguments[1], self.lineno+1) para = nodes.paragraph(self.arguments[1], '', *inodes) set_source_info(self, para) node.append(para) else: messages = [] if self.content: self.state.nested_parse(self.content, self.content_offset, node) if len(node): if isinstance(node[0], nodes.paragraph) and node[0].rawsource: content = nodes.inline(node[0].rawsource, translatable=True) content.source = node[0].source content.line = node[0].line content += node[0].children node[0].replace_self(nodes.paragraph('', '', content)) node[0].insert(0, nodes.inline('', '%s: ' % text, classes=['versionmodified'])) else: para = nodes.paragraph('', '', nodes.inline('', '%s.' % text, classes=['versionmodified'])) node.append(para) env = self.state.document.settings.env # XXX should record node.source as well env.note_versionchange(node['type'], node['version'], node, node.line) return [node] + messages class SeeAlso(BaseAdmonition): """ An admonition mentioning things to look at as reference. """ node_class = addnodes.seealso class TabularColumns(Directive): """ Directive to give an explicit tabulary column definition to LaTeX. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): node = addnodes.tabular_col_spec() node['spec'] = self.arguments[0] set_source_info(self, node) return [node] class Centered(Directive): """ Directive to create a centered line of bold text. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): if not self.arguments: return [] subnode = addnodes.centered() inodes, messages = self.state.inline_text(self.arguments[0], self.lineno) subnode.extend(inodes) return [subnode] + messages class Acks(Directive): """ Directive for a list of names. """ has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = {} def run(self): node = addnodes.acks() node.document = self.state.document self.state.nested_parse(self.content, self.content_offset, node) if len(node.children) != 1 or not isinstance(node.children[0], nodes.bullet_list): return [self.state.document.reporter.warning( '.. acks content is not a list', line=self.lineno)] return [node] class HList(Directive): """ Directive for a list that gets compacted horizontally. """ has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'columns': int, } def run(self): ncolumns = self.options.get('columns', 2) node = nodes.paragraph() node.document = self.state.document self.state.nested_parse(self.content, self.content_offset, node) if len(node.children) != 1 or not isinstance(node.children[0], nodes.bullet_list): return [self.state.document.reporter.warning( '.. hlist content is not a list', line=self.lineno)] fulllist = node.children[0] # create a hlist node where the items are distributed npercol, nmore = divmod(len(fulllist), ncolumns) index = 0 newnode = addnodes.hlist() for column in range(ncolumns): endindex = index + (column < nmore and (npercol+1) or npercol) col = addnodes.hlistcol() col += nodes.bullet_list() col[0] += fulllist.children[index:endindex] index = endindex newnode += col return [newnode] class Only(Directive): """ Directive to only include text if the given tag(s) are enabled. """ has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): node = addnodes.only() node.document = self.state.document set_source_info(self, node) node['expr'] = self.arguments[0] # Same as util.nested_parse_with_titles but try to handle nested # sections which should be raised higher up the doctree. surrounding_title_styles = self.state.memo.title_styles surrounding_section_level = self.state.memo.section_level self.state.memo.title_styles = [] self.state.memo.section_level = 0 try: self.state.nested_parse(self.content, self.content_offset, node, match_titles=1) title_styles = self.state.memo.title_styles if (not surrounding_title_styles or not title_styles or title_styles[0] not in surrounding_title_styles or not self.state.parent): # No nested sections so no special handling needed. return [node] # Calculate the depths of the current and nested sections. current_depth = 0 parent = self.state.parent while parent: current_depth += 1 parent = parent.parent current_depth -= 2 title_style = title_styles[0] nested_depth = len(surrounding_title_styles) if title_style in surrounding_title_styles: nested_depth = surrounding_title_styles.index(title_style) # Use these depths to determine where the nested sections should # be placed in the doctree. n_sects_to_raise = current_depth - nested_depth + 1 parent = self.state.parent for i in xrange(n_sects_to_raise): if parent.parent: parent = parent.parent parent.append(node) return [] finally: self.state.memo.title_styles = surrounding_title_styles self.state.memo.section_level = surrounding_section_level class Include(BaseInclude): """ Like the standard "Include" directive, but interprets absolute paths "correctly", i.e. relative to source directory. """ def run(self): env = self.state.document.settings.env if self.arguments[0].startswith('<') and \ self.arguments[0].endswith('>'): # docutils "standard" includes, do not do path processing return BaseInclude.run(self) rel_filename, filename = env.relfn2path(self.arguments[0]) self.arguments[0] = filename return BaseInclude.run(self) directives.register_directive('toctree', TocTree) directives.register_directive('sectionauthor', Author) directives.register_directive('moduleauthor', Author) directives.register_directive('codeauthor', Author) directives.register_directive('index', Index) directives.register_directive('deprecated', VersionChange) directives.register_directive('versionadded', VersionChange) directives.register_directive('versionchanged', VersionChange) directives.register_directive('seealso', SeeAlso) directives.register_directive('tabularcolumns', TabularColumns) directives.register_directive('centered', Centered) directives.register_directive('acks', Acks) directives.register_directive('hlist', HList) directives.register_directive('only', Only) directives.register_directive('include', Include) # register the standard rst class directive under a different name # only for backwards compatibility now directives.register_directive('cssclass', Class) # new standard name when default-domain with "class" is in effect directives.register_directive('rst-class', Class) sphinx-1.2.2+dfsg.orig/sphinx/directives/__init__.py0000644000000000000000000001527412304304673021177 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.directives ~~~~~~~~~~~~~~~~~ Handlers for additional ReST directives. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from docutils.parsers.rst import Directive, directives from sphinx import addnodes from sphinx.util.docfields import DocFieldTransformer # import and register directives from sphinx.directives.code import * from sphinx.directives.other import * # RE to strip backslash escapes nl_escape_re = re.compile(r'\\\n') strip_backslash_re = re.compile(r'\\(.)') class ObjectDescription(Directive): """ Directive to describe a class, function or similar object. Not used directly, but subclassed (in domain-specific directives) to add custom behavior. """ has_content = True required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = { 'noindex': directives.flag, } # types of doc fields that this directive handles, see sphinx.util.docfields doc_field_types = [] def get_signatures(self): """ Retrieve the signatures to document from the directive arguments. By default, signatures are given as arguments, one per line. Backslash-escaping of newlines is supported. """ lines = nl_escape_re.sub('', self.arguments[0]).split('\n') # remove backslashes to support (dummy) escapes; helps Vim highlighting return [strip_backslash_re.sub(r'\1', line.strip()) for line in lines] def handle_signature(self, sig, signode): """ Parse the signature *sig* into individual nodes and append them to *signode*. If ValueError is raised, parsing is aborted and the whole *sig* is put into a single desc_name node. The return value should be a value that identifies the object. It is passed to :meth:`add_target_and_index()` unchanged, and otherwise only used to skip duplicates. """ raise ValueError def add_target_and_index(self, name, sig, signode): """ Add cross-reference IDs and entries to self.indexnode, if applicable. *name* is whatever :meth:`handle_signature()` returned. """ return # do nothing by default def before_content(self): """ Called before parsing content. Used to set information about the current directive context on the build environment. """ pass def after_content(self): """ Called after parsing content. Used to reset information about the current directive context on the build environment. """ pass def run(self): """ Main directive entry function, called by docutils upon encountering the directive. This directive is meant to be quite easily subclassable, so it delegates to several additional methods. What it does: * find out if called as a domain-specific directive, set self.domain * create a `desc` node to fit all description inside * parse standard options, currently `noindex` * create an index node if needed as self.indexnode * parse all given signatures (as returned by self.get_signatures()) using self.handle_signature(), which should either return a name or raise ValueError * add index entries using self.add_target_and_index() * parse the content and handle doc fields in it """ if ':' in self.name: self.domain, self.objtype = self.name.split(':', 1) else: self.domain, self.objtype = '', self.name self.env = self.state.document.settings.env self.indexnode = addnodes.index(entries=[]) node = addnodes.desc() node.document = self.state.document node['domain'] = self.domain # 'desctype' is a backwards compatible attribute node['objtype'] = node['desctype'] = self.objtype node['noindex'] = noindex = ('noindex' in self.options) self.names = [] signatures = self.get_signatures() for i, sig in enumerate(signatures): # add a signature node for each signature in the current unit # and add a reference target for it signode = addnodes.desc_signature(sig, '') signode['first'] = False node.append(signode) try: # name can also be a tuple, e.g. (classname, objname); # this is strictly domain-specific (i.e. no assumptions may # be made in this base class) name = self.handle_signature(sig, signode) except ValueError: # signature parsing failed signode.clear() signode += addnodes.desc_name(sig, sig) continue # we don't want an index entry here if name not in self.names: self.names.append(name) if not noindex: # only add target and index entry if this is the first # description of the object with this name in this desc block self.add_target_and_index(name, sig, signode) contentnode = addnodes.desc_content() node.append(contentnode) if self.names: # needed for association of version{added,changed} directives self.env.temp_data['object'] = self.names[0] self.before_content() self.state.nested_parse(self.content, self.content_offset, contentnode) DocFieldTransformer(self).transform_all(contentnode) self.env.temp_data['object'] = None self.after_content() return [self.indexnode, node] # backwards compatible old name DescDirective = ObjectDescription class DefaultDomain(Directive): """ Directive to (re-)set the default domain for this source file. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = False option_spec = {} def run(self): env = self.state.document.settings.env domain_name = self.arguments[0].lower() # if domain_name not in env.domains: # # try searching by label # for domain in env.domains.itervalues(): # if domain.label.lower() == domain_name: # domain_name = domain.name # break env.temp_data['default_domain'] = env.domains.get(domain_name) return [] directives.register_directive('default-domain', DefaultDomain) directives.register_directive('describe', ObjectDescription) # new, more consistent, name directives.register_directive('object', ObjectDescription) sphinx-1.2.2+dfsg.orig/sphinx/cmdline.py0000644000000000000000000002452712304557741016721 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.cmdline ~~~~~~~~~~~~~~ sphinx-build command-line handling. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import getopt import traceback from os import path from docutils.utils import SystemMessage from sphinx import __version__ from sphinx.errors import SphinxError from sphinx.application import Sphinx from sphinx.util import Tee, format_exception_cut_frames, save_traceback from sphinx.util.console import red, nocolor, color_terminal from sphinx.util.osutil import abspath, fs_encoding from sphinx.util.pycompat import terminal_safe, bytes def usage(argv, msg=None): if msg: print >>sys.stderr, msg print >>sys.stderr print >>sys.stderr, """\ Sphinx v%s Usage: %s [options] sourcedir outdir [filenames...] General options ^^^^^^^^^^^^^^^ -b builder to use; default is html -a write all files; default is to only write new and changed files -E don't use a saved environment, always read all files -d path for the cached environment and doctree files (default: outdir/.doctrees) -j build in parallel with N processes where possible -M "make" mode -- used by Makefile, like "sphinx-build -M html" Build configuration options ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -c path where configuration file (conf.py) is located (default: same as sourcedir) -C use no config file at all, only -D options -D override a setting in configuration file -t define tag: include "only" blocks with -A pass a value into the templates, for HTML builder -n nit-picky mode, warn about all missing references Console output options ^^^^^^^^^^^^^^^^^^^^^^ -v increase verbosity (can be repeated) -q no output on stdout, just warnings on stderr -Q no output at all, not even warnings -w write warnings (and errors) to given file -W turn warnings into errors -T show full traceback on exception -N do not emit colored output -P run Pdb on exception Filename arguments ^^^^^^^^^^^^^^^^^^ * without -a and without filenames, write new and changed files. * with -a, write all files. * with filenames, write these. Standard options ^^^^^^^^^^^^^^^^ -h, --help show this help and exit --version show version information and exit """ % (__version__, argv[0]) def main(argv): if not color_terminal(): # Windows' poor cmd box doesn't understand ANSI sequences nocolor() # parse options try: opts, args = getopt.getopt(argv[1:], 'ab:t:d:c:CD:A:nNEqQWw:PThvj:', ['help', 'version']) except getopt.error, err: usage(argv, 'Error: %s' % err) return 1 # handle basic options allopts = set(opt[0] for opt in opts) # help and version options if '-h' in allopts or '--help' in allopts: usage(argv) print >>sys.stderr print >>sys.stderr, 'For more information, see .' return 0 if '--version' in allopts: print 'Sphinx (sphinx-build) %s' % __version__ return 0 # get paths (first and second positional argument) try: srcdir = confdir = abspath(args[0]) if not path.isdir(srcdir): print >>sys.stderr, 'Error: Cannot find source directory `%s\'.' % ( srcdir,) return 1 if not path.isfile(path.join(srcdir, 'conf.py')) and \ '-c' not in allopts and '-C' not in allopts: print >>sys.stderr, ('Error: Source directory doesn\'t ' 'contain a conf.py file.') return 1 outdir = abspath(args[1]) except IndexError: usage(argv, 'Error: Insufficient arguments.') return 1 except UnicodeError: print >>sys.stderr, ( 'Error: Multibyte filename not supported on this filesystem ' 'encoding (%r).' % fs_encoding) return 1 # handle remaining filename arguments filenames = args[2:] err = 0 for filename in filenames: if not path.isfile(filename): print >>sys.stderr, 'Error: Cannot find file %r.' % filename err = 1 if err: return 1 # likely encoding used for command-line arguments try: locale = __import__('locale') # due to submodule of the same name likely_encoding = locale.getpreferredencoding() except Exception: likely_encoding = None buildername = None force_all = freshenv = warningiserror = use_pdb = False show_traceback = False verbosity = 0 parallel = 0 status = sys.stdout warning = sys.stderr error = sys.stderr warnfile = None confoverrides = {} tags = [] doctreedir = path.join(outdir, '.doctrees') for opt, val in opts: if opt == '-b': buildername = val elif opt == '-a': if filenames: usage(argv, 'Error: Cannot combine -a option and filenames.') return 1 force_all = True elif opt == '-t': tags.append(val) elif opt == '-d': doctreedir = abspath(val) elif opt == '-c': confdir = abspath(val) if not path.isfile(path.join(confdir, 'conf.py')): print >>sys.stderr, ('Error: Configuration directory ' 'doesn\'t contain conf.py file.') return 1 elif opt == '-C': confdir = None elif opt == '-D': try: key, val = val.split('=') except ValueError: print >>sys.stderr, ('Error: -D option argument must be ' 'in the form name=value.') return 1 try: val = int(val) except ValueError: if likely_encoding and isinstance(val, bytes): try: val = val.decode(likely_encoding) except UnicodeError: pass confoverrides[key] = val elif opt == '-A': try: key, val = val.split('=') except ValueError: print >>sys.stderr, ('Error: -A option argument must be ' 'in the form name=value.') return 1 try: val = int(val) except ValueError: if likely_encoding and isinstance(val, bytes): try: val = val.decode(likely_encoding) except UnicodeError: pass confoverrides['html_context.%s' % key] = val elif opt == '-n': confoverrides['nitpicky'] = True elif opt == '-N': nocolor() elif opt == '-E': freshenv = True elif opt == '-q': status = None elif opt == '-Q': status = None warning = None elif opt == '-W': warningiserror = True elif opt == '-w': warnfile = val elif opt == '-P': use_pdb = True elif opt == '-T': show_traceback = True elif opt == '-v': verbosity += 1 show_traceback = True elif opt == '-j': try: parallel = int(val) except ValueError: print >>sys.stderr, ('Error: -j option argument must be an ' 'integer.') return 1 if warning and warnfile: warnfp = open(warnfile, 'w') warning = Tee(warning, warnfp) error = warning if not path.isdir(outdir): if status: print >>status, 'Making output directory...' os.makedirs(outdir) app = None try: app = Sphinx(srcdir, confdir, outdir, doctreedir, buildername, confoverrides, status, warning, freshenv, warningiserror, tags, verbosity, parallel) app.build(force_all, filenames) return app.statuscode except (Exception, KeyboardInterrupt), err: if use_pdb: import pdb print >>error, red('Exception occurred while building, ' 'starting debugger:') traceback.print_exc() pdb.post_mortem(sys.exc_info()[2]) else: print >>error if show_traceback: traceback.print_exc(None, error) print >>error if isinstance(err, KeyboardInterrupt): print >>error, 'interrupted!' elif isinstance(err, SystemMessage): print >>error, red('reST markup error:') print >>error, terminal_safe(err.args[0]) elif isinstance(err, SphinxError): print >>error, red('%s:' % err.category) print >>error, terminal_safe(unicode(err)) elif isinstance(err, UnicodeError): print >>error, red('Encoding error:') print >>error, terminal_safe(unicode(err)) tbpath = save_traceback(app) print >>error, red('The full traceback has been saved ' 'in %s, if you want to report the ' 'issue to the developers.' % tbpath) else: print >>error, red('Exception occurred:') print >>error, format_exception_cut_frames().rstrip() tbpath = save_traceback(app) print >>error, red('The full traceback has been saved ' 'in %s, if you want to report the ' 'issue to the developers.' % tbpath) print >>error, ('Please also report this if it was a user ' 'error, so that a better error message ' 'can be provided next time.') print >>error, ( 'A bug report can be filed in the tracker at ' '. Thanks!') return 1 sphinx-1.2.2+dfsg.orig/sphinx/make_mode.py0000644000000000000000000002316412304560172017213 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.make_mode ~~~~~~~~~~~~~~~~ sphinx-build -M command-line handling. This replaces the old, platform-dependent and once-generated content of Makefile / make.bat. This is in its own module so that importing it is fast. It should not import the main Sphinx modules (like sphinx.applications, sphinx.builders). :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import shutil from os import path from subprocess import call import sphinx from sphinx.util.console import bold, blue proj_name = os.getenv('SPHINXPROJ', '') BUILDERS = [ ("", "html", "to make standalone HTML files"), ("", "dirhtml", "to make HTML files named index.html in directories"), ("", "singlehtml","to make a single large HTML file"), ("", "pickle", "to make pickle files"), ("", "json", "to make JSON files"), ("", "htmlhelp", "to make HTML files and a HTML help project"), ("", "qthelp", "to make HTML files and a qthelp project"), ("", "devhelp", "to make HTML files and a Devhelp project"), ("", "epub", "to make an epub"), ("", "latex", "to make LaTeX files, you can set PAPER=a4 or PAPER=letter"), ("posix", "latexpdf", "to make LaTeX files and run them through pdflatex"), ("posix", "latexpdfja","to make LaTeX files and run them through platex/dvipdfmx"), ("", "text", "to make text files"), ("", "man", "to make manual pages"), ("", "texinfo", "to make Texinfo files"), ("posix", "info", "to make Texinfo files and run them through makeinfo"), ("", "gettext", "to make PO message catalogs"), ("", "changes", "to make an overview of all changed/added/deprecated items"), ("", "xml", "to make Docutils-native XML files"), ("", "pseudoxml", "to make pseudoxml-XML files for display purposes"), ("", "linkcheck", "to check all external links for integrity"), ("", "doctest", "to run all doctests embedded in the documentation " "(if enabled)"), ("", "coverage", "to run coverage check of the documentation (if enabled)"), ] class Make(object): def __init__(self, srcdir, builddir, opts): self.srcdir = srcdir self.builddir = builddir self.opts = opts def builddir_join(self, *comps): return path.join(self.builddir, *comps) def build_clean(self): if not path.exists(self.builddir): return elif not path.isdir(self.builddir): print "Error: %r is not a directory!" % self.builddir return 1 print "Removing everything under %r..." % self.builddir for item in os.listdir(self.builddir): shutil.rmtree(self.builddir_join(item)) def build_help(self): print bold("Sphinx v%s" % sphinx.__version__) print "Please use `make %s' where %s is one of" % ((blue('target'),)*2) for osname, bname, description in BUILDERS: if not osname or os.name == osname: print ' %s %s' % (blue(bname.ljust(10)), description) def build_html(self): if self.run_generic_build('html') > 0: return 1 print print 'Build finished. The HTML pages are in %s.' % self.builddir_join('html') def build_dirhtml(self): if self.run_generic_build('dirhtml') > 0: return 1 print print 'Build finished. The HTML pages are in %s.' % self.builddir_join('dirhtml') def build_singlehtml(self): if self.run_generic_build('singlehtml') > 0: return 1 print print 'Build finished. The HTML page is in %s.' % \ self.builddir_join('singlehtml') def build_pickle(self): if self.run_generic_build('pickle') > 0: return 1 print print 'Build finished; now you can process the pickle files.' def build_json(self): if self.run_generic_build('json') > 0: return 1 print print 'Build finished; now you can process the JSON files.' def build_htmlhelp(self): if self.run_generic_build('htmlhelp') > 0: return 1 print print ('Build finished; now you can run HTML Help Workshop with the ' '.hhp project file in %s.') % self.builddir_join('htmlhelp') def build_qthelp(self): if self.run_generic_build('qthelp') > 0: return 1 print print ('Build finished; now you can run "qcollectiongenerator" with the ' '.qhcp project file in %s, like this:') % self.builddir_join('qthelp') print '$ qcollectiongenerator %s.qhcp' % self.builddir_join('qthelp', proj_name) print 'To view the help file:' print '$ assistant -collectionFile %s.qhc' % \ self.builddir_join('qthelp', proj_name) def build_devhelp(self): if self.run_generic_build('devhelp') > 0: return 1 print print "Build finished." print "To view the help file:" print "$ mkdir -p $HOME/.local/share/devhelp/" + proj_name print "$ ln -s %s $HOME/.local/share/devhelp/%s" % \ (self.builddir_join('devhelp'), proj_name) print "$ devhelp" def build_epub(self): if self.run_generic_build('epub') > 0: return 1 print print 'Build finished. The ePub file is in %s.' % self.builddir_join('epub') def build_latex(self): if self.run_generic_build('latex') > 0: return 1 print "Build finished; the LaTeX files are in %s." % self.builddir_join('latex') if os.name == 'posix': print "Run `make' in that directory to run these through (pdf)latex" print "(use `make latexpdf' here to do that automatically)." def build_latexpdf(self): if self.run_generic_build('latex') > 0: return 1 os.system('make -C %s all-pdf' % self.builddir_join('latex')) def build_latexpdfja(self): if self.run_generic_build('latex') > 0: return 1 os.system('make -C %s all-pdf-ja' % self.builddir_join('latex')) def build_text(self): if self.run_generic_build('text') > 0: return 1 print print 'Build finished. The text files are in %s.' % self.builddir_join('text') def build_texinfo(self): if self.run_generic_build('texinfo') > 0: return 1 print "Build finished; the Texinfo files are in %s." % \ self.builddir_join('texinfo') if os.name == 'posix': print "Run `make' in that directory to run these through makeinfo" print "(use `make info' here to do that automatically)." def build_info(self): if self.run_generic_build('texinfo') > 0: return 1 os.system('make -C %s info' % self.builddir_join('texinfo')) def build_gettext(self): dtdir = self.builddir_join('gettext', '.doctrees') if self.run_generic_build('gettext', doctreedir=dtdir) > 0: return 1 print print 'Build finished. The message catalogs are in %s.' % \ self.builddir_join('gettext') def build_changes(self): if self.run_generic_build('changes') > 0: return 1 print print 'Build finished. The overview file is in %s.' % \ self.builddir_join('changes') def build_linkcheck(self): res = self.run_generic_build('linkcheck') print print ('Link check complete; look for any errors in the above output ' 'or in %s.') % self.builddir_join('linkcheck', 'output.txt') return res def build_doctest(self): res = self.run_generic_build('doctest') print ("Testing of doctests in the sources finished, look at the " "results in %s." % self.builddir_join('doctest', 'output.txt')) return res def build_coverage(self): if self.run_generic_build('coverage') > 0: print "Has the coverage extension been enabled?" return 1 print print ("Testing of coverage in the sources finished, look at the " "results in %s." % self.builddir_join('coverage')) def build_xml(self): if self.run_generic_build('xml') > 0: return 1 print print 'Build finished. The XML files are in %s.' % self.builddir_join('xml') def build_pseudoxml(self): if self.run_generic_build('pseudoxml') > 0: return 1 print print 'Build finished. The pseudo-XML files are in %s.' % \ self.builddir_join('pseudoxml') def run_generic_build(self, builder, doctreedir=None): # compatibility with old Makefile papersize = os.getenv('PAPER', '') opts = self.opts if papersize in ('a4', 'letter'): opts.extend(['-D', 'latex_paper_size=' + papersize]) if doctreedir is None: doctreedir = self.builddir_join('doctrees') return call([sys.executable, sys.argv[0], '-b', builder, '-d', doctreedir, self.srcdir, self.builddir_join(builder)] + opts) def run_make_mode(args): if len(args) < 3: print >>sys.stderr, ('Error: at least 3 arguments (builder, source ' 'dir, build dir) are required.') return 1 make = Make(args[1], args[2], args[3:]) run_method = 'build_' + args[0] if hasattr(make, run_method): return getattr(make, run_method)() return make.run_generic_build(args[0]) sphinx-1.2.2+dfsg.orig/sphinx/__init__.py0000644000000000000000000000606512304560223017027 0ustar rootroot# -*- coding: utf-8 -*- """ Sphinx ~~~~~~ The Sphinx documentation toolchain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ # Keep this file executable as-is in Python 3! # (Otherwise getting the version out of it from setup.py is impossible.) import sys from os import path __version__ = '1.2.2' __released__ = '1.2.2' # used when Sphinx builds its own docs # version info for better programmatic use # possible values for 3rd element: 'alpha', 'beta', 'rc', 'final' # 'final' has 0 as the last element version_info = (1, 2, 2, 'final', 0) package_dir = path.abspath(path.dirname(__file__)) if '+' in __version__ or 'pre' in __version__: # try to find out the changeset hash if checked out from hg, and append # it to __version__ (since we use this value from setup.py, it gets # automatically propagated to an installed copy as well) try: import subprocess p = subprocess.Popen(['hg', 'id', '-i', '-R', path.join(package_dir, '..')], stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate() if out: __version__ += '/' + out.strip() except Exception: pass def main(argv=sys.argv): """Sphinx build "main" command-line entry.""" if sys.version_info[:3] < (2, 5, 0): sys.stderr.write('Error: Sphinx requires at least Python 2.5 to run.\n') return 1 try: from sphinx import cmdline except ImportError: err = sys.exc_info()[1] errstr = str(err) if errstr.lower().startswith('no module named'): whichmod = errstr[16:] hint = '' if whichmod.startswith('docutils'): whichmod = 'Docutils library' elif whichmod.startswith('jinja'): whichmod = 'Jinja2 library' elif whichmod == 'roman': whichmod = 'roman module (which is distributed with Docutils)' hint = ('This can happen if you upgraded docutils using\n' 'easy_install without uninstalling the old version' 'first.\n') else: whichmod += ' module' sys.stderr.write('Error: The %s cannot be found. ' 'Did you install Sphinx and its dependencies ' 'correctly?\n' % whichmod) if hint: sys.stderr.write(hint) return 1 raise if sys.version_info[:3] >= (3, 3, 0): from sphinx.util.compat import docutils_version if docutils_version < (0, 10): sys.stderr.write('Error: Sphinx requires at least ' 'Docutils 0.10 for Python 3.3 and above.\n') return 1 return cmdline.main(argv) def make_main(argv=sys.argv): """Sphinx build "make mode" entry.""" from sphinx import make_mode return make_mode.run_make_mode(argv[2:]) if __name__ == '__main__': sys.exit(main(sys.argv)) sphinx-1.2.2+dfsg.orig/sphinx/addnodes.py0000644000000000000000000001247012304557741017061 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.addnodes ~~~~~~~~~~~~~~~ Additional docutils nodes. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes class toctree(nodes.General, nodes.Element): """Node for inserting a "TOC tree".""" # domain-specific object descriptions (class, function etc.) class desc(nodes.Admonition, nodes.Element): """Node for object descriptions. This node is similar to a "definition list" with one definition. It contains one or more ``desc_signature`` and a ``desc_content``. """ class desc_signature(nodes.Part, nodes.Inline, nodes.TextElement): """Node for object signatures. The "term" part of the custom Sphinx definition list. """ # nodes to use within a desc_signature class desc_addname(nodes.Part, nodes.Inline, nodes.TextElement): """Node for additional name parts (module name, class name).""" # compatibility alias desc_classname = desc_addname class desc_type(nodes.Part, nodes.Inline, nodes.TextElement): """Node for return types or object type names.""" class desc_returns(desc_type): """Node for a "returns" annotation (a la -> in Python).""" def astext(self): return ' -> ' + nodes.TextElement.astext(self) class desc_name(nodes.Part, nodes.Inline, nodes.TextElement): """Node for the main object name.""" class desc_parameterlist(nodes.Part, nodes.Inline, nodes.TextElement): """Node for a general parameter list.""" child_text_separator = ', ' class desc_parameter(nodes.Part, nodes.Inline, nodes.TextElement): """Node for a single parameter.""" class desc_optional(nodes.Part, nodes.Inline, nodes.TextElement): """Node for marking optional parts of the parameter list.""" child_text_separator = ', ' def astext(self): return '[' + nodes.TextElement.astext(self) + ']' class desc_annotation(nodes.Part, nodes.Inline, nodes.TextElement): """Node for signature annotations (not Python 3-style annotations).""" class desc_content(nodes.General, nodes.Element): """Node for object description content. This is the "definition" part of the custom Sphinx definition list. """ # new admonition-like constructs class versionmodified(nodes.Admonition, nodes.TextElement): """Node for version change entries. Currently used for "versionadded", "versionchanged" and "deprecated" directives. """ class seealso(nodes.Admonition, nodes.Element): """Custom "see also" admonition.""" class productionlist(nodes.Admonition, nodes.Element): """Node for grammar production lists. Contains ``production`` nodes. """ class production(nodes.Part, nodes.Inline, nodes.TextElement): """Node for a single grammar production rule.""" # other directive-level nodes class index(nodes.Invisible, nodes.Inline, nodes.TextElement): """Node for index entries. This node is created by the ``index`` directive and has one attribute, ``entries``. Its value is a list of 4-tuples of ``(entrytype, entryname, target, ignored)``. *entrytype* is one of "single", "pair", "double", "triple". """ class centered(nodes.Part, nodes.Element): """Deprecated.""" class acks(nodes.Element): """Special node for "acks" lists.""" class hlist(nodes.Element): """Node for "horizontal lists", i.e. lists that should be compressed to take up less vertical space. """ class hlistcol(nodes.Element): """Node for one column in a horizontal list.""" class compact_paragraph(nodes.paragraph): """Node for a compact paragraph (which never makes a

    node).""" class glossary(nodes.Element): """Node to insert a glossary.""" class only(nodes.Element): """Node for "only" directives (conditional inclusion based on tags).""" # meta-information nodes class start_of_file(nodes.Element): """Node to mark start of a new file, used in the LaTeX builder only.""" class highlightlang(nodes.Element): """Inserted to set the highlight language and line number options for subsequent code blocks. """ class tabular_col_spec(nodes.Element): """Node for specifying tabular columns, used for LaTeX output.""" class meta(nodes.Special, nodes.PreBibliographic, nodes.Element): """Node for meta directive -- same as docutils' standard meta node, but pickleable. """ # inline nodes class pending_xref(nodes.Inline, nodes.Element): """Node for cross-references that cannot be resolved without complete information about all documents. These nodes are resolved before writing output, in BuildEnvironment.resolve_references. """ class download_reference(nodes.reference): """Node for download references, similar to pending_xref.""" class literal_emphasis(nodes.emphasis): """Node that behaves like `emphasis`, but further text processors are not applied (e.g. smartypants for HTML output). """ class abbreviation(nodes.Inline, nodes.TextElement): """Node for abbreviations with explanations.""" class termsep(nodes.Structural, nodes.Element): """Separates two terms within a node.""" # make the new nodes known to docutils; needed because the HTML writer will # choke at some point if these are not added nodes._add_node_class_names(k for k in globals().keys() if k != 'nodes' and k[0] != '_') sphinx-1.2.2+dfsg.orig/sphinx/texinputs/0000755000000000000000000000000012304560277016763 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/texinputs/python.ist0000644000000000000000000000033411644410760021022 0ustar rootrootline_max 100 headings_flag 1 heading_prefix " \\bigletter " preamble "\\begin{theindex} \\def\\bigletter#1{{\\Large\\sffamily#1}\\nopagebreak\\vspace{1mm}} " symhead_positive "{Symbols}" numhead_positive "{Numbers}" sphinx-1.2.2+dfsg.orig/sphinx/texinputs/sphinxmanual.cls0000644000000000000000000001000512264620664022173 0ustar rootroot% % sphinxmanual.cls for Sphinx (http://sphinx-doc.org/) % \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{sphinxmanual}[2009/06/02 Document class (Sphinx manual)] % chapters starting at odd pages (overridden by 'openany' document option) \PassOptionsToClass{openright}{\sphinxdocclass} % 'oneside' option overriding the 'twoside' default \newif\if@oneside \DeclareOption{oneside}{\@onesidetrue} % Pass remaining document options to the parent class. \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} \ProcessOptions\relax % Defaults two-side document \if@oneside % nothing to do (oneside is the default) \else \PassOptionsToClass{twoside}{\sphinxdocclass} \fi \LoadClass{\sphinxdocclass} % Set some sane defaults for section numbering depth and TOC depth. You can % reset these counters in your preamble. % \setcounter{secnumdepth}{2} \setcounter{tocdepth}{1} % Change the title page to look a bit better, and fit in with the fncychap % ``Bjarne'' style a bit better. % \renewcommand{\maketitle}{% \begin{titlepage}% \let\footnotesize\small \let\footnoterule\relax \rule{\textwidth}{1pt}% \ifsphinxpdfoutput \begingroup % These \defs are required to deal with multi-line authors; it % changes \\ to ', ' (comma-space), making it pass muster for % generating document info in the PDF file. \def\\{, } \def\and{and } \pdfinfo{ /Author (\@author) /Title (\@title) } \endgroup \fi \begin{flushright}% \sphinxlogo% {\rm\Huge\py@HeaderFamily \@title \par}% {\em\LARGE\py@HeaderFamily \py@release\releaseinfo \par} \vfill {\LARGE\py@HeaderFamily \begin{tabular}[t]{c} \@author \end{tabular} \par} \vfill\vfill {\large \@date \par \vfill \py@authoraddress \par }% \end{flushright}%\par \@thanks \end{titlepage}% \cleardoublepage% \setcounter{footnote}{0}% \let\thanks\relax\let\maketitle\relax %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} } % Catch the end of the {abstract} environment, but here make sure the abstract % is followed by a blank page if the 'openright' option is used. % \let\py@OldEndAbstract=\endabstract \renewcommand{\endabstract}{ \if@openright \ifodd\value{page} \typeout{Adding blank page after the abstract.} \vfil\pagebreak \fi \fi \py@OldEndAbstract } % This wraps the \tableofcontents macro with all the magic to get the spacing % right and have the right number of pages if the 'openright' option has been % used. This eliminates a fair amount of crud in the individual document files. % \let\py@OldTableofcontents=\tableofcontents \renewcommand{\tableofcontents}{% \pagenumbering{roman}% \setcounter{page}{1}% \pagebreak% \pagestyle{plain}% {% \parskip = 0mm% \py@OldTableofcontents% \if@openright% \ifodd\value{page}% \typeout{Adding blank page after the table of contents.}% \pagebreak\hspace{0pt}% \fi% \fi% \cleardoublepage% }% \pagenumbering{arabic}% \@ifundefined{fancyhf}{}{\pagestyle{normal}}% } \pagenumbering{alph} % This is needed to get the width of the section # area wide enough in the % library reference. Doing it here keeps it the same for all the manuals. % \renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.6em}} \renewcommand*\l@subsection{\@dottedtocline{2}{4.1em}{3.5em}} % Fix the bibliography environment to add an entry to the Table of % Contents. % For a report document class this environment is a chapter. \let\py@OldThebibliography=\thebibliography \renewcommand{\thebibliography}[1]{ \cleardoublepage \phantomsection \py@OldThebibliography{1} \addcontentsline{toc}{chapter}{\bibname} } % Same for the indices. % The memoir class already does this, so we don't duplicate it in that case. % \@ifclassloaded{memoir}{}{ \let\py@OldTheindex=\theindex \renewcommand{\theindex}{ \cleardoublepage \phantomsection \py@OldTheindex \addcontentsline{toc}{chapter}{\indexname} } } sphinx-1.2.2+dfsg.orig/sphinx/texinputs/sphinxhowto.cls0000644000000000000000000000521312251557232022057 0ustar rootroot% % sphinxhowto.cls for Sphinx (http://sphinx-doc.org/) % \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{sphinxhowto}[2009/06/02 Document class (Sphinx HOWTO)] % 'oneside' option overriding the 'twoside' default \newif\if@oneside \DeclareOption{oneside}{\@onesidetrue} % Pass remaining document options to the parent class. \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} \ProcessOptions\relax % Default to two-side document \if@oneside % nothing to do (oneside is the default) \else \PassOptionsToClass{twoside}{\sphinxdocclass} \fi \LoadClass{\sphinxdocclass} % Set some sane defaults for section numbering depth and TOC depth. You can % reset these counters in your preamble. % \setcounter{secnumdepth}{2} % Change the title page to look a bit better, and fit in with the fncychap % ``Bjarne'' style a bit better. % \renewcommand{\maketitle}{ \rule{\textwidth}{1pt} \ifsphinxpdfoutput \begingroup % These \defs are required to deal with multi-line authors; it % changes \\ to ', ' (comma-space), making it pass muster for % generating document info in the PDF file. \def\\{, } \def\and{and } \pdfinfo{ /Author (\@author) /Title (\@title) } \endgroup \fi \begin{flushright} \sphinxlogo% {\rm\Huge\py@HeaderFamily \@title} \par {\em\large\py@HeaderFamily \py@release\releaseinfo} \par \vspace{25pt} {\Large\py@HeaderFamily \begin{tabular}[t]{c} \@author \end{tabular}} \par \vspace{25pt} \@date \par \py@authoraddress \par \end{flushright} \@thanks \setcounter{footnote}{0} \let\thanks\relax\let\maketitle\relax %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} } \let\py@OldTableofcontents=\tableofcontents \renewcommand{\tableofcontents}{ \begingroup \parskip = 0mm \py@OldTableofcontents \endgroup \rule{\textwidth}{1pt} \vspace{12pt} } \@ifundefined{fancyhf}{ \pagestyle{plain}}{ \pagestyle{normal}} % start this way; change for \pagenumbering{arabic} % ToC & chapters \thispagestyle{empty} % Fix the bibliography environment to add an entry to the Table of % Contents. % For an article document class this environment is a section, % so no page break before it. \let\py@OldThebibliography=\thebibliography \renewcommand{\thebibliography}[1]{ \phantomsection \py@OldThebibliography{1} \addcontentsline{toc}{section}{\bibname} } % Same for the indices. % The memoir class already does this, so we don't duplicate it in that case. % \@ifclassloaded{memoir}{}{ \let\py@OldTheindex=\theindex \renewcommand{\theindex}{ \phantomsection \py@OldTheindex \addcontentsline{toc}{section}{\indexname} } } sphinx-1.2.2+dfsg.orig/sphinx/texinputs/fncychap.sty0000644000000000000000000004452711644410760021330 0ustar rootroot%%% Copyright Ulf A. Lindgren %%% %%% Note Premission is granted to modify this file under %%% the condition that it is saved using another %%% file and package name. %%% %%% Revision 1.1 (1997) %%% %%% Jan. 8th Modified package name base date option %%% Jan. 22th Modified FmN and FmTi for error in book.cls %%% \MakeUppercase{#}->{\MakeUppercase#} %%% Apr. 6th Modified Lenny option to prevent undesired %%% skip of line. %%% Nov. 8th Fixed \@chapapp for AMS %%% %%% Revision 1.2 (1998) %%% %%% Feb. 11th Fixed appendix problem related to Bjarne %%% Aug. 11th Fixed problem related to 11pt and 12pt %%% suggested by Tomas Lundberg. THANKS! %%% %%% Revision 1.3 (2004) %%% Sep. 20th problem with frontmatter, mainmatter and %%% backmatter, pointed out by Lapo Mori %%% %%% Revision 1.31 (2004) %%% Sep. 21th problem with the Rejne definition streched text %%% caused ugly gaps in the vrule aligned with the title %%% text. Kindly pointed out to me by Hendri Adriaens %%% %%% Revision 1.32 (2005) %%% Jun. 23th compatibility problem with the KOMA class 'scrbook.cls' %%% a remedy is a redefinition of '\@schapter' in %%% line with that used in KOMA. The problem was pointed %%% out to me by Mikkel Holm Olsen %%% %%% Revision 1.33 (2005) %%% Aug. 9th misspelled ``TWELV'' corrected, the error was pointed %%% out to me by George Pearson %%% %%% Revision 1.34 (2007) %%% Added an alternative to Lenny provided by Peter %%% Osborne (2005-11-28) %%% Corrected front, main and back matter, based on input %%% from Bas van Gils (2006-04-24) %%% Jul. 30th Added Bjornstrup option provided by Jean-Marc %%% Francois (2007-01-05). %%% Reverted to \MakeUppercase{#} see rev 1.1, solved %%% problem with MakeUppercase and MakeLowercase pointed %%% out by Marco Feuerstein (2007-06-06) %%% Last modified Jul. 2007 \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{fncychap} [2007/07/30 v1.34 LaTeX package (Revised chapters)] %%%% For conditional inclusion of color \newif\ifusecolor \usecolorfalse %%%% DEFINITION OF Chapapp variables \newcommand{\CNV}{\huge\bfseries} \newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}} %%%% DEFINITION OF TheChapter variables \newcommand{\CNoV}{\huge\bfseries} \newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}} \newif\ifUCN \UCNfalse \newif\ifLCN \LCNfalse \def\ChNameLowerCase{\LCNtrue\UCNfalse} \def\ChNameUpperCase{\UCNtrue\LCNfalse} \def\ChNameAsIs{\UCNfalse\LCNfalse} %%%%% Fix for AMSBook 971008 \@ifundefined{@chapapp}{\let\@chapapp\chaptername}{} %%%%% Fix for Bjarne and appendix 980211 \newif\ifinapp \inappfalse \renewcommand\appendix{\par \setcounter{chapter}{0}% \setcounter{section}{0}% \inapptrue% \renewcommand\@chapapp{\appendixname}% \renewcommand\thechapter{\@Alph\c@chapter}} %%%%% Fix for frontmatter, mainmatter, and backmatter 040920 \@ifundefined{@mainmatter}{\newif\if@mainmatter \@mainmattertrue}{} %%%%% \newcommand{\FmN}[1]{% \ifUCN {\MakeUppercase{#1}}\LCNfalse \else \ifLCN {\MakeLowercase{#1}}\UCNfalse \else #1 \fi \fi} %%%% DEFINITION OF Title variables \newcommand{\CTV}{\Huge\bfseries} \newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}} %%%% DEFINITION OF the basic rule width \newlength{\RW} \setlength{\RW}{1pt} \newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}} \newif\ifUCT \UCTfalse \newif\ifLCT \LCTfalse \def\ChTitleLowerCase{\LCTtrue\UCTfalse} \def\ChTitleUpperCase{\UCTtrue\LCTfalse} \def\ChTitleAsIs{\UCTfalse\LCTfalse} \newcommand{\FmTi}[1]{% \ifUCT {\MakeUppercase{#1}}\LCTfalse \else \ifLCT {\MakeLowercase{#1}}\UCTfalse \else {#1} \fi \fi} \newlength{\mylen} \newlength{\myhi} \newlength{\px} \newlength{\py} \newlength{\pyy} \newlength{\pxx} \def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@} \newcommand{\DOCH}{% \CNV\FmN{\@chapapp}\space \CNoV\thechapter \par\nobreak \vskip 20\p@ } \newcommand{\DOTI}[1]{% \CTV\FmTi{#1}\par\nobreak \vskip 40\p@ } \newcommand{\DOTIS}[1]{% \CTV\FmTi{#1}\par\nobreak \vskip 40\p@ } %%%%%% SONNY DEF \DeclareOption{Sonny}{% \ChNameVar{\Large\sf} \ChNumVar{\Huge} \ChTitleVar{\Large\sf} \ChRuleWidth{0.5pt} \ChNameUpperCase \renewcommand{\DOCH}{% \raggedleft \CNV\FmN{\@chapapp}\space \CNoV\thechapter \par\nobreak \vskip 40\p@} \renewcommand{\DOTI}[1]{% \CTV\raggedleft\mghrulefill{\RW}\par\nobreak \vskip 5\p@ \CTV\FmTi{#1}\par\nobreak \mghrulefill{\RW}\par\nobreak \vskip 40\p@} \renewcommand{\DOTIS}[1]{% \CTV\raggedleft\mghrulefill{\RW}\par\nobreak \vskip 5\p@ \CTV\FmTi{#1}\par\nobreak \mghrulefill{\RW}\par\nobreak \vskip 40\p@} } %%%%%% LENNY DEF \DeclareOption{Lenny}{% \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont} \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont} \ChTitleVar{\Huge\bfseries\rm} \ChRuleWidth{1pt} \renewcommand{\DOCH}{% \settowidth{\px}{\CNV\FmN{\@chapapp}} \addtolength{\px}{2pt} \settoheight{\py}{\CNV\FmN{\@chapapp}} \addtolength{\py}{1pt} \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter} \addtolength{\mylen}{1pt} \settowidth{\pxx}{\CNoV\thechapter} \addtolength{\pxx}{-1pt} \settoheight{\pyy}{\CNoV\thechapter} \addtolength{\pyy}{-2pt} \setlength{\myhi}{\pyy} \addtolength{\myhi}{-1\py} \par \parbox[b]{\textwidth}{% \rule[\py]{\RW}{\myhi}% \hskip -\RW% \rule[\pyy]{\px}{\RW}% \hskip -\px% \raggedright% \CNV\FmN{\@chapapp}\space\CNoV\thechapter% \hskip1pt% \mghrulefill{\RW}% \rule{\RW}{\pyy}\par\nobreak% \vskip -\baselineskip% \vskip -\pyy% \hskip \mylen% \mghrulefill{\RW}\par\nobreak% \vskip \pyy}% \vskip 20\p@} \renewcommand{\DOTI}[1]{% \raggedright \CTV\FmTi{#1}\par\nobreak \vskip 40\p@} \renewcommand{\DOTIS}[1]{% \raggedright \CTV\FmTi{#1}\par\nobreak \vskip 40\p@} } %%%%%% Peter Osbornes' version of LENNY DEF \DeclareOption{PetersLenny}{% % five new lengths \newlength{\bl} % bottom left : orig \space \setlength{\bl}{6pt} \newcommand{\BL}[1]{\setlength{\bl}{#1}} \newlength{\br} % bottom right : orig 1pt \setlength{\br}{1pt} \newcommand{\BR}[1]{\setlength{\br}{#1}} \newlength{\tl} % top left : orig 2pt \setlength{\tl}{2pt} \newcommand{\TL}[1]{\setlength{\tl}{#1}} \newlength{\trr} % top right :orig 1pt \setlength{\trr}{1pt} \newcommand{\TR}[1]{\setlength{\trr}{#1}} \newlength{\blrule} % top right :orig 1pt \setlength{\trr}{0pt} \newcommand{\BLrule}[1]{\setlength{\blrule}{#1}} \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont} \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont} \ChTitleVar{\Huge\bfseries\rm} \ChRuleWidth{1pt} \renewcommand{\DOCH}{% %%%%%%% tweaks for 1--9 and A--Z \ifcase\c@chapter\relax% \or\BL{-3pt}\TL{-4pt}\BR{0pt}\TR{-6pt}%1 \or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%2 \or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%3 \or\BL{0pt}\TL{5pt}\BR{2pt}\TR{-4pt}%4 \or\BL{0pt}\TL{3pt}\BR{2pt}\TR{-4pt}%5 \or\BL{-1pt}\TL{0pt}\BR{2pt}\TR{-2pt}%6 \or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%7 \or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%8 \or\BL{0pt}\TL{-3pt}\BR{-4pt}\TR{-2pt}%9 \or\BL{-3pt}\TL{-3pt}\BR{2pt}\TR{-7pt}%10 \or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%11 \or\BL{-6pt}\TL{-6pt}\BR{2pt}\TR{-7pt}%12 \or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%13 \or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%14 \or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%15 \or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%16 \or\BL{-5pt}\TL{-3pt}\BR{-8pt}\TR{-6pt}%17 \or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%18 \or\BL{-3pt}\TL{-3pt}\BR{-6pt}\TR{-9pt}%19 \or\BL{0pt}\TL{0pt}\BR{0pt}\TR{-5pt}%20 \fi \ifinapp\ifcase\c@chapter\relax% \or\BL{0pt}\TL{14pt}\BR{5pt}\TR{-19pt}%A \or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}%B \or\BL{-3pt}\TL{-2pt}\BR{1pt}\TR{-6pt}\BLrule{0pt}%C \or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}\BLrule{0pt}%D \or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-3pt}%E \or\BL{0pt}\TL{-5pt}\BR{-10pt}\TR{-1pt}%F \or\BL{-3pt}\TL{0pt}\BR{0pt}\TR{-7pt}%G \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%H \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%I \or\BL{2pt}\TL{0pt}\BR{-3pt}\TR{1pt}%J \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%K \or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-19pt}%L \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%M \or\BL{0pt}\TL{-5pt}\BR{-2pt}\TR{-1pt}%N \or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%O \or\BL{0pt}\TL{-5pt}\BR{-9pt}\TR{-3pt}%P \or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%Q \or\BL{0pt}\TL{-5pt}\BR{4pt}\TR{-8pt}%R \or\BL{-2pt}\TL{-2pt}\BR{-2pt}\TR{-7pt}%S \or\BL{-3pt}\TL{0pt}\BR{-5pt}\TR{4pt}\BLrule{8pt}%T \or\BL{-7pt}\TL{-11pt}\BR{-5pt}\TR{-7pt}\BLrule{0pt}%U \or\BL{-14pt}\TL{-5pt}\BR{-14pt}\TR{-1pt}\BLrule{14pt}%V \or\BL{-10pt}\TL{-9pt}\BR{-13pt}\TR{-3pt}\BLrule{7pt}%W \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%X \or\BL{-6pt}\TL{-4pt}\BR{-7pt}\TR{1pt}\BLrule{7pt}%Y \or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%Z \fi\fi %%%%%%% \settowidth{\px}{\CNV\FmN{\@chapapp}} \addtolength{\px}{\tl} %MOD change 2pt to \tl \settoheight{\py}{\CNV\FmN{\@chapapp}} \addtolength{\py}{1pt} \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter} \addtolength{\mylen}{\trr}% MOD change 1pt to \tr \settowidth{\pxx}{\CNoV\thechapter} \addtolength{\pxx}{-1pt} \settoheight{\pyy}{\CNoV\thechapter} \addtolength{\pyy}{-2pt} \setlength{\myhi}{\pyy} \addtolength{\myhi}{-1\py} \par \parbox[b]{\textwidth}{% \rule[\py]{\RW}{\myhi}% \hskip -\RW% \rule[\pyy]{\px}{\RW}% \hskip -\px% \raggedright% \CNV\FmN{\@chapapp}\rule{\blrule}{\RW}\hskip\bl\CNoV\thechapter%MOD % \CNV\FmN{\@chapapp}\space\CNoV\thechapter %ORIGINAL \hskip\br% %MOD 1pt to \br \mghrulefill{\RW}% \rule{\RW}{\pyy}\par\nobreak% \vskip -\baselineskip% \vskip -\pyy% \hskip \mylen% \mghrulefill{\RW}\par\nobreak% \vskip \pyy}% \vskip 20\p@} \renewcommand{\DOTI}[1]{% \raggedright \CTV\FmTi{#1}\par\nobreak \vskip 40\p@} \renewcommand{\DOTIS}[1]{% \raggedright \CTV\FmTi{#1}\par\nobreak \vskip 40\p@} } % %%%%%% BJORNSTRUP DEF \DeclareOption{Bjornstrup}{% \usecolortrue % pzc (Zapf Chancelery) is nice. ppl (Palatino) is cool too. \ChNumVar{\fontsize{76}{80}\usefont{OT1}{pzc}{m}{n}\selectfont} \ChTitleVar{\raggedleft\Large\sffamily\bfseries} \setlength{\myhi}{10pt} % Space between grey box border and text \setlength{\mylen}{\textwidth} \addtolength{\mylen}{-2\myhi} \renewcommand{\DOCH}{% \settowidth{\py}{\CNoV\thechapter} \addtolength{\py}{-10pt} % Amount of space by which the % % number is shifted right \fboxsep=0pt% \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}% \kern-\py\raise20pt% \hbox{\color[gray]{.5}\CNoV\thechapter}\\% } \renewcommand{\DOTI}[1]{% \nointerlineskip\raggedright% \fboxsep=\myhi% \vskip-1ex% \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak% \vskip 40\p@% } \renewcommand{\DOTIS}[1]{% \fboxsep=0pt \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}\\% \nointerlineskip\raggedright% \fboxsep=\myhi% \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak% \vskip 40\p@% } } %%%%%%% GLENN DEF \DeclareOption{Glenn}{% \ChNameVar{\bfseries\Large\sf} \ChNumVar{\Huge} \ChTitleVar{\bfseries\Large\rm} \ChRuleWidth{1pt} \ChNameUpperCase \ChTitleUpperCase \renewcommand{\DOCH}{% \settoheight{\myhi}{\CTV\FmTi{Test}} \setlength{\py}{\baselineskip} \addtolength{\py}{\RW} \addtolength{\py}{\myhi} \setlength{\pyy}{\py} \addtolength{\pyy}{-1\RW} \raggedright \CNV\FmN{\@chapapp}\space\CNoV\thechapter \hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak} \renewcommand{\DOTI}[1]{% \addtolength{\pyy}{-4pt} \settoheight{\myhi}{\CTV\FmTi{#1}} \addtolength{\myhi}{\py} \addtolength{\myhi}{-1\RW} \vskip -1\pyy \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt \raggedleft\CTV\FmTi{#1}\par\nobreak \vskip 80\p@} \newlength{\backskip} \renewcommand{\DOTIS}[1]{% % \setlength{\py}{10pt} % \setlength{\pyy}{\py} % \addtolength{\pyy}{\RW} % \setlength{\myhi}{\baselineskip} % \addtolength{\myhi}{\pyy} % \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak % \addtolength{}{} %\vskip -1\baselineskip % \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt % \raggedleft\CTV\FmTi{#1}\par\nobreak % \vskip 60\p@} %% Fix suggested by Tomas Lundberg \setlength{\py}{25pt} % eller vad man vill \setlength{\pyy}{\py} \setlength{\backskip}{\py} \addtolength{\backskip}{2pt} \addtolength{\pyy}{\RW} \setlength{\myhi}{\baselineskip} \addtolength{\myhi}{\pyy} \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak \vskip -1\backskip \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 3pt % \raggedleft\CTV\FmTi{#1}\par\nobreak \vskip 40\p@} } %%%%%%% CONNY DEF \DeclareOption{Conny}{% \ChNameUpperCase \ChTitleUpperCase \ChNameVar{\centering\Huge\rm\bfseries} \ChNumVar{\Huge} \ChTitleVar{\centering\Huge\rm} \ChRuleWidth{2pt} \renewcommand{\DOCH}{% \mghrulefill{3\RW}\par\nobreak \vskip -0.5\baselineskip \mghrulefill{\RW}\par\nobreak \CNV\FmN{\@chapapp}\space \CNoV\thechapter \par\nobreak \vskip -0.5\baselineskip } \renewcommand{\DOTI}[1]{% \mghrulefill{\RW}\par\nobreak \CTV\FmTi{#1}\par\nobreak \vskip 60\p@ } \renewcommand{\DOTIS}[1]{% \mghrulefill{\RW}\par\nobreak \CTV\FmTi{#1}\par\nobreak \vskip 60\p@ } } %%%%%%% REJNE DEF \DeclareOption{Rejne}{% \ChNameUpperCase \ChTitleUpperCase \ChNameVar{\centering\Large\rm} \ChNumVar{\Huge} \ChTitleVar{\centering\Huge\rm} \ChRuleWidth{1pt} \renewcommand{\DOCH}{% \settoheight{\py}{\CNoV\thechapter} \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31 \addtolength{\py}{-1pt} \CNV\FmN{\@chapapp}\par\nobreak \vskip 20\p@ \setlength{\myhi}{2\baselineskip} \setlength{\px}{\myhi} \addtolength{\px}{-1\RW} \rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip 10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip 10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak \vskip -3\p@% Added -2pt vskip to correct for streched text v1.31 } \renewcommand{\DOTI}[1]{% \setlength{\mylen}{\textwidth} \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31 \addtolength{\mylen}{-2\RW} {\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule width\RW}\par\nobreak% \vskip -3pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip}% \vskip 60\p@% Added -2pt in vskip to correct for streched text v1.31 } \renewcommand{\DOTIS}[1]{% \setlength{\py}{\fboxrule} \setlength{\fboxrule}{\RW} \setlength{\mylen}{\textwidth} \addtolength{\mylen}{-2\RW} \fbox{\parbox{\mylen}{\vskip 2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}} \setlength{\fboxrule}{\py} \vskip 60\p@ } } %%%%%%% BJARNE DEF \DeclareOption{Bjarne}{% \ChNameUpperCase \ChTitleUpperCase \ChNameVar{\raggedleft\normalsize\rm} \ChNumVar{\raggedleft \bfseries\Large} \ChTitleVar{\raggedleft \Large\rm} \ChRuleWidth{1pt} %% Note thechapter -> c@chapter fix appendix bug %% Fixed misspelled 12 \newcounter{AlphaCnt} \newcounter{AlphaDecCnt} \newcommand{\AlphaNo}{% \ifcase\number\theAlphaCnt \ifnum\c@chapter=0 ZERO\else{}\fi \or ONE\or TWO\or THREE\or FOUR\or FIVE \or SIX\or SEVEN\or EIGHT\or NINE\or TEN \or ELEVEN\or TWELVE\or THIRTEEN\or FOURTEEN\or FIFTEEN \or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi } \newcommand{\AlphaDecNo}{% \setcounter{AlphaDecCnt}{0} \@whilenum\number\theAlphaCnt>0\do {\addtocounter{AlphaCnt}{-10} \addtocounter{AlphaDecCnt}{1}} \ifnum\number\theAlphaCnt=0 \else \addtocounter{AlphaDecCnt}{-1} \addtocounter{AlphaCnt}{10} \fi \ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi } \newcommand{\TheAlphaChapter}{% \ifinapp \thechapter \else \setcounter{AlphaCnt}{\c@chapter} \ifnum\c@chapter<20 \AlphaNo \else \AlphaDecNo\AlphaNo \fi \fi } \renewcommand{\DOCH}{% \mghrulefill{\RW}\par\nobreak \CNV\FmN{\@chapapp}\par\nobreak \CNoV\TheAlphaChapter\par\nobreak \vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak \vskip 20\p@ } \renewcommand{\DOTI}[1]{% \CTV\FmTi{#1}\par\nobreak \vskip 40\p@ } \renewcommand{\DOTIS}[1]{% \CTV\FmTi{#1}\par\nobreak \vskip 40\p@ } } \DeclareOption*{% \PackageWarning{fancychapter}{unknown style option} } \ProcessOptions* \relax \ifusecolor \RequirePackage{color} \fi \def\@makechapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920 \DOCH \fi \fi \interlinepenalty\@M \if@mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 060424 \DOTI{#1}% \else% \DOTIS{#1}% \fi }} %%% Begin: To avoid problem with scrbook.cls (fncychap version 1.32) %%OUT: %\def\@schapter#1{\if@twocolumn % \@topnewpage[\@makeschapterhead{#1}]% % \else % \@makeschapterhead{#1}% % \@afterheading % \fi} %%IN: \def\@schapter#1{% \if@twocolumn% \@makeschapterhead{#1}% \else% \@makeschapterhead{#1}% \@afterheading% \fi} %%% End: To avoid problem with scrbook.cls (fncychap version 1.32) \def\@makeschapterhead#1{% \vspace*{50\p@}% {\parindent \z@ \raggedright \normalfont \interlinepenalty\@M \DOTIS{#1} \vskip 40\p@ }} \endinput sphinx-1.2.2+dfsg.orig/sphinx/texinputs/Makefile0000644000000000000000000000365412304557741020435 0ustar rootroot# Makefile for Sphinx LaTeX output ALLDOCS = $(basename $(wildcard *.tex)) ALLPDF = $(addsuffix .pdf,$(ALLDOCS)) ALLDVI = $(addsuffix .dvi,$(ALLDOCS)) # Prefix for archive names ARCHIVEPRREFIX = # Additional LaTeX options LATEXOPTS = all: $(ALLPDF) all-pdf: $(ALLPDF) all-dvi: $(ALLDVI) all-ps: all-dvi for f in *.dvi; do dvips $$f; done all-pdf-ja: for f in *.pdf *.png *.gif *.jpg *.jpeg; do extractbb $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done -for f in *.idx; do mendex -U -f -d "`basename $$f .idx`.dic" -s python.ist $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.tex; do platex -kanji=utf8 $(LATEXOPTS) $$f; done for f in *.dvi; do dvipdfmx $$f; done zip: all-$(FMT) mkdir $(ARCHIVEPREFIX)docs-$(FMT) cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) zip -q -r -9 $(ARCHIVEPREFIX)docs-$(FMT).zip $(ARCHIVEPREFIX)docs-$(FMT) rm -r $(ARCHIVEPREFIX)docs-$(FMT) tar: all-$(FMT) mkdir $(ARCHIVEPREFIX)docs-$(FMT) cp $(ALLPDF) $(ARCHIVEPREFIX)docs-$(FMT) tar cf $(ARCHIVEPREFIX)docs-$(FMT).tar $(ARCHIVEPREFIX)docs-$(FMT) rm -r $(ARCHIVEPREFIX)docs-$(FMT) bz2: tar bzip2 -9 -k $(ARCHIVEPREFIX)docs-$(FMT).tar # The number of LaTeX runs is quite conservative, but I don't expect it # to get run often, so the little extra time won't hurt. %.dvi: %.tex latex $(LATEXOPTS) '$<' latex $(LATEXOPTS) '$<' latex $(LATEXOPTS) '$<' -makeindex -s python.ist '$(basename $<).idx' latex $(LATEXOPTS) '$<' latex $(LATEXOPTS) '$<' %.pdf: %.tex pdflatex $(LATEXOPTS) '$<' pdflatex $(LATEXOPTS) '$<' pdflatex $(LATEXOPTS) '$<' -makeindex -s python.ist '$(basename $<).idx' pdflatex $(LATEXOPTS) '$<' pdflatex $(LATEXOPTS) '$<' clean: rm -f *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla .PHONY: all all-pdf all-dvi all-ps clean .PHONY: all-pdf-ja sphinx-1.2.2+dfsg.orig/sphinx/texinputs/tabulary.sty0000644000000000000000000003261412264536447021364 0ustar rootroot%% %% This is file `tabulary.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% tabulary.dtx (with options: `package') %% DRAFT VERSION %% %% File `tabulary.dtx'. %% Copyright (C) 1995 1996 2003 2008 David Carlisle %% This file may be distributed under the terms of the LPPL. %% See 00readme.txt for details. %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tabulary} [2008/12/01 v0.9 tabulary package (DPC)] \RequirePackage{array} \catcode`\Z=14 \DeclareOption{debugshow}{\catcode`\Z=9\relax} \ProcessOptions \def\arraybackslash{\let\\=\@arraycr} \def\@finalstrut#1{% \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1} \newcount\TY@count \def\tabulary{% \let\TY@final\tabular \let\endTY@final\endtabular \TY@tabular} \def\TY@tabular#1{% \edef\TY@{\@currenvir}% {\ifnum0=`}\fi \@ovxx\TY@linewidth \@ovyy\TY@tablewidth \count@\z@ \@tempswatrue \@whilesw\if@tempswa\fi{% \advance\count@\@ne \expandafter\ifx\csname TY@F\the\count@\endcsname\relax \@tempswafalse \else \expandafter\let\csname TY@SF\the\count@\expandafter\endcsname \csname TY@F\the\count@\endcsname \global\expandafter\let\csname TY@F\the\count@\endcsname\relax \expandafter\let\csname TY@S\the\count@\expandafter\endcsname \csname TY@\the\count@\endcsname \fi}% \global\TY@count\@ne \TY@width\xdef{0pt}% \global\TY@tablewidth\z@ \global\TY@linewidth#1\relax Z\message{^^J^^JTable^^J% Z Target Width: \the\TY@linewidth^^J% Z \string\tabcolsep: \the\tabcolsep\space Z \string\arrayrulewidth: \the\arrayrulewidth\space Z \string\doublerulesep: \the\doublerulesep^^J% Z \string\tymin: \the\tymin\space Z \string\tymax: \the\tymax^^J}% \let\@classz\TY@classz \let\verb\TX@verb \toks@{}\TY@get@body} \let\TY@@mkpream\@mkpream \def\TY@mkpream{% \def\@addamp{% \if@firstamp \@firstampfalse \else \global\advance\TY@count\@ne \edef\@preamble{\@preamble &}\fi \TY@width\xdef{0pt}}% \def\@acol{% \TY@subwidth\col@sep \@addtopreamble{\hskip\col@sep}}% \let\@arrayrule\TY@arrayrule \let\@classvi\TY@classvi \def\@classv{\save@decl \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@ \sbox\z@{\d@llarbegin\@nextchar\d@llarend}% \TY@subwidth{\wd\z@}% \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}% \prepnext@tok}% \global\let\@mkpream\TY@@mkpream \TY@@mkpream} \def\TY@arrayrule{% \TY@subwidth\arrayrulewidth \@addtopreamble \vline} \def\TY@classvi{\ifcase \@lastchclass \@acol \or \TY@subwidth\doublerulesep \@addtopreamble{\hskip \doublerulesep}\or \@acol \or \@classvii \fi} \def\TY@tab{% \setbox\z@\hbox\bgroup \let\[$\let\]$% \let\equation$\let\endequation$% \col@sep\tabcolsep \let\d@llarbegin\begingroup\let\d@llarend\endgroup \let\@mkpream\TY@mkpream \def\multicolumn##1##2##3{\multispan##1\relax}% \CT@start\TY@tabarray} \def\TY@tabarray{\@ifnextchar[{\TY@array}{\@array[t]}} \def\TY@array[#1]{\@array[t]} \def\TY@width#1{% \expandafter#1\csname TY@\the\TY@count\endcsname} \def\TY@subwidth#1{% \TY@width\dimen@ \advance\dimen@-#1\relax \TY@width\xdef{\the\dimen@}% \global\advance\TY@linewidth-#1\relax} \def\endtabulary{% \gdef\@halignto{}% \expandafter\TY@tab\the\toks@ \crcr\omit {\xdef\TY@save@row{}% \loop \advance\TY@count\m@ne \ifnum\TY@count>\z@ \xdef\TY@save@row{\TY@save@row&\omit}% \repeat}\TY@save@row \endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1 \unskip\global\setbox1=\lastbox}\egroup \dimen@\TY@linewidth \divide\dimen@\TY@count \ifdim\dimen@<\tymin \TY@warn{tymin too large (\the\tymin), resetting to \the\dimen@}% \tymin\dimen@ \fi \setbox\tw@=\hbox{\unhbox\@ne \loop \@tempdima=\lastskip \ifdim\@tempdima>\z@ Z \message{ecs=\the\@tempdima^^J}% \global\advance\TY@linewidth-\@tempdima \fi \unskip \setbox\tw@=\lastbox \ifhbox\tw@ Z \message{Col \the\TY@count: Initial=\the\wd\tw@\space}% \ifdim\wd\tw@>\tymax \wd\tw@\tymax Z \message{> max\space}% Z \else Z \message{ \@spaces\space}% \fi \TY@width\dimen@ Z \message{\the\dimen@\space}% \advance\dimen@\wd\tw@ Z \message{Final=\the\dimen@\space}% \TY@width\xdef{\the\dimen@}% \ifdim\dimen@<\tymin Z \message{< tymin}% \global\advance\TY@linewidth-\dimen@ \expandafter\xdef\csname TY@F\the\TY@count\endcsname {\the\dimen@}% \else \expandafter\ifx\csname TY@F\the\TY@count\endcsname\z@ Z \message{***}% \global\advance\TY@linewidth-\dimen@ \expandafter\xdef\csname TY@F\the\TY@count\endcsname {\the\dimen@}% \else Z \message{> tymin}% \global\advance\TY@tablewidth\dimen@ \global\expandafter\let\csname TY@F\the\TY@count\endcsname \maxdimen \fi\fi \advance\TY@count\m@ne \repeat}% \TY@checkmin \TY@checkmin \TY@checkmin \TY@checkmin \TY@count\z@ \let\TY@box\TY@box@v {\expandafter\TY@final\the\toks@\endTY@final}% \count@\z@ \@tempswatrue \@whilesw\if@tempswa\fi{% \advance\count@\@ne \expandafter\ifx\csname TY@SF\the\count@\endcsname\relax \@tempswafalse \else \global\expandafter\let\csname TY@F\the\count@\expandafter\endcsname \csname TY@SF\the\count@\endcsname \global\expandafter\let\csname TY@\the\count@\expandafter\endcsname \csname TY@S\the\count@\endcsname \fi}% \TY@linewidth\@ovxx \TY@tablewidth\@ovyy \ifnum0=`{\fi}} \def\TY@checkmin{% \let\TY@checkmin\relax \ifdim\TY@tablewidth>\z@ \Gscale@div\TY@ratio\TY@linewidth\TY@tablewidth \ifdim\TY@tablewidth <\TY@linewidth \def\TY@ratio{1}% \fi \else \TY@warn{No suitable columns!}% \def\TY@ratio{1}% \fi \count@\z@ Z \message{^^JLine Width: \the\TY@linewidth, Z Natural Width: \the\TY@tablewidth, Z Ratio: \TY@ratio^^J}% \@tempdima\z@ \loop \ifnum\count@<\TY@count \advance\count@\@ne \ifdim\csname TY@F\the\count@\endcsname>\tymin \dimen@\csname TY@\the\count@\endcsname \dimen@\TY@ratio\dimen@ \ifdim\dimen@<\tymin Z \message{Column \the\count@\space ->}% \global\expandafter\let\csname TY@F\the\count@\endcsname\tymin \global\advance\TY@linewidth-\tymin \global\advance\TY@tablewidth-\csname TY@\the\count@\endcsname \let\TY@checkmin\TY@@checkmin \else \expandafter\xdef\csname TY@F\the\count@\endcsname{\the\dimen@}% \advance\@tempdima\csname TY@F\the\count@\endcsname \fi \fi Z \dimen@\csname TY@F\the\count@\endcsname\message{\the\dimen@, }% \repeat Z \message{^^JTotal:\the\@tempdima^^J}% } \let\TY@@checkmin\TY@checkmin \newdimen\TY@linewidth \def\tyformat{\everypar{{\nobreak\hskip\z@skip}}} \newdimen\tymin \tymin=10pt \newdimen\tymax \tymax=2\textwidth \def\@testpach{\@chclass \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else \ifnum \@lastchclass=7 5 \else \ifnum \@lastchclass=8 \tw@ \else \ifnum \@lastchclass=9 \thr@@ \else \z@ \ifnum \@lastchclass = 10 \else \edef\@nextchar{\expandafter\string\@nextchar}% \@chnum \if \@nextchar c\z@ \else \if \@nextchar l\@ne \else \if \@nextchar r\tw@ \else \if \@nextchar C7 \else \if \@nextchar L8 \else \if \@nextchar R9 \else \if \@nextchar J10 \else \z@ \@chclass \if\@nextchar |\@ne \else \if \@nextchar !6 \else \if \@nextchar @7 \else \if \@nextchar <8 \else \if \@nextchar >9 \else 10 \@chnum \if \@nextchar m\thr@@\else \if \@nextchar p4 \else \if \@nextchar b5 \else \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} \def\TY@classz{% \@classx \@tempcnta\count@ \ifx\TY@box\TY@box@v \global\advance\TY@count\@ne \fi \let\centering c% \let\raggedright\noindent \let\raggedleft\indent \let\arraybackslash\relax \prepnext@tok \ifnum\@chnum<4 \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@ \fi \ifnum\@chnum=6 \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@ \fi \@addtopreamble{% \ifcase\@chnum \hfil \d@llarbegin\insert@column\d@llarend \hfil \or \kern\z@ \d@llarbegin \insert@column \d@llarend \hfil \or \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \or $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or \d@llarbegin \insert@column \d@llarend \or% dubious "s" case \TY@box\centering\or \TY@box\raggedright\or \TY@box\raggedleft\or \TY@box\relax \fi}\prepnext@tok} \def\TY@box#1{% \ifx\centering#1% \hfil \d@llarbegin\insert@column\d@llarend \hfil \else \ifx\raggedright#1% \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< \d@llarbegin \insert@column \d@llarend \hfil \else \ifx\raggedleft#1% \hfil\kern\z@ \d@llarbegin \insert@column \d@llarend \else \ifx\relax#1% \d@llarbegin \insert@column \d@llarend \fi \fi \fi \fi} \def\TY@box@v#1{% \vtop \@startpbox{\csname TY@F\the\TY@count\endcsname}% #1\arraybackslash\tyformat \insert@column\@endpbox} \newdimen\TY@tablewidth \def\Gscale@div#1#2#3{% \setlength\dimen@{#3}% \ifdim\dimen@=\z@ \PackageError{graphics}{Division by 0}\@eha \dimen@#2% \fi \edef\@tempd{\the\dimen@}% \setlength\dimen@{#2}% \count@65536\relax \ifdim\dimen@<\z@ \dimen@-\dimen@ \count@-\count@ \fi \loop \ifdim\dimen@<8192\p@ \dimen@\tw@\dimen@ \divide\count@\tw@ \repeat \dimen@ii=\@tempd\relax \divide\dimen@ii\count@ \divide\dimen@\dimen@ii \edef#1{\strip@pt\dimen@}} \long\def\TY@get@body#1\end {\toks@\expandafter{\the\toks@#1}\TY@find@end} \def\TY@find@end#1{% \def\@tempa{#1}% \ifx\@tempa\TY@\def\@tempa{\end{#1}}\expandafter\@tempa \else\toks@\expandafter {\the\toks@\end{#1}}\expandafter\TY@get@body\fi} \def\TY@warn{% \PackageWarning{tabulary}} \catcode`\Z=11 \AtBeginDocument{ \@ifpackageloaded{colortbl}{% \expandafter\def\expandafter\@mkpream\expandafter#\expandafter1% \expandafter{% \expandafter\let\expandafter\CT@setup\expandafter\relax \expandafter\let\expandafter\CT@color\expandafter\relax \expandafter\let\expandafter\CT@do@color\expandafter\relax \expandafter\let\expandafter\color\expandafter\relax \expandafter\let\expandafter\CT@column@color\expandafter\relax \expandafter\let\expandafter\CT@row@color\expandafter\relax \@mkpream{#1}} \let\TY@@mkpream\@mkpream \def\TY@classz{% \@classx \@tempcnta\count@ \ifx\TY@box\TY@box@v \global\advance\TY@count\@ne \fi \let\centering c% \let\raggedright\noindent \let\raggedleft\indent \let\arraybackslash\relax \prepnext@tok \expandafter\CT@extract\the\toks\@tempcnta\columncolor!\@nil \ifnum\@chnum<4 \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@ \fi \ifnum\@chnum=6 \global\expandafter\let\csname TY@F\the\TY@count\endcsname\z@ \fi \@addtopreamble{% \setbox\z@\hbox\bgroup\bgroup \ifcase\@chnum \hskip\stretch{.5}\kern\z@ \d@llarbegin\insert@column\d@llarend\hskip\stretch{.5}\or \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<< \d@llarbegin \insert@column \d@llarend \hfill \or \hfill\kern\z@ \d@llarbegin \insert@column \d@llarend \or $\vcenter\@startpbox{\@nextchar}\insert@column \@endpbox $\or \vtop \@startpbox{\@nextchar}\insert@column \@endpbox \or \vbox \@startpbox{\@nextchar}\insert@column \@endpbox \or \d@llarbegin \insert@column \d@llarend \or% dubious s case \TY@box\centering\or \TY@box\raggedright\or \TY@box\raggedleft\or \TY@box\relax \fi \egroup\egroup \begingroup \CT@setup \CT@column@color \CT@row@color \CT@do@color \endgroup \@tempdima\ht\z@ \advance\@tempdima\minrowclearance \vrule\@height\@tempdima\@width\z@ \unhbox\z@ }\prepnext@tok}% \def\TY@arrayrule{% \TY@subwidth\arrayrulewidth \@addtopreamble{{\CT@arc@\vline}}}% \def\TY@classvi{\ifcase \@lastchclass \@acol \or \TY@subwidth\doublerulesep \ifx\CT@drsc@\relax \@addtopreamble{\hskip\doublerulesep}% \else \@addtopreamble{{\CT@drsc@\vrule\@width\doublerulesep}}% \fi\or \@acol \or \@classvii \fi}% }{% \let\CT@start\relax } } {\uccode`\*=`\ % \uppercase{\gdef\TX@verb{% \leavevmode\null\TX@vwarn {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces \@ifstar{\let~*\TX@vb}{\TX@vb}}}} \def\TX@vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}% \expandafter\TX@v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!} \def\TX@v#1!{\afterassignment\TX@vfirst\let\@tempa= } \begingroup \catcode`\*=\catcode`\# \catcode`\#=12 \gdef\TX@vfirst{% \if\@tempa#% \def\@tempb{\TX@v@#}% \else \let\@tempb\TX@v@ \if\@tempa\space~\else\@tempa\fi \fi \@tempb} \gdef\TX@v@*1 *2{% \TX@v@hash*1##\relax\if*2\\\else~\expandafter\TX@v@\fi*2} \gdef\TX@v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX@v@hash\fi*2} \endgroup \def\TX@vwarn{% \@warning{\noexpand\verb may be unreliable inside tabularx/y}% \global\let\TX@vwarn\@empty} \endinput %% %% End of file `tabulary.sty'. sphinx-1.2.2+dfsg.orig/sphinx/texinputs/sphinx.sty0000644000000000000000000003671012264246266021050 0ustar rootroot% % sphinx.sty % % Adapted from the old python.sty, mostly written by Fred Drake, % by Georg Brandl. % \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{sphinx}[2010/01/15 LaTeX package (Sphinx markup)] \@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}} \RequirePackage{textcomp} \RequirePackage{fancybox} \RequirePackage{titlesec} \RequirePackage{tabulary} \RequirePackage{amsmath} % for \text \RequirePackage{makeidx} \RequirePackage{framed} \RequirePackage{ifthen} \RequirePackage{color} % For highlighted code. \RequirePackage{fancyvrb} % For table captions. \RequirePackage{threeparttable} % Handle footnotes in tables. \RequirePackage{footnote} \makesavenoteenv{tabulary} % For floating figures in the text. \RequirePackage{wrapfig} % Separate paragraphs by space by default. \RequirePackage{parskip} % For parsed-literal blocks. \RequirePackage{alltt} % Redefine these colors to your liking in the preamble. \definecolor{TitleColor}{rgb}{0.126,0.263,0.361} \definecolor{InnerLinkColor}{rgb}{0.208,0.374,0.486} \definecolor{OuterLinkColor}{rgb}{0.216,0.439,0.388} % Redefine these colors to something not white if you want to have colored % background and border for code examples. \definecolor{VerbatimColor}{rgb}{1,1,1} \definecolor{VerbatimBorderColor}{rgb}{1,1,1} % Uncomment these two lines to ignore the paper size and make the page % size more like a typical published manual. %\renewcommand{\paperheight}{9in} %\renewcommand{\paperwidth}{8.5in} % typical squarish manual %\renewcommand{\paperwidth}{7in} % O'Reilly ``Programmming Python'' % use pdfoutput for pTeX and dvipdfmx \ifx\kanjiskip\undefined\else \ifx\Gin@driver{dvipdfmx.def}\undefined\else \newcount\pdfoutput\pdfoutput=0 \fi \fi % For graphicx, check if we are compiling under latex or pdflatex. \ifx\pdftexversion\undefined \usepackage{graphicx} \else \usepackage[pdftex]{graphicx} \fi % for PDF output, use colors and maximal compression \newif\ifsphinxpdfoutput\sphinxpdfoutputfalse \ifx\pdfoutput\undefined\else\ifcase\pdfoutput \let\py@NormalColor\relax \let\py@TitleColor\relax \else \sphinxpdfoutputtrue \input{pdfcolor} \def\py@NormalColor{\color[rgb]{0.0,0.0,0.0}} \def\py@TitleColor{\color{TitleColor}} \pdfcompresslevel=9 \fi\fi % XeLaTeX can do colors, too \ifx\XeTeXrevision\undefined\else \def\py@NormalColor{\color[rgb]{0.0,0.0,0.0}} \def\py@TitleColor{\color{TitleColor}} \fi % Increase printable page size (copied from fullpage.sty) \topmargin 0pt \advance \topmargin by -\headheight \advance \topmargin by -\headsep % attempt to work a little better for A4 users \textheight \paperheight \advance\textheight by -2in \oddsidemargin 0pt \evensidemargin 0pt %\evensidemargin -.25in % for ``manual size'' documents \marginparwidth 0.5in \textwidth \paperwidth \advance\textwidth by -2in % Style parameters and macros used by most documents here \raggedbottom \sloppy \hbadness = 5000 % don't print trivial gripes \pagestyle{empty} % start this way % Use this to set the font family for headers and other decor: \newcommand{\py@HeaderFamily}{\sffamily\bfseries} % Redefine the 'normal' header/footer style when using "fancyhdr" package: \@ifundefined{fancyhf}{}{ % Use \pagestyle{normal} as the primary pagestyle for text. \fancypagestyle{normal}{ \fancyhf{} \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}} \fancyfoot[LO]{{\py@HeaderFamily\nouppercase{\rightmark}}} \fancyfoot[RE]{{\py@HeaderFamily\nouppercase{\leftmark}}} \fancyhead[LE,RO]{{\py@HeaderFamily \@title, \py@release}} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} % define chaptermark with \@chappos when \@chappos is available for Japanese \ifx\@chappos\undefined\else \def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}} \fi } % Update the plain style so we get the page number & footer line, % but not a chapter or section title. This is to keep the first % page of a chapter and the blank page between chapters `clean.' \fancypagestyle{plain}{ \fancyhf{} \fancyfoot[LE,RO]{{\py@HeaderFamily\thepage}} \renewcommand{\headrulewidth}{0pt} \renewcommand{\footrulewidth}{0.4pt} } } % Some custom font markup commands. % \newcommand{\strong}[1]{{\textbf{#1}}} \newcommand{\code}[1]{\texttt{#1}} \newcommand{\bfcode}[1]{\code{\bfseries#1}} \newcommand{\email}[1]{\textsf{#1}} % Redefine the Verbatim environment to allow border and background colors. % The original environment is still used for verbatims within tables. \let\OriginalVerbatim=\Verbatim \let\endOriginalVerbatim=\endVerbatim % Play with vspace to be able to keep the indentation. \newlength\distancetoright \def\mycolorbox#1{% \setlength\distancetoright{\linewidth}% \advance\distancetoright -\@totalleftmargin % \fcolorbox{VerbatimBorderColor}{VerbatimColor}{% \begin{minipage}{\distancetoright}% #1 \end{minipage}% }% } \def\FrameCommand{\mycolorbox} \renewcommand{\Verbatim}[1][1]{% % list starts new par, but we don't want it to be set apart vertically \bgroup\parskip=0pt% \smallskip% % The list environement is needed to control perfectly the vertical % space. \list{}{% \setlength\parskip{0pt}% \setlength\itemsep{0ex}% \setlength\topsep{0ex}% \setlength\partopsep{0pt}% \setlength\leftmargin{0pt}% }% \item\MakeFramed {\FrameRestore}% \small% \OriginalVerbatim[#1]% } \renewcommand{\endVerbatim}{% \endOriginalVerbatim% \endMakeFramed% \endlist% % close group to restore \parskip \egroup% } % \moduleauthor{name}{email} \newcommand{\moduleauthor}[2]{} % \sectionauthor{name}{email} \newcommand{\sectionauthor}[2]{} % Augment the sectioning commands used to get our own font family in place, % and reset some internal data items: \titleformat{\section}{\Large\py@HeaderFamily}% {\py@TitleColor\thesection}{0.5em}{\py@TitleColor}{\py@NormalColor} \titleformat{\subsection}{\large\py@HeaderFamily}% {\py@TitleColor\thesubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} \titleformat{\subsubsection}{\py@HeaderFamily}% {\py@TitleColor\thesubsubsection}{0.5em}{\py@TitleColor}{\py@NormalColor} \titleformat{\paragraph}{\small\py@HeaderFamily}% {\py@TitleColor}{0em}{\py@TitleColor}{\py@NormalColor} % {fulllineitems} is the main environment for object descriptions. % \newcommand{\py@itemnewline}[1]{% \@tempdima\linewidth% \advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}% } \newenvironment{fulllineitems}{ \begin{list}{}{\labelwidth \leftmargin \labelsep 0pt \rightmargin 0pt \topsep -\parskip \partopsep \parskip \itemsep -\parsep \let\makelabel=\py@itemnewline} }{\end{list}} % \optional is used for ``[, arg]``, i.e. desc_optional nodes. \newcommand{\optional}[1]{% {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}} \newlength{\py@argswidth} \newcommand{\py@sigparams}[2]{% \parbox[t]{\py@argswidth}{#1\code{)}#2}} \newcommand{\pysigline}[1]{\item[#1]\nopagebreak} \newcommand{\pysiglinewithargsret}[3]{% \settowidth{\py@argswidth}{#1\code{(}}% \addtolength{\py@argswidth}{-2\py@argswidth}% \addtolength{\py@argswidth}{\linewidth}% \item[#1\code{(}\py@sigparams{#2}{#3}]} % Production lists % \newenvironment{productionlist}{ % \def\optional##1{{\Large[}##1{\Large]}} \def\production##1##2{\\\code{##1}&::=&\code{##2}} \def\productioncont##1{\\& &\code{##1}} \parindent=2em \indent \setlength{\LTpre}{0pt} \setlength{\LTpost}{0pt} \begin{longtable}[l]{lcl} }{% \end{longtable} } % Notices / Admonitions % \newlength{\py@noticelength} \newcommand{\py@heavybox}{ \setlength{\fboxrule}{1pt} \setlength{\fboxsep}{6pt} \setlength{\py@noticelength}{\linewidth} \addtolength{\py@noticelength}{-2\fboxsep} \addtolength{\py@noticelength}{-2\fboxrule} %\setlength{\shadowsize}{3pt} \noindent\Sbox \minipage{\py@noticelength} } \newcommand{\py@endheavybox}{ \endminipage \endSbox \fbox{\TheSbox} } \newcommand{\py@lightbox}{{% \setlength\parskip{0pt}\par \noindent\rule[0ex]{\linewidth}{0.5pt}% \par\noindent\vspace{-0.5ex}% }} \newcommand{\py@endlightbox}{{% \setlength{\parskip}{0pt}% \par\noindent\rule[0.5ex]{\linewidth}{0.5pt}% \par\vspace{-0.5ex}% }} % Some are quite plain: \newcommand{\py@noticestart@note}{\py@lightbox} \newcommand{\py@noticeend@note}{\py@endlightbox} \newcommand{\py@noticestart@hint}{\py@lightbox} \newcommand{\py@noticeend@hint}{\py@endlightbox} \newcommand{\py@noticestart@important}{\py@lightbox} \newcommand{\py@noticeend@important}{\py@endlightbox} \newcommand{\py@noticestart@tip}{\py@lightbox} \newcommand{\py@noticeend@tip}{\py@endlightbox} % Others gets more visible distinction: \newcommand{\py@noticestart@warning}{\py@heavybox} \newcommand{\py@noticeend@warning}{\py@endheavybox} \newcommand{\py@noticestart@caution}{\py@heavybox} \newcommand{\py@noticeend@caution}{\py@endheavybox} \newcommand{\py@noticestart@attention}{\py@heavybox} \newcommand{\py@noticeend@attention}{\py@endheavybox} \newcommand{\py@noticestart@danger}{\py@heavybox} \newcommand{\py@noticeend@danger}{\py@endheavybox} \newcommand{\py@noticestart@error}{\py@heavybox} \newcommand{\py@noticeend@error}{\py@endheavybox} \newenvironment{notice}[2]{ \def\py@noticetype{#1} \csname py@noticestart@#1\endcsname \strong{#2} }{\csname py@noticeend@\py@noticetype\endcsname} % Allow the release number to be specified independently of the % \date{}. This allows the date to reflect the document's date and % release to specify the release that is documented. % \newcommand{\py@release}{} \newcommand{\version}{} \newcommand{\shortversion}{} \newcommand{\releaseinfo}{} \newcommand{\releasename}{Release} \newcommand{\release}[1]{% \renewcommand{\py@release}{\releasename\space\version}% \renewcommand{\version}{#1}} \newcommand{\setshortversion}[1]{% \renewcommand{\shortversion}{#1}} \newcommand{\setreleaseinfo}[1]{% \renewcommand{\releaseinfo}{#1}} % Allow specification of the author's address separately from the % author's name. This can be used to format them differently, which % is a good thing. % \newcommand{\py@authoraddress}{} \newcommand{\authoraddress}[1]{\renewcommand{\py@authoraddress}{#1}} % This sets up the fancy chapter headings that make the documents look % at least a little better than the usual LaTeX output. % \@ifundefined{ChTitleVar}{}{ \ChNameVar{\raggedleft\normalsize\py@HeaderFamily} \ChNumVar{\raggedleft \bfseries\Large\py@HeaderFamily} \ChTitleVar{\raggedleft \textrm{\Huge\py@HeaderFamily}} % This creates chapter heads without the leading \vspace*{}: \def\@makechapterhead#1{% {\parindent \z@ \raggedright \normalfont \ifnum \c@secnumdepth >\m@ne \DOCH \fi \interlinepenalty\@M \DOTI{#1} } } } % Redefine description environment so that it is usable inside fulllineitems. % \renewcommand{\description}{% \list{}{\labelwidth\z@% \itemindent-\leftmargin% \labelsep5pt% \let\makelabel=\descriptionlabel}} % Definition lists; requested by AMK for HOWTO documents. Probably useful % elsewhere as well, so keep in in the general style support. % \newenvironment{definitions}{% \begin{description}% \def\term##1{\item[##1]\mbox{}\\*[0mm]} }{% \end{description}% } % Tell TeX about pathological hyphenation cases: \hyphenation{Base-HTTP-Re-quest-Hand-ler} % The following is stuff copied from docutils' latex writer. % \newcommand{\optionlistlabel}[1]{\bf #1 \hfill} \newenvironment{optionlist}[1] {\begin{list}{} {\setlength{\labelwidth}{#1} \setlength{\rightmargin}{1cm} \setlength{\leftmargin}{\rightmargin} \addtolength{\leftmargin}{\labelwidth} \addtolength{\leftmargin}{\labelsep} \renewcommand{\makelabel}{\optionlistlabel}} }{\end{list}} \newlength{\lineblockindentation} \setlength{\lineblockindentation}{2.5em} \newenvironment{lineblock}[1] {\begin{list}{} {\setlength{\partopsep}{\parskip} \addtolength{\partopsep}{\baselineskip} \topsep0pt\itemsep0.15\baselineskip\parsep0pt \leftmargin#1} \raggedright} {\end{list}} % Redefine includgraphics for avoiding images larger than the screen size % If the size is not specified. \let\py@Oldincludegraphics\includegraphics \newbox\image@box% \newdimen\image@width% \renewcommand\includegraphics[2][\@empty]{% \ifx#1\@empty% \setbox\image@box=\hbox{\py@Oldincludegraphics{#2}}% \image@width\wd\image@box% \ifdim \image@width>\linewidth% \setbox\image@box=\hbox{\py@Oldincludegraphics[width=\linewidth]{#2}}% \box\image@box% \else% \py@Oldincludegraphics{#2}% \fi% \else% \py@Oldincludegraphics[#1]{#2}% \fi% } % to make pdf with correct encoded bookmarks in Japanese % this should precede the hyperref package \ifx\kanjiskip\undefined\else \usepackage{atbegshi} \ifx\ucs\undefined \ifnum 42146=\euc"A4A2 \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}} \else \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}} \fi \else \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}} \fi \fi % Include hyperref last. \RequirePackage[colorlinks,breaklinks, linkcolor=InnerLinkColor,filecolor=OuterLinkColor, menucolor=OuterLinkColor,urlcolor=OuterLinkColor, citecolor=InnerLinkColor]{hyperref} % Fix anchor placement for figures with captions. % (Note: we don't use a package option here; instead, we give an explicit % \capstart for figures that actually have a caption.) \RequirePackage{hypcap} % From docutils.writers.latex2e \providecommand{\DUspan}[2]{% {% group ("span") to limit the scope of styling commands \@for\node@class@name:=#1\do{% \ifcsname docutilsrole\node@class@name\endcsname% \csname docutilsrole\node@class@name\endcsname% \fi% }% {#2}% node content }% close "span" } \providecommand*{\DUprovidelength}[2]{ \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{} } \DUprovidelength{\DUlineblockindent}{2.5em} \ifthenelse{\isundefined{\DUlineblock}}{ \newenvironment{DUlineblock}[1]{% \list{}{\setlength{\partopsep}{\parskip} \addtolength{\partopsep}{\baselineskip} \setlength{\topsep}{0pt} \setlength{\itemsep}{0.15\baselineskip} \setlength{\parsep}{0pt} \setlength{\leftmargin}{#1}} \raggedright } {\endlist} }{} % From footmisc.sty: allows footnotes in titles \let\FN@sf@@footnote\footnote \def\footnote{\ifx\protect\@typeset@protect \expandafter\FN@sf@@footnote \else \expandafter\FN@sf@gobble@opt \fi } \edef\FN@sf@gobble@opt{\noexpand\protect \expandafter\noexpand\csname FN@sf@gobble@opt \endcsname} \expandafter\def\csname FN@sf@gobble@opt \endcsname{% \@ifnextchar[%] \FN@sf@gobble@twobracket \@gobble } \def\FN@sf@gobble@twobracket[#1]#2{} % adjust the margins for footer, % this works with the jsclasses only (Japanese standard document classes) \ifx\@jsc@uplatextrue\undefined\else \hypersetup{setpagesize=false} \setlength\footskip{2\baselineskip} \addtolength{\textheight}{-2\baselineskip} \fi % fix the double index and bibliography on the table of contents % in jsclasses (Japanese standard document classes) \ifx\@jsc@uplatextrue\undefined\else \renewcommand{\theindex}{ \cleardoublepage \phantomsection \py@OldTheindex } \renewcommand{\thebibliography}[1]{ \cleardoublepage \phantomsection \py@OldThebibliography{1} } \fi % disable \@chappos in Appendix in pTeX \ifx\kanjiskip\undefined\else \let\py@OldAppendix=\appendix \renewcommand{\appendix}{ \py@OldAppendix \gdef\@chappos{} } \fi sphinx-1.2.2+dfsg.orig/sphinx/builders/0000755000000000000000000000000012304560277016531 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/builders/latex.py0000644000000000000000000001554612304304673020227 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.latex ~~~~~~~~~~~~~~~~~~~~~ LaTeX builder. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os from os import path from docutils import nodes from docutils.io import FileOutput from docutils.utils import new_document from docutils.frontend import OptionParser from sphinx import package_dir, addnodes from sphinx.util import texescape from sphinx.locale import _ from sphinx.builders import Builder from sphinx.environment import NoUri from sphinx.util.nodes import inline_all_toctrees from sphinx.util.osutil import SEP, copyfile from sphinx.util.console import bold, darkgreen from sphinx.writers.latex import LaTeXWriter class LaTeXBuilder(Builder): """ Builds LaTeX output to create PDF. """ name = 'latex' format = 'latex' supported_image_types = ['application/pdf', 'image/png', 'image/gif', 'image/jpeg'] def init(self): self.docnames = [] self.document_data = [] texescape.init() def get_outdated_docs(self): return 'all documents' # for now def get_target_uri(self, docname, typ=None): if docname not in self.docnames: raise NoUri else: return '%' + docname def get_relative_uri(self, from_, to, typ=None): # ignore source path return self.get_target_uri(to, typ) def init_document_data(self): preliminary_document_data = map(list, self.config.latex_documents) if not preliminary_document_data: self.warn('no "latex_documents" config value found; no documents ' 'will be written') return # assign subdirs to titles self.titles = [] for entry in preliminary_document_data: docname = entry[0] if docname not in self.env.all_docs: self.warn('"latex_documents" config value references unknown ' 'document %s' % docname) continue self.document_data.append(entry) if docname.endswith(SEP+'index'): docname = docname[:-5] self.titles.append((docname, entry[2])) def write(self, *ignored): docwriter = LaTeXWriter(self) docsettings = OptionParser( defaults=self.env.settings, components=(docwriter,), read_config_files=True).get_default_values() self.init_document_data() for entry in self.document_data: docname, targetname, title, author, docclass = entry[:5] toctree_only = False if len(entry) > 5: toctree_only = entry[5] destination = FileOutput( destination_path=path.join(self.outdir, targetname), encoding='utf-8') self.info("processing " + targetname + "... ", nonl=1) doctree = self.assemble_doctree(docname, toctree_only, appendices=((docclass != 'howto') and self.config.latex_appendices or [])) self.post_process_images(doctree) self.info("writing... ", nonl=1) doctree.settings = docsettings doctree.settings.author = author doctree.settings.title = title doctree.settings.docname = docname doctree.settings.docclass = docclass docwriter.write(doctree, destination) self.info("done") def assemble_doctree(self, indexfile, toctree_only, appendices): self.docnames = set([indexfile] + appendices) self.info(darkgreen(indexfile) + " ", nonl=1) tree = self.env.get_doctree(indexfile) tree['docname'] = indexfile if toctree_only: # extract toctree nodes from the tree and put them in a # fresh document new_tree = new_document('') new_sect = nodes.section() new_sect += nodes.title(u'', u'') new_tree += new_sect for node in tree.traverse(addnodes.toctree): new_sect += node tree = new_tree largetree = inline_all_toctrees(self, self.docnames, indexfile, tree, darkgreen) largetree['docname'] = indexfile for docname in appendices: appendix = self.env.get_doctree(docname) appendix['docname'] = docname largetree.append(appendix) self.info() self.info("resolving references...") self.env.resolve_references(largetree, indexfile, self) # resolve :ref:s to distant tex files -- we can't add a cross-reference, # but append the document name for pendingnode in largetree.traverse(addnodes.pending_xref): docname = pendingnode['refdocname'] sectname = pendingnode['refsectname'] newnodes = [nodes.emphasis(sectname, sectname)] for subdir, title in self.titles: if docname.startswith(subdir): newnodes.append(nodes.Text(_(' (in '), _(' (in '))) newnodes.append(nodes.emphasis(title, title)) newnodes.append(nodes.Text(')', ')')) break else: pass pendingnode.replace_self(newnodes) return largetree def finish(self): # copy image files if self.images: self.info(bold('copying images...'), nonl=1) for src, dest in self.images.iteritems(): self.info(' '+src, nonl=1) copyfile(path.join(self.srcdir, src), path.join(self.outdir, dest)) self.info() # copy TeX support files from texinputs self.info(bold('copying TeX support files...')) staticdirname = path.join(package_dir, 'texinputs') for filename in os.listdir(staticdirname): if not filename.startswith('.'): copyfile(path.join(staticdirname, filename), path.join(self.outdir, filename)) # copy additional files if self.config.latex_additional_files: self.info(bold('copying additional files...'), nonl=1) for filename in self.config.latex_additional_files: self.info(' '+filename, nonl=1) copyfile(path.join(self.confdir, filename), path.join(self.outdir, path.basename(filename))) self.info() # the logo is handled differently if self.config.latex_logo: logobase = path.basename(self.config.latex_logo) copyfile(path.join(self.confdir, self.config.latex_logo), path.join(self.outdir, logobase)) self.info('done') sphinx-1.2.2+dfsg.orig/sphinx/builders/websupport.py0000644000000000000000000001417212304304673021316 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.websupport ~~~~~~~~~~~~~~~~~~~~~~~~~~ Builder for the web support package. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from os import path import posixpath import shutil from docutils.io import StringOutput from sphinx.jinja2glue import BuiltinTemplateLoader from sphinx.util.osutil import os_path, relative_uri, ensuredir, copyfile from sphinx.builders.html import PickleHTMLBuilder from sphinx.writers.websupport import WebSupportTranslator class WebSupportBuilder(PickleHTMLBuilder): """ Builds documents for the web support package. """ name = 'websupport' versioning_method = 'commentable' def init(self): PickleHTMLBuilder.init(self) # templates are needed for this builder, but the serializing # builder does not initialize them self.init_templates() if not isinstance(self.templates, BuiltinTemplateLoader): raise RuntimeError('websupport builder must be used with ' 'the builtin templates') # add our custom JS self.script_files.append('_static/websupport.js') def set_webinfo(self, staticdir, virtual_staticdir, search, storage): self.staticdir = staticdir self.virtual_staticdir = virtual_staticdir self.search = search self.storage = storage def init_translator_class(self): self.translator_class = WebSupportTranslator def prepare_writing(self, docnames): PickleHTMLBuilder.prepare_writing(self, docnames) self.globalcontext['no_search_suffix'] = True def write_doc(self, docname, doctree): destination = StringOutput(encoding='utf-8') doctree.settings = self.docsettings self.secnumbers = self.env.toc_secnumbers.get(docname, {}) self.imgpath = '/' + posixpath.join(self.virtual_staticdir, '_images') self.dlpath = '/' + posixpath.join(self.virtual_staticdir, '_downloads') self.current_docname = docname self.docwriter.write(doctree, destination) self.docwriter.assemble_parts() body = self.docwriter.parts['fragment'] metatags = self.docwriter.clean_meta ctx = self.get_doc_context(docname, body, metatags) self.handle_page(docname, ctx, event_arg=doctree) def write_doc_serialized(self, docname, doctree): self.imgpath = '/' + posixpath.join(self.virtual_staticdir, '_images') self.post_process_images(doctree) title = self.env.longtitles.get(docname) title = title and self.render_partial(title)['title'] or '' self.index_page(docname, doctree, title) def load_indexer(self, docnames): self.indexer = self.search self.indexer.init_indexing(changed=docnames) def _render_page(self, pagename, addctx, templatename, event_arg=None): # This is mostly copied from StandaloneHTMLBuilder. However, instead # of rendering the template and saving the html, create a context # dict and pickle it. ctx = self.globalcontext.copy() ctx['pagename'] = pagename def pathto(otheruri, resource=False, baseuri=self.get_target_uri(pagename)): if resource and '://' in otheruri: return otheruri elif not resource: otheruri = self.get_target_uri(otheruri) return relative_uri(baseuri, otheruri) or '#' else: return '/' + posixpath.join(self.virtual_staticdir, otheruri) ctx['pathto'] = pathto ctx['hasdoc'] = lambda name: name in self.env.all_docs ctx['encoding'] = self.config.html_output_encoding ctx['toctree'] = lambda **kw: self._get_local_toctree(pagename, **kw) self.add_sidebars(pagename, ctx) ctx.update(addctx) self.app.emit('html-page-context', pagename, templatename, ctx, event_arg) # create a dict that will be pickled and used by webapps doc_ctx = { 'body': ctx.get('body', ''), 'title': ctx.get('title', ''), } # partially render the html template to get at interesting macros template = self.templates.environment.get_template(templatename) template_module = template.make_module(ctx) for item in ['sidebar', 'relbar', 'script', 'css']: if hasattr(template_module, item): doc_ctx[item] = getattr(template_module, item)() return ctx, doc_ctx def handle_page(self, pagename, addctx, templatename='page.html', outfilename=None, event_arg=None): ctx, doc_ctx = self._render_page(pagename, addctx, templatename, event_arg) if not outfilename: outfilename = path.join(self.outdir, 'pickles', os_path(pagename) + self.out_suffix) ensuredir(path.dirname(outfilename)) self.dump_context(doc_ctx, outfilename) # if there is a source file, copy the source file for the # "show source" link if ctx.get('sourcename'): source_name = path.join(self.staticdir, '_sources', os_path(ctx['sourcename'])) ensuredir(path.dirname(source_name)) copyfile(self.env.doc2path(pagename), source_name) def handle_finish(self): # get global values for css and script files _, doc_ctx = self._render_page('tmp', {}, 'page.html') self.globalcontext['css'] = doc_ctx['css'] self.globalcontext['script'] = doc_ctx['script'] PickleHTMLBuilder.handle_finish(self) # move static stuff over to separate directory directories = ['_images', '_static'] for directory in directories: src = path.join(self.outdir, directory) dst = path.join(self.staticdir, directory) if path.isdir(src): if path.isdir(dst): shutil.rmtree(dst) shutil.move(src, dst) def dump_search_index(self): self.indexer.finish_indexing() sphinx-1.2.2+dfsg.orig/sphinx/builders/devhelp.py0000644000000000000000000001004312304557741020532 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.devhelp ~~~~~~~~~~~~~~~~~~~~~~~ Build HTML documentation and Devhelp_ support files. .. _Devhelp: http://live.gnome.org/devhelp :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from __future__ import absolute_import import re from os import path from docutils import nodes from sphinx import addnodes from sphinx.builders.html import StandaloneHTMLBuilder try: import xml.etree.ElementTree as etree except ImportError: try: import lxml.etree as etree except ImportError: try: import elementtree.ElementTree as etree except ImportError: import cElementTree as etree try: import gzip def comp_open(filename, mode='rb'): return gzip.open(filename + '.gz', mode) except ImportError: def comp_open(filename, mode='rb'): return open(filename, mode) class DevhelpBuilder(StandaloneHTMLBuilder): """ Builder that also outputs GNOME Devhelp file. """ name = 'devhelp' # don't copy the reST source copysource = False supported_image_types = ['image/png', 'image/gif', 'image/jpeg'] # don't add links add_permalinks = False # don't add sidebar etc. embedded = True def init(self): StandaloneHTMLBuilder.init(self) self.out_suffix = '.html' def handle_finish(self): self.build_devhelp(self.outdir, self.config.devhelp_basename) def build_devhelp(self, outdir, outname): self.info('dumping devhelp index...') # Basic info root = etree.Element('book', title=self.config.html_title, name=self.config.project, link="index.html", version=self.config.version) tree = etree.ElementTree(root) # TOC chapters = etree.SubElement(root, 'chapters') tocdoc = self.env.get_and_resolve_doctree( self.config.master_doc, self, prune_toctrees=False) def write_toc(node, parent): if isinstance(node, addnodes.compact_paragraph) or \ isinstance(node, nodes.bullet_list): for subnode in node: write_toc(subnode, parent) elif isinstance(node, nodes.list_item): item = etree.SubElement(parent, 'sub') for subnode in node: write_toc(subnode, item) elif isinstance(node, nodes.reference): parent.attrib['link'] = node['refuri'] parent.attrib['name'] = node.astext().encode('utf-8') def istoctree(node): return isinstance(node, addnodes.compact_paragraph) and \ node.has_key('toctree') for node in tocdoc.traverse(istoctree): write_toc(node, chapters) # Index functions = etree.SubElement(root, 'functions') index = self.env.create_index(self) def write_index(title, refs, subitems): if len(refs) == 0: pass elif len(refs) == 1: etree.SubElement(functions, 'function', name=title, link=refs[0][1]) else: for i, ref in enumerate(refs): etree.SubElement(functions, 'function', name="[%d] %s" % (i, title), link=ref[1]) if subitems: parent_title = re.sub(r'\s*\(.*\)\s*$', '', title) for subitem in subitems: write_index("%s %s" % (parent_title, subitem[0]), subitem[1], []) for (key, group) in index: for title, (refs, subitems) in group: write_index(title, refs, subitems) # Dump the XML file f = comp_open(path.join(outdir, outname + '.devhelp'), 'w') try: tree.write(f) finally: f.close() sphinx-1.2.2+dfsg.orig/sphinx/builders/manpage.py0000644000000000000000000000573712304557741020531 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.manpage ~~~~~~~~~~~~~~~~~~~~~~~ Manual pages builder. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from os import path from docutils.io import FileOutput from docutils.frontend import OptionParser from sphinx import addnodes from sphinx.errors import SphinxError from sphinx.builders import Builder from sphinx.environment import NoUri from sphinx.util.nodes import inline_all_toctrees from sphinx.util.console import bold, darkgreen from sphinx.writers.manpage import ManualPageWriter, has_manpage_writer class ManualPageBuilder(Builder): """ Builds groff output in manual page format. """ name = 'man' format = 'man' supported_image_types = [] def init(self): if not has_manpage_writer: raise SphinxError('The docutils manual page writer can\'t be ' 'found; it is only available as of docutils 0.6.') if not self.config.man_pages: self.warn('no "man_pages" config value found; no manual pages ' 'will be written') def get_outdated_docs(self): return 'all manpages' # for now def get_target_uri(self, docname, typ=None): if typ == 'token': return '' raise NoUri def write(self, *ignored): docwriter = ManualPageWriter(self) docsettings = OptionParser( defaults=self.env.settings, components=(docwriter,), read_config_files=True).get_default_values() self.info(bold('writing... '), nonl=True) for info in self.config.man_pages: docname, name, description, authors, section = info if isinstance(authors, basestring): if authors: authors = [authors] else: authors = [] targetname = '%s.%s' % (name, section) self.info(darkgreen(targetname) + ' { ', nonl=True) destination = FileOutput( destination_path=path.join(self.outdir, targetname), encoding='utf-8') tree = self.env.get_doctree(docname) docnames = set() largetree = inline_all_toctrees(self, docnames, docname, tree, darkgreen) self.info('} ', nonl=True) self.env.resolve_references(largetree, docname, self) # remove pending_xref nodes for pendingnode in largetree.traverse(addnodes.pending_xref): pendingnode.replace_self(pendingnode.children) largetree.settings = docsettings largetree.settings.title = name largetree.settings.subtitle = description largetree.settings.authors = authors largetree.settings.section = section docwriter.write(largetree, destination) self.info() def finish(self): pass sphinx-1.2.2+dfsg.orig/sphinx/builders/changes.py0000644000000000000000000001371112304304673020512 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.changes ~~~~~~~~~~~~~~~~~~~~~~~ Changelog builder. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import codecs from os import path from sphinx import package_dir from sphinx.util import copy_static_entry from sphinx.locale import _ from sphinx.theming import Theme from sphinx.builders import Builder from sphinx.util.osutil import ensuredir, os_path from sphinx.util.console import bold from sphinx.util.pycompat import htmlescape class ChangesBuilder(Builder): """ Write a summary with all versionadded/changed directives. """ name = 'changes' def init(self): self.create_template_bridge() Theme.init_themes(self.confdir, self.config.html_theme_path, warn=self.warn) self.theme = Theme('default') self.templates.init(self, self.theme) def get_outdated_docs(self): return self.outdir typemap = { 'versionadded': 'added', 'versionchanged': 'changed', 'deprecated': 'deprecated', } def write(self, *ignored): version = self.config.version libchanges = {} apichanges = [] otherchanges = {} if version not in self.env.versionchanges: self.info(bold('no changes in version %s.' % version)) return self.info(bold('writing summary file...')) for type, docname, lineno, module, descname, content in \ self.env.versionchanges[version]: if isinstance(descname, tuple): descname = descname[0] ttext = self.typemap[type] context = content.replace('\n', ' ') if descname and docname.startswith('c-api'): if not descname: continue if context: entry = '%s: %s: %s' % (descname, ttext, context) else: entry = '%s: %s.' % (descname, ttext) apichanges.append((entry, docname, lineno)) elif descname or module: if not module: module = _('Builtins') if not descname: descname = _('Module level') if context: entry = '%s: %s: %s' % (descname, ttext, context) else: entry = '%s: %s.' % (descname, ttext) libchanges.setdefault(module, []).append((entry, docname, lineno)) else: if not context: continue entry = '%s: %s' % (ttext.capitalize(), context) title = self.env.titles[docname].astext() otherchanges.setdefault((docname, title), []).append( (entry, docname, lineno)) ctx = { 'project': self.config.project, 'version': version, 'docstitle': self.config.html_title, 'shorttitle': self.config.html_short_title, 'libchanges': sorted(libchanges.iteritems()), 'apichanges': sorted(apichanges), 'otherchanges': sorted(otherchanges.iteritems()), 'show_copyright': self.config.html_show_copyright, 'show_sphinx': self.config.html_show_sphinx, } f = codecs.open(path.join(self.outdir, 'index.html'), 'w', 'utf8') try: f.write(self.templates.render('changes/frameset.html', ctx)) finally: f.close() f = codecs.open(path.join(self.outdir, 'changes.html'), 'w', 'utf8') try: f.write(self.templates.render('changes/versionchanges.html', ctx)) finally: f.close() hltext = ['.. versionadded:: %s' % version, '.. versionchanged:: %s' % version, '.. deprecated:: %s' % version] def hl(no, line): line = ' ' % no + htmlescape(line) for x in hltext: if x in line: line = '%s' % line break return line self.info(bold('copying source files...')) for docname in self.env.all_docs: f = codecs.open(self.env.doc2path(docname), 'r', 'latin1') try: lines = f.readlines() finally: f.close() targetfn = path.join(self.outdir, 'rst', os_path(docname)) + '.html' ensuredir(path.dirname(targetfn)) f = codecs.open(targetfn, 'w', 'latin1') try: text = ''.join(hl(i+1, line) for (i, line) in enumerate(lines)) ctx = { 'filename': self.env.doc2path(docname, None), 'text': text } f.write(self.templates.render('changes/rstsource.html', ctx)) finally: f.close() themectx = dict(('theme_' + key, val) for (key, val) in self.theme.get_options({}).iteritems()) copy_static_entry(path.join(package_dir, 'themes', 'default', 'static', 'default.css_t'), self.outdir, self, themectx) copy_static_entry(path.join(package_dir, 'themes', 'basic', 'static', 'basic.css'), self.outdir, self) def hl(self, text, version): text = htmlescape(text) for directive in ['versionchanged', 'versionadded', 'deprecated']: text = text.replace('.. %s:: %s' % (directive, version), '.. %s:: %s' % (directive, version)) return text def finish(self): pass sphinx-1.2.2+dfsg.orig/sphinx/builders/qthelp.py0000644000000000000000000002510312304557741020403 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.qthelp ~~~~~~~~~~~~~~~~~~~~~~ Build input files for the Qt collection generator. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import codecs import posixpath from os import path from docutils import nodes from sphinx import addnodes from sphinx.builders.html import StandaloneHTMLBuilder from sphinx.util import force_decode from sphinx.util.pycompat import htmlescape _idpattern = re.compile( r'(?P.+) (\((class in )?(?P<id>[\w\.]+)( (?P<descr>\w+))?\))$') # Qt Help Collection Project (.qhcp). # Is the input file for the help collection generator. # It contains references to compressed help files which should be # included in the collection. # It may contain various other information for customizing Qt Assistant. collection_template = u'''\ <?xml version="1.0" encoding="utf-8" ?> <QHelpCollectionProject version="1.0"> <assistant> <title>%(title)s %(homepage)s %(startpage)s %(outname)s.qhp %(outname)s.qch %(outname)s.qch ''' # Qt Help Project (.qhp) # This is the input file for the help generator. # It contains the table of contents, indices and references to the # actual documentation files (*.html). # In addition it defines a unique namespace for the documentation. project_template = u'''\ %(namespace)s doc %(outname)s %(version)s %(outname)s %(version)s

    %(sections)s
    %(keywords)s %(files)s ''' section_template = '
    ' file_template = ' '*12 + '%(filename)s' class QtHelpBuilder(StandaloneHTMLBuilder): """ Builder that also outputs Qt help project, contents and index files. """ name = 'qthelp' # don't copy the reST source copysource = False supported_image_types = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg'] # don't add links add_permalinks = False # don't add sidebar etc. embedded = True def init(self): StandaloneHTMLBuilder.init(self) # the output files for HTML help must be .html only self.out_suffix = '.html' #self.config.html_style = 'traditional.css' def handle_finish(self): self.build_qhp(self.outdir, self.config.qthelp_basename) def build_qhp(self, outdir, outname): self.info('writing project file...') # sections tocdoc = self.env.get_and_resolve_doctree(self.config.master_doc, self, prune_toctrees=False) istoctree = lambda node: ( isinstance(node, addnodes.compact_paragraph) and node.has_key('toctree')) sections = [] for node in tocdoc.traverse(istoctree): sections.extend(self.write_toc(node)) for indexname, indexcls, content, collapse in self.domain_indices: item = section_template % {'title': indexcls.localname, 'ref': '%s.html' % indexname} sections.append(' ' * 4 * 4 + item) # sections may be unicode strings or byte strings, we have to make sure # they are all unicode strings before joining them new_sections = [] for section in sections: if not isinstance(section, unicode): new_sections.append(force_decode(section, None)) else: new_sections.append(section) sections = u'\n'.join(new_sections) # keywords keywords = [] index = self.env.create_index(self, group_entries=False) for (key, group) in index: for title, (refs, subitems) in group: keywords.extend(self.build_keywords(title, refs, subitems)) keywords = u'\n'.join(keywords) # files if not outdir.endswith(os.sep): outdir += os.sep olen = len(outdir) projectfiles = [] staticdir = path.join(outdir, '_static') imagesdir = path.join(outdir, '_images') for root, dirs, files in os.walk(outdir): resourcedir = root.startswith(staticdir) or \ root.startswith(imagesdir) for fn in files: if (resourcedir and not fn.endswith('.js')) or \ fn.endswith('.html'): filename = path.join(root, fn)[olen:] projectfiles.append(file_template % {'filename': htmlescape(filename)}) projectfiles = '\n'.join(projectfiles) # it seems that the "namespace" may not contain non-alphanumeric # characters, and more than one successive dot, or leading/trailing # dots, are also forbidden nspace = 'org.sphinx.%s.%s' % (outname, self.config.version) nspace = re.sub('[^a-zA-Z0-9.]', '', nspace) nspace = re.sub(r'\.+', '.', nspace).strip('.') nspace = nspace.lower() # write the project file f = codecs.open(path.join(outdir, outname+'.qhp'), 'w', 'utf-8') try: f.write(project_template % { 'outname': htmlescape(outname), 'title': htmlescape(self.config.html_title), 'version': htmlescape(self.config.version), 'project': htmlescape(self.config.project), 'namespace': htmlescape(nspace), 'masterdoc': htmlescape(self.config.master_doc), 'sections': sections, 'keywords': keywords, 'files': projectfiles}) finally: f.close() homepage = 'qthelp://' + posixpath.join( nspace, 'doc', self.get_target_uri(self.config.master_doc)) startpage = 'qthelp://' + posixpath.join(nspace, 'doc', 'index.html') self.info('writing collection project file...') f = codecs.open(path.join(outdir, outname+'.qhcp'), 'w', 'utf-8') try: f.write(collection_template % { 'outname': htmlescape(outname), 'title': htmlescape(self.config.html_short_title), 'homepage': htmlescape(homepage), 'startpage': htmlescape(startpage)}) finally: f.close() def isdocnode(self, node): if not isinstance(node, nodes.list_item): return False if len(node.children) != 2: return False if not isinstance(node.children[0], addnodes.compact_paragraph): return False if not isinstance(node.children[0][0], nodes.reference): return False if not isinstance(node.children[1], nodes.bullet_list): return False return True def write_toc(self, node, indentlevel=4): # XXX this should return a Unicode string, not a bytestring parts = [] if self.isdocnode(node): refnode = node.children[0][0] link = refnode['refuri'] title = htmlescape(refnode.astext()).replace('"', '"') item = '
    ' % \ {'title': title, 'ref': link} parts.append(' '*4*indentlevel + item) for subnode in node.children[1]: parts.extend(self.write_toc(subnode, indentlevel+1)) parts.append(' '*4*indentlevel + '
    ') elif isinstance(node, nodes.list_item): for subnode in node: parts.extend(self.write_toc(subnode, indentlevel)) elif isinstance(node, nodes.reference): link = node['refuri'] title = htmlescape(node.astext()).replace('"','"') item = section_template % {'title': title, 'ref': link} item = u' ' * 4 * indentlevel + item parts.append(item.encode('ascii', 'xmlcharrefreplace')) elif isinstance(node, nodes.bullet_list): for subnode in node: parts.extend(self.write_toc(subnode, indentlevel)) elif isinstance(node, addnodes.compact_paragraph): for subnode in node: parts.extend(self.write_toc(subnode, indentlevel)) return parts def keyword_item(self, name, ref): matchobj = _idpattern.match(name) if matchobj: groupdict = matchobj.groupdict() shortname = groupdict['title'] id = groupdict.get('id') #descr = groupdict.get('descr') if shortname.endswith('()'): shortname = shortname[:-2] id = '%s.%s' % (id, shortname) else: id = None if id: item = ' '*12 + '' % ( name, id, ref[1]) else: item = ' '*12 + '' % (name, ref[1]) item.encode('ascii', 'xmlcharrefreplace') return item def build_keywords(self, title, refs, subitems): keywords = [] title = htmlescape(title) # if len(refs) == 0: # XXX # write_param('See Also', title) if len(refs) == 1: keywords.append(self.keyword_item(title, refs[0])) elif len(refs) > 1: for i, ref in enumerate(refs): # XXX # item = (' '*12 + # '' % ( # title, i, ref)) # item.encode('ascii', 'xmlcharrefreplace') # keywords.append(item) keywords.append(self.keyword_item(title, ref)) if subitems: for subitem in subitems: keywords.extend(self.build_keywords(subitem[0], subitem[1], [])) return keywords sphinx-1.2.2+dfsg.orig/sphinx/builders/texinfo.py0000644000000000000000000001731112304557741020564 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.texinfo ~~~~~~~~~~~~~~~~~~~~~~~ Texinfo builder. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from os import path from docutils import nodes from docutils.io import FileOutput from docutils.utils import new_document from docutils.frontend import OptionParser from sphinx import addnodes from sphinx.locale import _ from sphinx.builders import Builder from sphinx.environment import NoUri from sphinx.util.nodes import inline_all_toctrees from sphinx.util.osutil import SEP, copyfile from sphinx.util.console import bold, darkgreen from sphinx.writers.texinfo import TexinfoWriter TEXINFO_MAKEFILE = '''\ # Makefile for Sphinx Texinfo output infodir ?= /usr/share/info MAKEINFO = makeinfo --no-split MAKEINFO_html = makeinfo --no-split --html MAKEINFO_plaintext = makeinfo --no-split --plaintext TEXI2PDF = texi2pdf --batch --expand INSTALL_INFO = install-info ALLDOCS = $(basename $(wildcard *.texi)) all: info info: $(addsuffix .info,$(ALLDOCS)) plaintext: $(addsuffix .txt,$(ALLDOCS)) html: $(addsuffix .html,$(ALLDOCS)) pdf: $(addsuffix .pdf,$(ALLDOCS)) install-info: info \tfor f in *.info; do \\ \t cp -t $(infodir) "$$f" && \\ \t $(INSTALL_INFO) --info-dir=$(infodir) "$$f" ; \\ \tdone uninstall-info: info \tfor f in *.info; do \\ \t rm -f "$(infodir)/$$f" ; \\ \t $(INSTALL_INFO) --delete --info-dir=$(infodir) "$$f" ; \\ \tdone %.info: %.texi \t$(MAKEINFO) -o '$@' '$<' %.txt: %.texi \t$(MAKEINFO_plaintext) -o '$@' '$<' %.html: %.texi \t$(MAKEINFO_html) -o '$@' '$<' %.pdf: %.texi \t-$(TEXI2PDF) '$<' \t-$(TEXI2PDF) '$<' \t-$(TEXI2PDF) '$<' clean: \trm -f *.info *.pdf *.txt *.html \trm -f *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla *.ky *.pg \trm -f *.vr *.tp *.fn *.fns *.def *.defs *.cp *.cps *.ge *.ges *.mo .PHONY: all info plaintext html pdf install-info uninstall-info clean ''' class TexinfoBuilder(Builder): """ Builds Texinfo output to create Info documentation. """ name = 'texinfo' format = 'texinfo' supported_image_types = ['image/png', 'image/jpeg', 'image/gif',] def init(self): self.docnames = [] self.document_data = [] def get_outdated_docs(self): return 'all documents' # for now def get_target_uri(self, docname, typ=None): if docname not in self.docnames: raise NoUri else: return '%' + docname def get_relative_uri(self, from_, to, typ=None): # ignore source path return self.get_target_uri(to, typ) def init_document_data(self): preliminary_document_data = map(list, self.config.texinfo_documents) if not preliminary_document_data: self.warn('no "texinfo_documents" config value found; no documents ' 'will be written') return # assign subdirs to titles self.titles = [] for entry in preliminary_document_data: docname = entry[0] if docname not in self.env.all_docs: self.warn('"texinfo_documents" config value references unknown ' 'document %s' % docname) continue self.document_data.append(entry) if docname.endswith(SEP+'index'): docname = docname[:-5] self.titles.append((docname, entry[2])) def write(self, *ignored): self.init_document_data() for entry in self.document_data: docname, targetname, title, author = entry[:4] targetname += '.texi' direntry = description = category = '' if len(entry) > 6: direntry, description, category = entry[4:7] toctree_only = False if len(entry) > 7: toctree_only = entry[7] destination = FileOutput( destination_path=path.join(self.outdir, targetname), encoding='utf-8') self.info("processing " + targetname + "... ", nonl=1) doctree = self.assemble_doctree(docname, toctree_only, appendices=(self.config.texinfo_appendices or [])) self.info("writing... ", nonl=1) self.post_process_images(doctree) docwriter = TexinfoWriter(self) settings = OptionParser( defaults=self.env.settings, components=(docwriter,), read_config_files=True).get_default_values() settings.author = author settings.title = title settings.texinfo_filename = targetname[:-5] + '.info' settings.texinfo_elements = self.config.texinfo_elements settings.texinfo_dir_entry = direntry or '' settings.texinfo_dir_category = category or '' settings.texinfo_dir_description = description or '' settings.docname = docname doctree.settings = settings docwriter.write(doctree, destination) self.info("done") def assemble_doctree(self, indexfile, toctree_only, appendices): self.docnames = set([indexfile] + appendices) self.info(darkgreen(indexfile) + " ", nonl=1) tree = self.env.get_doctree(indexfile) tree['docname'] = indexfile if toctree_only: # extract toctree nodes from the tree and put them in a # fresh document new_tree = new_document('') new_sect = nodes.section() new_sect += nodes.title(u'', u'') new_tree += new_sect for node in tree.traverse(addnodes.toctree): new_sect += node tree = new_tree largetree = inline_all_toctrees(self, self.docnames, indexfile, tree, darkgreen) largetree['docname'] = indexfile for docname in appendices: appendix = self.env.get_doctree(docname) appendix['docname'] = docname largetree.append(appendix) self.info() self.info("resolving references...") self.env.resolve_references(largetree, indexfile, self) # TODO: add support for external :ref:s for pendingnode in largetree.traverse(addnodes.pending_xref): docname = pendingnode['refdocname'] sectname = pendingnode['refsectname'] newnodes = [nodes.emphasis(sectname, sectname)] for subdir, title in self.titles: if docname.startswith(subdir): newnodes.append(nodes.Text(_(' (in '), _(' (in '))) newnodes.append(nodes.emphasis(title, title)) newnodes.append(nodes.Text(')', ')')) break else: pass pendingnode.replace_self(newnodes) return largetree def finish(self): # copy image files if self.images: self.info(bold('copying images...'), nonl=1) for src, dest in self.images.iteritems(): self.info(' '+src, nonl=1) copyfile(path.join(self.srcdir, src), path.join(self.outdir, dest)) self.info() self.info(bold('copying Texinfo support files... '), nonl=True) # copy Makefile fn = path.join(self.outdir, 'Makefile') self.info(fn, nonl=1) try: mkfile = open(fn, 'w') try: mkfile.write(TEXINFO_MAKEFILE) finally: mkfile.close() except (IOError, OSError), err: self.warn("error writing file %s: %s" % (fn, err)) self.info(' done') sphinx-1.2.2+dfsg.orig/sphinx/builders/linkcheck.py0000644000000000000000000002177512304557741021054 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.linkcheck ~~~~~~~~~~~~~~~~~~~~~~~~~ The CheckExternalLinksBuilder class. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys import Queue import socket import threading from os import path from urllib2 import build_opener, unquote, Request, \ HTTPError, HTTPRedirectHandler from HTMLParser import HTMLParser, HTMLParseError from docutils import nodes from sphinx.builders import Builder from sphinx.util.console import purple, red, darkgreen, darkgray, \ darkred, turquoise class RedirectHandler(HTTPRedirectHandler): """A RedirectHandler that records the redirect code we got.""" def redirect_request(self, req, fp, code, msg, headers, newurl): new_req = HTTPRedirectHandler.redirect_request(self, req, fp, code, msg, headers, newurl) req.redirect_code = code return new_req # create an opener that will simulate a browser user-agent opener = build_opener(RedirectHandler) opener.addheaders = [('User-agent', 'Mozilla/5.0 (X11; Linux x86_64; rv:25.0) ' 'Gecko/20100101 Firefox/25.0')] class HeadRequest(Request): """Subclass of urllib2.Request that sends a HEAD request.""" def get_method(self): return 'HEAD' class AnchorCheckParser(HTMLParser): """Specialized HTML parser that looks for a specific anchor.""" def __init__(self, search_anchor): HTMLParser.__init__(self) self.search_anchor = search_anchor self.found = False def handle_starttag(self, tag, attrs): for key, value in attrs: if key in ('id', 'name') and value == self.search_anchor: self.found = True def check_anchor(f, hash): """Reads HTML data from a filelike object 'f' searching for anchor 'hash'. Returns True if anchor was found, False otherwise. """ parser = AnchorCheckParser(hash) try: # Read file in chunks of 8192 bytes. If we find a matching anchor, we # break the loop early in hopes not to have to download the whole thing. chunk = f.read(8192) while chunk and not parser.found: parser.feed(chunk) chunk = f.read(8192) parser.close() except HTMLParseError: # HTMLParser is usually pretty good with sloppy HTML, but it tends to # choke on EOF. But we're done then anyway. pass return parser.found class CheckExternalLinksBuilder(Builder): """ Checks for broken external links. """ name = 'linkcheck' def init(self): self.to_ignore = map(re.compile, self.app.config.linkcheck_ignore) self.good = set() self.broken = {} self.redirected = {} # set a timeout for non-responding servers socket.setdefaulttimeout(5.0) # create output file open(path.join(self.outdir, 'output.txt'), 'w').close() # create queues and worker threads self.wqueue = Queue.Queue() self.rqueue = Queue.Queue() self.workers = [] for i in range(self.app.config.linkcheck_workers): thread = threading.Thread(target=self.check_thread) thread.setDaemon(True) thread.start() self.workers.append(thread) def check_thread(self): kwargs = {} if sys.version_info > (2, 5) and self.app.config.linkcheck_timeout: kwargs['timeout'] = self.app.config.linkcheck_timeout def check(): # check for various conditions without bothering the network if len(uri) == 0 or uri[0] == '#' or \ uri[0:7] == 'mailto:' or uri[0:4] == 'ftp:': return 'unchecked', '', 0 elif not (uri[0:5] == 'http:' or uri[0:6] == 'https:'): return 'local', '', 0 elif uri in self.good: return 'working', '', 0 elif uri in self.broken: return 'broken', self.broken[uri], 0 elif uri in self.redirected: return 'redirected', self.redirected[uri][0], self.redirected[uri][1] for rex in self.to_ignore: if rex.match(uri): return 'ignored', '', 0 if '#' in uri: req_url, hash = uri.split('#', 1) else: req_url = uri hash = None # need to actually check the URI try: if hash and self.app.config.linkcheck_anchors: # Read the whole document and see if #hash exists req = Request(req_url) f = opener.open(req, **kwargs) found = check_anchor(f, unquote(hash)) f.close() if not found: raise Exception("Anchor '%s' not found" % hash) else: try: # try a HEAD request, which should be easier on # the server and the network req = HeadRequest(req_url) f = opener.open(req, **kwargs) f.close() except HTTPError, err: if err.code != 405: raise # retry with GET if that fails, some servers # don't like HEAD requests and reply with 405 req = Request(req_url) f = opener.open(req, **kwargs) f.close() except Exception, err: self.broken[uri] = str(err) return 'broken', str(err), 0 if f.url.rstrip('/') == req_url.rstrip('/'): self.good.add(uri) return 'working', 'new', 0 else: new_url = f.url if hash: new_url += '#' + hash code = getattr(req, 'redirect_code', 0) self.redirected[uri] = (new_url, code) return 'redirected', new_url, code while True: uri, docname, lineno = self.wqueue.get() if uri is None: break status, info, code = check() self.rqueue.put((uri, docname, lineno, status, info, code)) def process_result(self, result): uri, docname, lineno, status, info, code = result if status == 'unchecked': return if status == 'working' and info != 'new': return if lineno: self.info('(line %4d) ' % lineno, nonl=1) if status == 'ignored': self.info(darkgray('-ignored- ') + uri) elif status == 'local': self.info(darkgray('-local- ') + uri) self.write_entry('local', docname, lineno, uri) elif status == 'working': self.info(darkgreen('ok ') + uri) elif status == 'broken': self.info(red('broken ') + uri + red(' - ' + info)) self.write_entry('broken', docname, lineno, uri + ': ' + info) if self.app.quiet: self.warn('broken link: %s' % uri, '%s:%s' % (self.env.doc2path(docname), lineno)) elif status == 'redirected': text, color = { 301: ('permanently', darkred), 302: ('with Found', purple), 303: ('with See Other', purple), 307: ('temporarily', turquoise), 0: ('with unknown code', purple), }[code] self.write_entry('redirected ' + text, docname, lineno, uri + ' to ' + info) self.info(color('redirect ') + uri + color(' - ' + text + ' to ' + info)) def get_target_uri(self, docname, typ=None): return '' def get_outdated_docs(self): return self.env.found_docs def prepare_writing(self, docnames): return def write_doc(self, docname, doctree): self.info() n = 0 for node in doctree.traverse(nodes.reference): if 'refuri' not in node: continue uri = node['refuri'] lineno = None while lineno is None: node = node.parent if node is None: break lineno = node.line self.wqueue.put((uri, docname, lineno), False) n += 1 done = 0 while done < n: self.process_result(self.rqueue.get()) done += 1 if self.broken: self.app.statuscode = 1 def write_entry(self, what, docname, line, uri): output = open(path.join(self.outdir, 'output.txt'), 'a') output.write("%s:%s: [%s] %s\n" % (self.env.doc2path(docname, None), line, what, uri)) output.close() def finish(self): for worker in self.workers: self.wqueue.put((None, None, None), False) sphinx-1.2.2+dfsg.orig/sphinx/builders/epub.py0000644000000000000000000007020312304557741020042 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.epub ~~~~~~~~~~~~~~~~~~~~ Build epub files. Originally derived from qthelp.py. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys import time import codecs import zipfile from os import path try: from PIL import Image except ImportError: try: import Image except ImportError: Image = None from docutils import nodes from sphinx import addnodes from sphinx.builders.html import StandaloneHTMLBuilder from sphinx.util.osutil import ensuredir, copyfile, EEXIST from sphinx.util.smartypants import sphinx_smarty_pants as ssp from sphinx.util.console import brown # (Fragment) templates from which the metainfo files content.opf, toc.ncx, # mimetype, and META-INF/container.xml are created. # This template section also defines strings that are embedded in the html # output but that may be customized by (re-)setting module attributes, # e.g. from conf.py. _mimetype_template = 'application/epub+zip' # no EOL! _container_template = u'''\ ''' _toc_template = u'''\ %(title)s %(navpoints)s ''' _navpoint_template = u'''\ %(indent)s %(indent)s %(indent)s %(text)s %(indent)s %(indent)s %(indent)s ''' _navpoint_indent = ' ' _navPoint_template = 'navPoint%d' _content_template = u'''\ %(lang)s %(title)s %(author)s %(publisher)s %(copyright)s %(id)s %(date)s %(files)s %(spine)s %(guide)s ''' _cover_template = u'''\ ''' _coverpage_name = u'epub-cover.html' _file_template = u'''\ ''' _spine_template = u'''\ ''' _guide_template = u'''\ ''' _toctree_template = u'toctree-l%d' _link_target_template = u' [%(uri)s]' _footnote_label_template = u'#%d' _footnotes_rubric_name = u'Footnotes' _css_link_target_class = u'link-target' # XXX These strings should be localized according to epub_language _guide_titles = { 'toc': u'Table of Contents', 'cover': u'Cover' } _media_types = { '.html': 'application/xhtml+xml', '.css': 'text/css', '.png': 'image/png', '.gif': 'image/gif', '.svg': 'image/svg+xml', '.jpg': 'image/jpeg', '.jpeg': 'image/jpeg', '.otf': 'application/x-font-otf', '.ttf': 'application/x-font-ttf', } _vector_graphics_extensions = ('.svg',) # Regular expression to match colons only in local fragment identifiers. # If the URI contains a colon before the #, # it is an external link that should not change. _refuri_re = re.compile("([^#:]*#)(.*)") # The epub publisher class EpubBuilder(StandaloneHTMLBuilder): """ Builder that outputs epub files. It creates the metainfo files container.opf, toc.ncx, mimetype, and META-INF/container.xml. Afterwards, all necessary files are zipped to an epub file. """ name = 'epub' # don't copy the reST source copysource = False supported_image_types = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg'] # don't add links add_permalinks = False # don't add sidebar etc. embedded = True def init(self): StandaloneHTMLBuilder.init(self) # the output files for epub must be .html only self.out_suffix = '.html' self.playorder = 0 self.tocid = 0 def get_theme_config(self): return self.config.epub_theme, self.config.epub_theme_options # generic support functions def make_id(self, name, id_cache={}): # id_cache is intentionally mutable """Return a unique id for name.""" id = id_cache.get(name) if not id: id = 'epub-%d' % self.env.new_serialno('epub') id_cache[name] = id return id def esc(self, name): """Replace all characters not allowed in text an attribute values.""" # Like cgi.escape, but also replace apostrophe name = name.replace('&', '&') name = name.replace('<', '<') name = name.replace('>', '>') name = name.replace('"', '"') name = name.replace('\'', ''') return name def get_refnodes(self, doctree, result): """Collect section titles, their depth in the toc and the refuri.""" # XXX: is there a better way than checking the attribute # toctree-l[1-8] on the parent node? if isinstance(doctree, nodes.reference) and doctree.has_key('refuri'): refuri = doctree['refuri'] if refuri.startswith('http://') or refuri.startswith('https://') \ or refuri.startswith('irc:') or refuri.startswith('mailto:'): return result classes = doctree.parent.attributes['classes'] for level in range(8, 0, -1): # or range(1, 8)? if (_toctree_template % level) in classes: result.append({ 'level': level, 'refuri': self.esc(refuri), 'text': ssp(self.esc(doctree.astext())) }) break else: for elem in doctree.children: result = self.get_refnodes(elem, result) return result def get_toc(self): """Get the total table of contents, containing the master_doc and pre and post files not managed by sphinx. """ doctree = self.env.get_and_resolve_doctree(self.config.master_doc, self, prune_toctrees=False, includehidden=True) self.refnodes = self.get_refnodes(doctree, []) master_dir = path.dirname(self.config.master_doc) if master_dir: master_dir += '/' # XXX or os.sep? for item in self.refnodes: item['refuri'] = master_dir + item['refuri'] self.toc_add_files(self.refnodes) def toc_add_files(self, refnodes): """Add the master_doc, pre and post files to a list of refnodes. """ refnodes.insert(0, { 'level': 1, 'refuri': self.esc(self.config.master_doc + '.html'), 'text': ssp(self.esc( self.env.titles[self.config.master_doc].astext())) }) for file, text in reversed(self.config.epub_pre_files): refnodes.insert(0, { 'level': 1, 'refuri': self.esc(file), 'text': ssp(self.esc(text)) }) for file, text in self.config.epub_post_files: refnodes.append({ 'level': 1, 'refuri': self.esc(file), 'text': ssp(self.esc(text)) }) def fix_fragment(self, prefix, fragment): """Return a href/id attribute with colons replaced by hyphens.""" return prefix + fragment.replace(':', '-') def fix_ids(self, tree): """Replace colons with hyphens in href and id attributes. Some readers crash because they interpret the part as a transport protocol specification. """ for node in tree.traverse(nodes.reference): if 'refuri' in node: m = _refuri_re.match(node['refuri']) if m: node['refuri'] = self.fix_fragment(m.group(1), m.group(2)) if 'refid' in node: node['refid'] = self.fix_fragment('', node['refid']) for node in tree.traverse(addnodes.desc_signature): ids = node.attributes['ids'] newids = [] for id in ids: newids.append(self.fix_fragment('', id)) node.attributes['ids'] = newids def add_visible_links(self, tree, show_urls='inline'): """Add visible link targets for external links""" def make_footnote_ref(doc, label): """Create a footnote_reference node with children""" footnote_ref = nodes.footnote_reference('[#]_') footnote_ref.append(nodes.Text(label)) doc.note_autofootnote_ref(footnote_ref) return footnote_ref def make_footnote(doc, label, uri): """Create a footnote node with children""" footnote = nodes.footnote(uri) para = nodes.paragraph() para.append(nodes.Text(uri)) footnote.append(para) footnote.insert(0, nodes.label('', label)) doc.note_autofootnote(footnote) return footnote def footnote_spot(tree): """Find or create a spot to place footnotes. The function returns the tuple (parent, index).""" # The code uses the following heuristic: # a) place them after the last existing footnote # b) place them after an (empty) Footnotes rubric # c) create an empty Footnotes rubric at the end of the document fns = tree.traverse(nodes.footnote) if fns: fn = fns[-1] return fn.parent, fn.parent.index(fn) + 1 for node in tree.traverse(nodes.rubric): if len(node.children) == 1 and \ node.children[0].astext() == _footnotes_rubric_name: return node.parent, node.parent.index(node) + 1 doc = tree.traverse(nodes.document)[0] rub = nodes.rubric() rub.append(nodes.Text(_footnotes_rubric_name)) doc.append(rub) return doc, doc.index(rub) + 1 if show_urls == 'no': return if show_urls == 'footnote': doc = tree.traverse(nodes.document)[0] fn_spot, fn_idx = footnote_spot(tree) nr = 1 for node in tree.traverse(nodes.reference): uri = node.get('refuri', '') if (uri.startswith('http:') or uri.startswith('https:') or uri.startswith('ftp:')) and uri not in node.astext(): idx = node.parent.index(node) + 1 if show_urls == 'inline': uri = _link_target_template % {'uri': uri} link = nodes.inline(uri, uri) link['classes'].append(_css_link_target_class) node.parent.insert(idx, link) elif show_urls == 'footnote': label = _footnote_label_template % nr nr += 1 footnote_ref = make_footnote_ref(doc, label) node.parent.insert(idx, footnote_ref) footnote = make_footnote(doc, label, uri) fn_spot.insert(fn_idx, footnote) footnote_ref['refid'] = footnote['ids'][0] footnote.add_backref(footnote_ref['ids'][0]) fn_idx += 1 def write_doc(self, docname, doctree): """Write one document file. This method is overwritten in order to fix fragment identifiers and to add visible external links. """ self.fix_ids(doctree) self.add_visible_links(doctree, self.config.epub_show_urls) return StandaloneHTMLBuilder.write_doc(self, docname, doctree) def fix_genindex(self, tree): """Fix href attributes for genindex pages.""" # XXX: modifies tree inline # Logic modeled from themes/basic/genindex.html for key, columns in tree: for entryname, (links, subitems) in columns: for (i, (ismain, link)) in enumerate(links): m = _refuri_re.match(link) if m: links[i] = (ismain, self.fix_fragment(m.group(1), m.group(2))) for subentryname, subentrylinks in subitems: for (i, (ismain, link)) in enumerate(subentrylinks): m = _refuri_re.match(link) if m: subentrylinks[i] = (ismain, self.fix_fragment(m.group(1), m.group(2))) def is_vector_graphics(self, filename): """Does the filename extension indicate a vector graphic format?""" ext = path.splitext(filename)[-1] return ext in _vector_graphics_extensions def copy_image_files_pil(self): """Copy images using the PIL. The method tries to read and write the files with the PIL, converting the format and resizing the image if necessary/possible. """ ensuredir(path.join(self.outdir, '_images')) for src in self.status_iterator(self.images, 'copying images... ', brown, len(self.images)): dest = self.images[src] try: img = Image.open(path.join(self.srcdir, src)) except IOError: if not self.is_vector_graphics(src): self.warn('cannot read image file %r: copying it instead' % (path.join(self.srcdir, src), )) try: copyfile(path.join(self.srcdir, src), path.join(self.outdir, '_images', dest)) except (IOError, OSError), err: self.warn('cannot copy image file %r: %s' % (path.join(self.srcdir, src), err)) continue if self.config.epub_fix_images: if img.mode in ('P',): # See PIL documentation for Image.convert() img = img.convert() if self.config.epub_max_image_width > 0: (width, height) = img.size nw = self.config.epub_max_image_width if width > nw: nh = (height * nw) / width img = img.resize((nw, nh), Image.BICUBIC) try: img.save(path.join(self.outdir, '_images', dest)) except (IOError, OSError), err: self.warn('cannot write image file %r: %s' % (path.join(self.srcdir, src), err)) def copy_image_files(self): """Copy image files to destination directory. This overwritten method can use the PIL to convert image files. """ if self.images: if self.config.epub_fix_images or self.config.epub_max_image_width: if not Image: self.warn('PIL not found - copying image files') super(EpubBuilder, self).copy_image_files() else: self.copy_image_files_pil() else: super(EpubBuilder, self).copy_image_files() def handle_page(self, pagename, addctx, templatename='page.html', outfilename=None, event_arg=None): """Create a rendered page. This method is overwritten for genindex pages in order to fix href link attributes. """ if pagename.startswith('genindex'): self.fix_genindex(addctx['genindexentries']) StandaloneHTMLBuilder.handle_page(self, pagename, addctx, templatename, outfilename, event_arg) # Finish by building the epub file def handle_finish(self): """Create the metainfo files and finally the epub.""" self.get_toc() self.build_mimetype(self.outdir, 'mimetype') self.build_container(self.outdir, 'META-INF/container.xml') self.build_content(self.outdir, 'content.opf') self.build_toc(self.outdir, 'toc.ncx') self.build_epub(self.outdir, self.config.epub_basename + '.epub') def build_mimetype(self, outdir, outname): """Write the metainfo file mimetype.""" self.info('writing %s file...' % outname) f = codecs.open(path.join(outdir, outname), 'w', 'utf-8') try: f.write(_mimetype_template) finally: f.close() def build_container(self, outdir, outname): """Write the metainfo file META-INF/cointainer.xml.""" self.info('writing %s file...' % outname) fn = path.join(outdir, outname) try: os.mkdir(path.dirname(fn)) except OSError, err: if err.errno != EEXIST: raise f = codecs.open(path.join(outdir, outname), 'w', 'utf-8') try: f.write(_container_template) finally: f.close() def content_metadata(self, files, spine, guide): """Create a dictionary with all metadata for the content.opf file properly escaped. """ metadata = {} metadata['title'] = self.esc(self.config.epub_title) metadata['author'] = self.esc(self.config.epub_author) metadata['uid'] = self.esc(self.config.epub_uid) metadata['lang'] = self.esc(self.config.epub_language) metadata['publisher'] = self.esc(self.config.epub_publisher) metadata['copyright'] = self.esc(self.config.epub_copyright) metadata['scheme'] = self.esc(self.config.epub_scheme) metadata['id'] = self.esc(self.config.epub_identifier) metadata['date'] = self.esc(time.strftime('%Y-%m-%d')) metadata['files'] = files metadata['spine'] = spine metadata['guide'] = guide return metadata def build_content(self, outdir, outname): """Write the metainfo file content.opf It contains bibliographic data, a file list and the spine (the reading order). """ self.info('writing %s file...' % outname) # files if not outdir.endswith(os.sep): outdir += os.sep olen = len(outdir) projectfiles = [] self.files = [] self.ignored_files = ['.buildinfo', 'mimetype', 'content.opf', 'toc.ncx', 'META-INF/container.xml', self.config.epub_basename + '.epub'] + \ self.config.epub_exclude_files for root, dirs, files in os.walk(outdir): for fn in files: filename = path.join(root, fn)[olen:] if filename in self.ignored_files: continue ext = path.splitext(filename)[-1] if ext not in _media_types: # we always have JS and potentially OpenSearch files, don't # always warn about them if ext not in ('.js', '.xml'): self.warn('unknown mimetype for %s, ignoring' % filename) continue filename = filename.replace(os.sep, '/') projectfiles.append(_file_template % { 'href': self.esc(filename), 'id': self.esc(self.make_id(filename)), 'media_type': self.esc(_media_types[ext]) }) self.files.append(filename) # spine spine = [] for item in self.refnodes: if '#' in item['refuri']: continue if item['refuri'] in self.ignored_files: continue spine.append(_spine_template % { 'idref': self.esc(self.make_id(item['refuri'])) }) for info in self.domain_indices: spine.append(_spine_template % { 'idref': self.esc(self.make_id(info[0] + self.out_suffix)) }) if self.get_builder_config('use_index', 'epub'): spine.append(_spine_template % { 'idref': self.esc(self.make_id('genindex' + self.out_suffix)) }) # add the optional cover content_tmpl = _content_template html_tmpl = None if self.config.epub_cover: image, html_tmpl = self.config.epub_cover image = image.replace(os.sep, '/') mpos = content_tmpl.rfind('') cpos = content_tmpl.rfind('\n', 0 , mpos) + 1 content_tmpl = content_tmpl[:cpos] + \ _cover_template % {'cover': self.esc(self.make_id(image))} + \ content_tmpl[cpos:] if html_tmpl: spine.insert(0, _spine_template % { 'idref': self.esc(self.make_id(_coverpage_name))}) if _coverpage_name not in self.files: ext = path.splitext(_coverpage_name)[-1] self.files.append(_coverpage_name) projectfiles.append(_file_template % { 'href': self.esc(_coverpage_name), 'id': self.esc(self.make_id(_coverpage_name)), 'media_type': self.esc(_media_types[ext]) }) ctx = {'image': self.esc(image), 'title': self.config.project} self.handle_page( path.splitext(_coverpage_name)[0], ctx, html_tmpl) guide = [] auto_add_cover = True auto_add_toc = True if self.config.epub_guide: for type, uri, title in self.config.epub_guide: file = uri.split('#')[0] if file not in self.files: self.files.append(file) if type == 'cover': auto_add_cover = False if type == 'toc': auto_add_toc = False guide.append(_guide_template % { 'type': self.esc(type), 'title': self.esc(title), 'uri': self.esc(uri) }) if auto_add_cover and html_tmpl: guide.append(_guide_template % { 'type': 'cover', 'title': _guide_titles['cover'], 'uri': self.esc(_coverpage_name) }) if auto_add_toc and self.refnodes: guide.append(_guide_template % { 'type': 'toc', 'title': _guide_titles['toc'], 'uri': self.esc(self.refnodes[0]['refuri']) }) projectfiles = '\n'.join(projectfiles) spine = '\n'.join(spine) guide = '\n'.join(guide) # write the project file f = codecs.open(path.join(outdir, outname), 'w', 'utf-8') try: f.write(content_tmpl % \ self.content_metadata(projectfiles, spine, guide)) finally: f.close() def new_navpoint(self, node, level, incr=True): """Create a new entry in the toc from the node at given level.""" # XXX Modifies the node if incr: self.playorder += 1 self.tocid += 1 node['indent'] = _navpoint_indent * level node['navpoint'] = self.esc(_navPoint_template % self.tocid) node['playorder'] = self.playorder return _navpoint_template % node def insert_subnav(self, node, subnav): """Insert nested navpoints for given node. The node and subnav are already rendered to text. """ nlist = node.rsplit('\n', 1) nlist.insert(-1, subnav) return '\n'.join(nlist) def build_navpoints(self, nodes): """Create the toc navigation structure. Subelements of a node are nested inside the navpoint. For nested nodes the parent node is reinserted in the subnav. """ navstack = [] navlist = [] level = 1 lastnode = None for node in nodes: if not node['text']: continue file = node['refuri'].split('#')[0] if file in self.ignored_files: continue if node['level'] > self.config.epub_tocdepth: continue if node['level'] == level: navlist.append(self.new_navpoint(node, level)) elif node['level'] == level + 1: navstack.append(navlist) navlist = [] level += 1 if lastnode and self.config.epub_tocdup: # Insert starting point in subtoc with same playOrder navlist.append(self.new_navpoint(lastnode, level, False)) navlist.append(self.new_navpoint(node, level)) else: while node['level'] < level: subnav = '\n'.join(navlist) navlist = navstack.pop() navlist[-1] = self.insert_subnav(navlist[-1], subnav) level -= 1 navlist.append(self.new_navpoint(node, level)) lastnode = node while level != 1: subnav = '\n'.join(navlist) navlist = navstack.pop() navlist[-1] = self.insert_subnav(navlist[-1], subnav) level -= 1 return '\n'.join(navlist) def toc_metadata(self, level, navpoints): """Create a dictionary with all metadata for the toc.ncx file properly escaped. """ metadata = {} metadata['uid'] = self.config.epub_uid metadata['title'] = self.config.epub_title metadata['level'] = level metadata['navpoints'] = navpoints return metadata def build_toc(self, outdir, outname): """Write the metainfo file toc.ncx.""" self.info('writing %s file...' % outname) if self.config.epub_tocscope == 'default': doctree = self.env.get_and_resolve_doctree(self.config.master_doc, self, prune_toctrees=False, includehidden=False) refnodes = self.get_refnodes(doctree, []) self.toc_add_files(refnodes) else: # 'includehidden' refnodes = self.refnodes navpoints = self.build_navpoints(refnodes) level = max(item['level'] for item in self.refnodes) level = min(level, self.config.epub_tocdepth) f = codecs.open(path.join(outdir, outname), 'w', 'utf-8') try: f.write(_toc_template % self.toc_metadata(level, navpoints)) finally: f.close() def build_epub(self, outdir, outname): """Write the epub file. It is a zip file with the mimetype file stored uncompressed as the first entry. """ self.info('writing %s file...' % outname) projectfiles = ['META-INF/container.xml', 'content.opf', 'toc.ncx'] \ + self.files epub = zipfile.ZipFile(path.join(outdir, outname), 'w', \ zipfile.ZIP_DEFLATED) epub.write(path.join(outdir, 'mimetype'), 'mimetype', \ zipfile.ZIP_STORED) for file in projectfiles: fp = path.join(outdir, file) if sys.version_info < (2, 6): # When zipile.ZipFile.write call with unicode filename, ZipFile # encode filename to 'utf-8' (only after Python-2.6). if isinstance(file, unicode): # OEBPS Container Format (OCF) 2.0.1 specification require # "File Names MUST be UTF-8 encoded". file = file.encode('utf-8') epub.write(fp, file, zipfile.ZIP_DEFLATED) epub.close() sphinx-1.2.2+dfsg.orig/sphinx/builders/text.py0000644000000000000000000000403412304557741020072 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.text ~~~~~~~~~~~~~~~~~~~~ Plain-text Sphinx builder. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import codecs from os import path from docutils.io import StringOutput from sphinx.builders import Builder from sphinx.util.osutil import ensuredir, os_path from sphinx.writers.text import TextWriter class TextBuilder(Builder): name = 'text' format = 'text' out_suffix = '.txt' allow_parallel = True def init(self): pass def get_outdated_docs(self): for docname in self.env.found_docs: if docname not in self.env.all_docs: yield docname continue targetname = self.env.doc2path(docname, self.outdir, self.out_suffix) try: targetmtime = path.getmtime(targetname) except Exception: targetmtime = 0 try: srcmtime = path.getmtime(self.env.doc2path(docname)) if srcmtime > targetmtime: yield docname except EnvironmentError: # source doesn't exist anymore pass def get_target_uri(self, docname, typ=None): return '' def prepare_writing(self, docnames): self.writer = TextWriter(self) def write_doc(self, docname, doctree): self.current_docname = docname destination = StringOutput(encoding='utf-8') self.writer.write(doctree, destination) outfilename = path.join(self.outdir, os_path(docname) + self.out_suffix) ensuredir(path.dirname(outfilename)) try: f = codecs.open(outfilename, 'w', 'utf-8') try: f.write(self.writer.output) finally: f.close() except (IOError, OSError), err: self.warn("error writing file %s: %s" % (outfilename, err)) def finish(self): pass sphinx-1.2.2+dfsg.orig/sphinx/builders/htmlhelp.py0000644000000000000000000002404312304557741020725 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.htmlhelp ~~~~~~~~~~~~~~~~~~~~~~~~ Build HTML help support files. Parts adapted from Python's Doc/tools/prechm.py. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import codecs from os import path from docutils import nodes from sphinx import addnodes from sphinx.builders.html import StandaloneHTMLBuilder from sphinx.util.pycompat import htmlescape # Project file (*.hhp) template. 'outname' is the file basename (like # the pythlp in pythlp.hhp); 'version' is the doc version number (like # the 2.2 in Python 2.2). # The magical numbers in the long line under [WINDOWS] set most of the # user-visible features (visible buttons, tabs, etc). # About 0x10384e: This defines the buttons in the help viewer. The # following defns are taken from htmlhelp.h. Not all possibilities # actually work, and not all those that work are available from the Help # Workshop GUI. In particular, the Zoom/Font button works and is not # available from the GUI. The ones we're using are marked with 'x': # # 0x000002 Hide/Show x # 0x000004 Back x # 0x000008 Forward x # 0x000010 Stop # 0x000020 Refresh # 0x000040 Home x # 0x000080 Forward # 0x000100 Back # 0x000200 Notes # 0x000400 Contents # 0x000800 Locate x # 0x001000 Options x # 0x002000 Print x # 0x004000 Index # 0x008000 Search # 0x010000 History # 0x020000 Favorites # 0x040000 Jump 1 # 0x080000 Jump 2 # 0x100000 Zoom/Font x # 0x200000 TOC Next # 0x400000 TOC Prev project_template = '''\ [OPTIONS] Binary TOC=No Binary Index=No Compiled file=%(outname)s.chm Contents file=%(outname)s.hhc Default Window=%(outname)s Default topic=index.html Display compile progress=No Full text search stop list file=%(outname)s.stp Full-text search=Yes Index file=%(outname)s.hhk Language=%(lcid)#x Title=%(title)s [WINDOWS] %(outname)s="%(title)s","%(outname)s.hhc","%(outname)s.hhk",\ "index.html","index.html",,,,,0x63520,220,0x10384e,[0,0,1024,768],,,,,,,0 [FILES] ''' contents_header = '''\
      ''' contents_footer = '''\
    ''' object_sitemap = '''\ ''' # List of words the full text search facility shouldn't index. This # becomes file outname.stp. Note that this list must be pretty small! # Different versions of the MS docs claim the file has a maximum size of # 256 or 512 bytes (including \r\n at the end of each line). # Note that "and", "or", "not" and "near" are operators in the search # language, so no point indexing them even if we wanted to. stopwords = """ a and are as at be but by for if in into is it near no not of on or such that the their then there these they this to was will with """.split() # The following list includes only languages supported by Sphinx. # See http://msdn.microsoft.com/en-us/library/ms930130.aspx for more. chm_locales = { # lang: LCID, encoding 'ca': (0x403, 'cp1252'), 'cs': (0x405, 'cp1250'), 'da': (0x406, 'cp1252'), 'de': (0x407, 'cp1252'), 'en': (0x409, 'cp1252'), 'es': (0x40a, 'cp1252'), 'et': (0x425, 'cp1257'), 'fa': (0x429, 'cp1256'), 'fi': (0x40b, 'cp1252'), 'fr': (0x40c, 'cp1252'), 'hr': (0x41a, 'cp1250'), 'hu': (0x40e, 'cp1250'), 'it': (0x410, 'cp1252'), 'ja': (0x411, 'cp932'), 'ko': (0x412, 'cp949'), 'lt': (0x427, 'cp1257'), 'lv': (0x426, 'cp1257'), 'nl': (0x413, 'cp1252'), 'no_NB': (0x414, 'cp1252'), 'pl': (0x415, 'cp1250'), 'pt_BR': (0x416, 'cp1252'), 'ru': (0x419, 'cp1251'), 'sk': (0x41b, 'cp1250'), 'sl': (0x424, 'cp1250'), 'sv': (0x41d, 'cp1252'), 'tr': (0x41f, 'cp1254'), 'uk_UA': (0x422, 'cp1251'), 'zh_CN': (0x804, 'cp936'), 'zh_TW': (0x404, 'cp950'), } class HTMLHelpBuilder(StandaloneHTMLBuilder): """ Builder that also outputs Windows HTML help project, contents and index files. Adapted from the original Doc/tools/prechm.py. """ name = 'htmlhelp' # don't copy the reST source copysource = False supported_image_types = ['image/png', 'image/gif', 'image/jpeg'] # don't add links add_permalinks = False # don't add sidebar etc. embedded = True lcid = 0x409 encoding = 'cp1252' def init(self): StandaloneHTMLBuilder.init(self) # the output files for HTML help must be .html only self.out_suffix = '.html' # determine the correct locale setting locale = chm_locales.get(self.config.language) if locale is not None: self.lcid, self.encoding = locale def open_file(self, outdir, basename, mode='w'): # open a file with the correct encoding for the selected language return codecs.open(path.join(outdir, basename), mode, self.encoding, 'xmlcharrefreplace') def handle_finish(self): self.build_hhx(self.outdir, self.config.htmlhelp_basename) def build_hhx(self, outdir, outname): self.info('dumping stopword list...') f = self.open_file(outdir, outname+'.stp') try: for word in sorted(stopwords): print >>f, word finally: f.close() self.info('writing project file...') f = self.open_file(outdir, outname+'.hhp') try: f.write(project_template % {'outname': outname, 'title': self.config.html_title, 'version': self.config.version, 'project': self.config.project, 'lcid': self.lcid}) if not outdir.endswith(os.sep): outdir += os.sep olen = len(outdir) for root, dirs, files in os.walk(outdir): staticdir = root.startswith(path.join(outdir, '_static')) for fn in files: if (staticdir and not fn.endswith('.js')) or \ fn.endswith('.html'): print >>f, path.join(root, fn)[olen:].replace(os.sep, '\\') finally: f.close() self.info('writing TOC file...') f = self.open_file(outdir, outname+'.hhc') try: f.write(contents_header) # special books f.write('
  • ' + object_sitemap % (self.config.html_short_title, 'index.html')) for indexname, indexcls, content, collapse in self.domain_indices: f.write('
  • ' + object_sitemap % (indexcls.localname, '%s.html' % indexname)) # the TOC tocdoc = self.env.get_and_resolve_doctree( self.config.master_doc, self, prune_toctrees=False) def write_toc(node, ullevel=0): if isinstance(node, nodes.list_item): f.write('
  • ') for subnode in node: write_toc(subnode, ullevel) elif isinstance(node, nodes.reference): link = node['refuri'] title = htmlescape(node.astext()).replace('"','"') f.write(object_sitemap % (title, link)) elif isinstance(node, nodes.bullet_list): if ullevel != 0: f.write('
      \n') for subnode in node: write_toc(subnode, ullevel+1) if ullevel != 0: f.write('
    \n') elif isinstance(node, addnodes.compact_paragraph): for subnode in node: write_toc(subnode, ullevel) def istoctree(node): return isinstance(node, addnodes.compact_paragraph) and \ node.has_key('toctree') for node in tocdoc.traverse(istoctree): write_toc(node) f.write(contents_footer) finally: f.close() self.info('writing index file...') index = self.env.create_index(self) f = self.open_file(outdir, outname+'.hhk') try: f.write('
      \n') def write_index(title, refs, subitems): def write_param(name, value): item = ' \n' % \ (name, value) f.write(item) title = htmlescape(title) f.write('
    • \n') write_param('Keyword', title) if len(refs) == 0: write_param('See Also', title) elif len(refs) == 1: write_param('Local', refs[0][1]) else: for i, ref in enumerate(refs): # XXX: better title? write_param('Name', '[%d] %s' % (i, ref[1])) write_param('Local', ref[1]) f.write('\n') if subitems: f.write('
        ') for subitem in subitems: write_index(subitem[0], subitem[1], []) f.write('
      ') for (key, group) in index: for title, (refs, subitems) in group: write_index(title, refs, subitems) f.write('
    \n') finally: f.close() sphinx-1.2.2+dfsg.orig/sphinx/builders/__init__.py0000644000000000000000000004206712304304673020647 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders ~~~~~~~~~~~~~~~ Builder superclass for all builders. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os from os import path try: import multiprocessing import threading except ImportError: multiprocessing = threading = None from docutils import nodes from sphinx.util.osutil import SEP, relative_uri from sphinx.util.console import bold, purple, darkgreen, term_width_line # side effect: registers roles and directives from sphinx import roles from sphinx import directives class Builder(object): """ Builds target formats from the reST sources. """ # builder's name, for the -b command line options name = '' # builder's output format, or '' if no document output is produced format = '' # doctree versioning method versioning_method = 'none' # allow parallel write_doc() calls allow_parallel = False def __init__(self, app): self.env = app.env self.env.set_versioning_method(self.versioning_method) self.srcdir = app.srcdir self.confdir = app.confdir self.outdir = app.outdir self.doctreedir = app.doctreedir if not path.isdir(self.doctreedir): os.makedirs(self.doctreedir) self.app = app self.warn = app.warn self.info = app.info self.config = app.config self.tags = app.tags self.tags.add(self.format) self.tags.add(self.name) self.tags.add("format_%s" % self.format) self.tags.add("builder_%s" % self.name) # images that need to be copied over (source -> dest) self.images = {} self.init() # helper methods def init(self): """Load necessary templates and perform initialization. The default implementation does nothing. """ pass def create_template_bridge(self): """Return the template bridge configured.""" if self.config.template_bridge: self.templates = self.app.import_object( self.config.template_bridge, 'template_bridge setting')() else: from sphinx.jinja2glue import BuiltinTemplateLoader self.templates = BuiltinTemplateLoader() def get_target_uri(self, docname, typ=None): """Return the target URI for a document name. *typ* can be used to qualify the link characteristic for individual builders. """ raise NotImplementedError def get_relative_uri(self, from_, to, typ=None): """Return a relative URI between two source filenames. May raise environment.NoUri if there's no way to return a sensible URI. """ return relative_uri(self.get_target_uri(from_), self.get_target_uri(to, typ)) def get_outdated_docs(self): """Return an iterable of output files that are outdated, or a string describing what an update build will build. If the builder does not output individual files corresponding to source files, return a string here. If it does, return an iterable of those files that need to be written. """ raise NotImplementedError def old_status_iterator(self, iterable, summary, colorfunc=darkgreen, stringify_func=lambda x: x): l = 0 for item in iterable: if l == 0: self.info(bold(summary), nonl=1) l = 1 self.info(colorfunc(stringify_func(item)) + ' ', nonl=1) yield item if l == 1: self.info() # new version with progress info def status_iterator(self, iterable, summary, colorfunc=darkgreen, length=0, stringify_func=lambda x: x): if length == 0: for item in self.old_status_iterator(iterable, summary, colorfunc, stringify_func): yield item return l = 0 summary = bold(summary) for item in iterable: l += 1 s = '%s[%3d%%] %s' % (summary, 100*l/length, colorfunc(stringify_func(item))) if self.app.verbosity: s += '\n' else: s = term_width_line(s) self.info(s, nonl=1) yield item if l > 0: self.info() supported_image_types = [] def post_process_images(self, doctree): """Pick the best candidate for all image URIs.""" for node in doctree.traverse(nodes.image): if '?' in node['candidates']: # don't rewrite nonlocal image URIs continue if '*' not in node['candidates']: for imgtype in self.supported_image_types: candidate = node['candidates'].get(imgtype, None) if candidate: break else: self.warn( 'no matching candidate for image URI %r' % node['uri'], '%s:%s' % (node.source, getattr(node, 'line', ''))) continue node['uri'] = candidate else: candidate = node['uri'] if candidate not in self.env.images: # non-existing URI; let it alone continue self.images[candidate] = self.env.images[candidate][1] # build methods def build_all(self): """Build all source files.""" self.build(None, summary='all source files', method='all') def build_specific(self, filenames): """Only rebuild as much as needed for changes in the *filenames*.""" # bring the filenames to the canonical format, that is, # relative to the source directory and without source_suffix. dirlen = len(self.srcdir) + 1 to_write = [] suffix = self.config.source_suffix for filename in filenames: filename = path.normpath(path.abspath(filename)) if not filename.startswith(self.srcdir): self.warn('file %r given on command line is not under the ' 'source directory, ignoring' % filename) continue if not (path.isfile(filename) or path.isfile(filename + suffix)): self.warn('file %r given on command line does not exist, ' 'ignoring' % filename) continue filename = filename[dirlen:] if filename.endswith(suffix): filename = filename[:-len(suffix)] filename = filename.replace(path.sep, SEP) to_write.append(filename) self.build(to_write, method='specific', summary='%d source files given on command ' 'line' % len(to_write)) def build_update(self): """Only rebuild what was changed or added since last build.""" to_build = self.get_outdated_docs() if isinstance(to_build, str): self.build(['__all__'], to_build) else: to_build = list(to_build) self.build(to_build, summary='targets for %d source files that are ' 'out of date' % len(to_build)) def build(self, docnames, summary=None, method='update'): """Main build method. First updates the environment, and then calls :meth:`write`. """ if summary: self.info(bold('building [%s]: ' % self.name), nonl=1) self.info(summary) updated_docnames = set() # while reading, collect all warnings from docutils warnings = [] self.env.set_warnfunc(lambda *args: warnings.append(args)) self.info(bold('updating environment: '), nonl=1) msg, length, iterator = self.env.update(self.config, self.srcdir, self.doctreedir, self.app) self.info(msg) for docname in self.status_iterator(iterator, 'reading sources... ', purple, length): updated_docnames.add(docname) # nothing further to do, the environment has already # done the reading for warning in warnings: self.warn(*warning) self.env.set_warnfunc(self.warn) doccount = len(updated_docnames) self.info(bold('looking for now-outdated files... '), nonl=1) for docname in self.env.check_dependents(updated_docnames): updated_docnames.add(docname) outdated = len(updated_docnames) - doccount if outdated: self.info('%d found' % outdated) else: self.info('none found') if updated_docnames: # save the environment from sphinx.application import ENV_PICKLE_FILENAME self.info(bold('pickling environment... '), nonl=True) self.env.topickle(path.join(self.doctreedir, ENV_PICKLE_FILENAME)) self.info('done') # global actions self.info(bold('checking consistency... '), nonl=True) self.env.check_consistency() self.info('done') else: if method == 'update' and not docnames: self.info(bold('no targets are out of date.')) return # filter "docnames" (list of outdated files) by the updated # found_docs of the environment; this will remove docs that # have since been removed if docnames and docnames != ['__all__']: docnames = set(docnames) & self.env.found_docs # another indirection to support builders that don't build # files individually self.write(docnames, list(updated_docnames), method) # finish (write static files etc.) self.finish() status = (self.app.statuscode == 0 and 'succeeded' or 'finished with problems') if self.app._warncount: self.info(bold('build %s, %s warning%s.' % (status, self.app._warncount, self.app._warncount != 1 and 's' or ''))) else: self.info(bold('build %s.' % status)) def write(self, build_docnames, updated_docnames, method='update'): if build_docnames is None or build_docnames == ['__all__']: # build_all build_docnames = self.env.found_docs if method == 'update': # build updated ones as well docnames = set(build_docnames) | set(updated_docnames) else: docnames = set(build_docnames) self.app.debug('docnames to write: %s', ', '.join(sorted(docnames))) # add all toctree-containing files that may have changed for docname in list(docnames): for tocdocname in self.env.files_to_rebuild.get(docname, []): if tocdocname in self.env.found_docs: docnames.add(tocdocname) docnames.add(self.config.master_doc) self.info(bold('preparing documents... '), nonl=True) self.prepare_writing(docnames) self.info('done') warnings = [] self.env.set_warnfunc(lambda *args: warnings.append(args)) # check for prerequisites to parallel build # (parallel only works on POSIX, because the forking impl of # multiprocessing is required) if not (multiprocessing and self.app.parallel > 1 and self.allow_parallel and os.name == 'posix'): self._write_serial(sorted(docnames), warnings) else: # number of subprocesses is parallel-1 because the main process # is busy loading doctrees and doing write_doc_serialized() self._write_parallel(sorted(docnames), warnings, nproc=self.app.parallel - 1) self.env.set_warnfunc(self.warn) def _write_serial(self, docnames, warnings): for docname in self.status_iterator( docnames, 'writing output... ', darkgreen, len(docnames)): doctree = self.env.get_and_resolve_doctree(docname, self) self.write_doc_serialized(docname, doctree) self.write_doc(docname, doctree) for warning in warnings: self.warn(*warning) def _write_parallel(self, docnames, warnings, nproc): def write_process(docs): try: for docname, doctree in docs: self.write_doc(docname, doctree) except KeyboardInterrupt: pass # do not print a traceback on Ctrl-C finally: for warning in warnings: self.warn(*warning) def process_thread(docs): p = multiprocessing.Process(target=write_process, args=(docs,)) p.start() p.join() semaphore.release() # allow only "nproc" worker processes at once semaphore = threading.Semaphore(nproc) # list of threads to join when waiting for completion threads = [] # warm up caches/compile templates using the first document firstname, docnames = docnames[0], docnames[1:] doctree = self.env.get_and_resolve_doctree(firstname, self) self.write_doc_serialized(firstname, doctree) self.write_doc(firstname, doctree) # for the rest, determine how many documents to write in one go ndocs = len(docnames) chunksize = min(ndocs // nproc, 10) if chunksize == 0: chunksize = 1 nchunks, rest = divmod(ndocs, chunksize) if rest: nchunks += 1 # partition documents in "chunks" that will be written by one Process chunks = [docnames[i*chunksize:(i+1)*chunksize] for i in range(nchunks)] for docnames in self.status_iterator( chunks, 'writing output... ', darkgreen, len(chunks), lambda chk: '%s .. %s' % (chk[0], chk[-1])): docs = [] for docname in docnames: doctree = self.env.get_and_resolve_doctree(docname, self) self.write_doc_serialized(docname, doctree) docs.append((docname, doctree)) # start a new thread to oversee the completion of this chunk semaphore.acquire() t = threading.Thread(target=process_thread, args=(docs,)) t.setDaemon(True) t.start() threads.append(t) # make sure all threads have finished self.info(bold('waiting for workers... '))#, nonl=True) for t in threads: t.join() def prepare_writing(self, docnames): """A place where you can add logic before :meth:`write_doc` is run""" raise NotImplementedError def write_doc(self, docname, doctree): """Where you actually write something to the filesystem.""" raise NotImplementedError def write_doc_serialized(self, docname, doctree): """Handle parts of write_doc that must be called in the main process if parallel build is active. """ pass def finish(self): """Finish the building process. The default implementation does nothing. """ pass def cleanup(self): """Cleanup any resources. The default implementation does nothing. """ pass def get_builder_config(self, option, default): """Return a builder specific option. This method allows customization of common builder settings by inserting the name of the current builder in the option key. If the key does not exist, use default as builder name. """ # At the moment, only XXX_use_index is looked up this way. # Every new builder variant must be registered in Config.config_values. try: optname = '%s_%s' % (self.name, option) return getattr(self.config, optname) except AttributeError: optname = '%s_%s' % (default, option) return getattr(self.config, optname) BUILTIN_BUILDERS = { 'html': ('html', 'StandaloneHTMLBuilder'), 'dirhtml': ('html', 'DirectoryHTMLBuilder'), 'singlehtml': ('html', 'SingleFileHTMLBuilder'), 'pickle': ('html', 'PickleHTMLBuilder'), 'json': ('html', 'JSONHTMLBuilder'), 'web': ('html', 'PickleHTMLBuilder'), 'htmlhelp': ('htmlhelp', 'HTMLHelpBuilder'), 'devhelp': ('devhelp', 'DevhelpBuilder'), 'qthelp': ('qthelp', 'QtHelpBuilder'), 'epub': ('epub', 'EpubBuilder'), 'latex': ('latex', 'LaTeXBuilder'), 'text': ('text', 'TextBuilder'), 'man': ('manpage', 'ManualPageBuilder'), 'texinfo': ('texinfo', 'TexinfoBuilder'), 'changes': ('changes', 'ChangesBuilder'), 'linkcheck': ('linkcheck', 'CheckExternalLinksBuilder'), 'websupport': ('websupport', 'WebSupportBuilder'), 'gettext': ('gettext', 'MessageCatalogBuilder'), 'xml': ('xml', 'XMLBuilder'), 'pseudoxml': ('xml', 'PseudoXMLBuilder'), } sphinx-1.2.2+dfsg.orig/sphinx/builders/xml.py0000644000000000000000000000567412304557741017721 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.xml ~~~~~~~~~~~~~~~~~~~ Docutils-native XML and pseudo-XML builders. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import codecs from os import path from docutils import nodes from docutils.io import StringOutput from sphinx.builders import Builder from sphinx.util.osutil import ensuredir, os_path from sphinx.writers.xml import XMLWriter, PseudoXMLWriter class XMLBuilder(Builder): """ Builds Docutils-native XML. """ name = 'xml' format = 'xml' out_suffix = '.xml' allow_parallel = True _writer_class = XMLWriter def init(self): pass def get_outdated_docs(self): for docname in self.env.found_docs: if docname not in self.env.all_docs: yield docname continue targetname = self.env.doc2path(docname, self.outdir, self.out_suffix) try: targetmtime = path.getmtime(targetname) except Exception: targetmtime = 0 try: srcmtime = path.getmtime(self.env.doc2path(docname)) if srcmtime > targetmtime: yield docname except EnvironmentError: # source doesn't exist anymore pass def get_target_uri(self, docname, typ=None): return docname def prepare_writing(self, docnames): self.writer = self._writer_class(self) def write_doc(self, docname, doctree): # work around multiple string % tuple issues in docutils; # replace tuples in attribute values with lists doctree = doctree.deepcopy() for node in doctree.traverse(nodes.Element): for att, value in node.attributes.items(): if isinstance(value, tuple): node.attributes[att] = list(value) value = node.attributes[att] if isinstance(value, list): for i, val in enumerate(value): if isinstance(val, tuple): value[i] = list(val) destination = StringOutput(encoding='utf-8') self.writer.write(doctree, destination) outfilename = path.join(self.outdir, os_path(docname) + self.out_suffix) ensuredir(path.dirname(outfilename)) try: f = codecs.open(outfilename, 'w', 'utf-8') try: f.write(self.writer.output) finally: f.close() except (IOError, OSError), err: self.warn("error writing file %s: %s" % (outfilename, err)) def finish(self): pass class PseudoXMLBuilder(XMLBuilder): """ Builds pseudo-XML for display purposes. """ name = 'pseudoxml' format = 'pseudoxml' out_suffix = '.pseudoxml' _writer_class = PseudoXMLWriter sphinx-1.2.2+dfsg.orig/sphinx/builders/gettext.py0000644000000000000000000001621112304560045020561 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.gettext ~~~~~~~~~~~~~~~~~~~~~~~ The MessageCatalogBuilder class. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from __future__ import with_statement from os import path, walk from codecs import open from time import time from datetime import datetime, tzinfo, timedelta from collections import defaultdict from uuid import uuid4 from sphinx.builders import Builder from sphinx.util import split_index_msg from sphinx.util.nodes import extract_messages, traverse_translatable_index from sphinx.util.osutil import safe_relpath, ensuredir, find_catalog, SEP from sphinx.util.console import darkgreen, purple, bold from sphinx.locale import pairindextypes POHEADER = ur""" # SOME DESCRIPTIVE TITLE. # Copyright (C) %(copyright)s # This file is distributed under the same license as the %(project)s package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: %(project)s %(version)s\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: %(ctime)s\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" """[1:] class Catalog(object): """Catalog of translatable messages.""" def __init__(self): self.messages = [] # retain insertion order, a la OrderedDict self.metadata = {} # msgid -> file, line, uid def add(self, msg, origin): if not hasattr(origin, 'uid'): # Nodes that are replicated like todo don't have a uid, # however i18n is also unnecessary. return if msg not in self.metadata: # faster lookup in hash self.messages.append(msg) self.metadata[msg] = [] self.metadata[msg].append((origin.source, origin.line, origin.uid)) class MsgOrigin(object): """ Origin holder for Catalog message origin. """ def __init__(self, source, line): self.source = source self.line = line self.uid = uuid4().hex class I18nBuilder(Builder): """ General i18n builder. """ name = 'i18n' versioning_method = 'text' def init(self): Builder.init(self) self.catalogs = defaultdict(Catalog) def get_target_uri(self, docname, typ=None): return '' def get_outdated_docs(self): return self.env.found_docs def prepare_writing(self, docnames): return def write_doc(self, docname, doctree): catalog = self.catalogs[find_catalog(docname, self.config.gettext_compact)] for node, msg in extract_messages(doctree): catalog.add(msg, node) # Extract translatable messages from index entries. for node, entries in traverse_translatable_index(doctree): for typ, msg, tid, main in entries: for m in split_index_msg(typ, msg): if typ == 'pair' and m in pairindextypes.values(): # avoid built-in translated message was incorporated # in 'sphinx.util.nodes.process_index_entry' continue catalog.add(m, node) # determine tzoffset once to remain unaffected by DST change during build timestamp = time() tzdelta = datetime.fromtimestamp(timestamp) - \ datetime.utcfromtimestamp(timestamp) class LocalTimeZone(tzinfo): def __init__(self, *args, **kw): super(LocalTimeZone, self).__init__(*args, **kw) self.tzdelta = tzdelta def utcoffset(self, dt): return self.tzdelta def dst(self, dt): return timedelta(0) ltz = LocalTimeZone() class MessageCatalogBuilder(I18nBuilder): """ Builds gettext-style message catalogs (.pot files). """ name = 'gettext' def init(self): I18nBuilder.init(self) self.create_template_bridge() self.templates.init(self) def _collect_templates(self): template_files = set() for template_path in self.config.templates_path: tmpl_abs_path = path.join(self.app.srcdir, template_path) for dirpath, dirs, files in walk(tmpl_abs_path): for fn in files: if fn.endswith('.html'): filename = path.join(dirpath, fn) filename = filename.replace(path.sep, SEP) template_files.add(filename) return template_files def _extract_from_template(self): files = self._collect_templates() self.info(bold('building [%s]: ' % self.name), nonl=1) self.info('targets for %d template files' % len(files)) extract_translations = self.templates.environment.extract_translations for template in self.status_iterator(files, 'reading templates... ', purple, len(files)): with open(template, 'r', encoding='utf-8') as f: context = f.read() for line, meth, msg in extract_translations(context): origin = MsgOrigin(template, line) self.catalogs['sphinx'].add(msg, origin) def build(self, docnames, summary=None, method='update'): self._extract_from_template() I18nBuilder.build(self, docnames, summary, method) def finish(self): I18nBuilder.finish(self) data = dict( version = self.config.version, copyright = self.config.copyright, project = self.config.project, ctime = datetime.fromtimestamp( timestamp, ltz).strftime('%Y-%m-%d %H:%M%z'), ) for textdomain, catalog in self.status_iterator( self.catalogs.iteritems(), "writing message catalogs... ", darkgreen, len(self.catalogs), lambda (textdomain, _): textdomain): # noop if config.gettext_compact is set ensuredir(path.join(self.outdir, path.dirname(textdomain))) pofn = path.join(self.outdir, textdomain + '.pot') pofile = open(pofn, 'w', encoding='utf-8') try: pofile.write(POHEADER % data) for message in catalog.messages: positions = catalog.metadata[message] # generate "#: file1:line1\n#: file2:line2 ..." pofile.write(u"#: %s\n" % "\n#: ".join("%s:%s" % (safe_relpath(source, self.outdir), line) for source, line, _ in positions)) # generate "# uuid1\n# uuid2\n ..." pofile.write(u"# %s\n" % "\n# ".join(uid for _, _, uid in positions)) # message contains *one* line of text ready for translation message = message.replace(u'\\', ur'\\'). \ replace(u'"', ur'\"'). \ replace(u'\n', u'\\n"\n"') pofile.write(u'msgid "%s"\nmsgstr ""\n\n' % message) finally: pofile.close() sphinx-1.2.2+dfsg.orig/sphinx/builders/html.py0000644000000000000000000012557612304557741020071 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.builders.html ~~~~~~~~~~~~~~~~~~~~ Several HTML builders. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import zlib import codecs import posixpath import cPickle as pickle from os import path try: from hashlib import md5 except ImportError: # 2.4 compatibility from md5 import md5 from docutils import nodes from docutils.io import DocTreeInput, StringOutput from docutils.core import Publisher from docutils.utils import new_document from docutils.frontend import OptionParser from docutils.readers.doctree import Reader as DoctreeReader from sphinx import package_dir, __version__ from sphinx.util import jsonimpl, copy_static_entry from sphinx.util.osutil import SEP, os_path, relative_uri, ensuredir, \ movefile, ustrftime, copyfile from sphinx.util.nodes import inline_all_toctrees from sphinx.util.matching import patmatch, compile_matchers from sphinx.util.pycompat import any, b from sphinx.errors import SphinxError from sphinx.locale import _ from sphinx.search import js_index from sphinx.theming import Theme from sphinx.builders import Builder from sphinx.application import ENV_PICKLE_FILENAME from sphinx.highlighting import PygmentsBridge from sphinx.util.console import bold, darkgreen, brown from sphinx.writers.html import HTMLWriter, HTMLTranslator, \ SmartyPantsHTMLTranslator #: the filename for the inventory of objects INVENTORY_FILENAME = 'objects.inv' #: the filename for the "last build" file (for serializing builders) LAST_BUILD_FILENAME = 'last_build' def get_stable_hash(obj): """ Return a stable hash for a Python data structure. We can't just use the md5 of str(obj) since for example dictionary items are enumerated in unpredictable order due to hash randomization in newer Pythons. """ if isinstance(obj, dict): return get_stable_hash(list(obj.items())) elif isinstance(obj, (list, tuple)): obj = sorted(get_stable_hash(o) for o in obj) return md5(unicode(obj).encode('utf8')).hexdigest() class StandaloneHTMLBuilder(Builder): """ Builds standalone HTML docs. """ name = 'html' format = 'html' copysource = True allow_parallel = True out_suffix = '.html' link_suffix = '.html' # defaults to matching out_suffix indexer_format = js_index indexer_dumps_unicode = True supported_image_types = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg'] searchindex_filename = 'searchindex.js' add_permalinks = True embedded = False # for things like HTML help or Qt help: suppresses sidebar # This is a class attribute because it is mutated by Sphinx.add_javascript. script_files = ['_static/jquery.js', '_static/underscore.js', '_static/doctools.js'] # Dito for this one. css_files = [] default_sidebars = ['localtoc.html', 'relations.html', 'sourcelink.html', 'searchbox.html'] # cached publisher object for snippets _publisher = None def init(self): # a hash of all config values that, if changed, cause a full rebuild self.config_hash = '' self.tags_hash = '' # section numbers for headings in the currently visited document self.secnumbers = {} # currently written docname self.current_docname = None self.init_templates() self.init_highlighter() self.init_translator_class() if self.config.html_file_suffix is not None: self.out_suffix = self.config.html_file_suffix if self.config.html_link_suffix is not None: self.link_suffix = self.config.html_link_suffix else: self.link_suffix = self.out_suffix if self.config.language is not None: if self._get_translations_js(): self.script_files.append('_static/translations.js') def _get_translations_js(self): candidates = [path.join(package_dir, 'locale', self.config.language, 'LC_MESSAGES', 'sphinx.js'), path.join(sys.prefix, 'share/sphinx/locale', self.config.language, 'sphinx.js')] + \ [path.join(dir, self.config.language, 'LC_MESSAGES', 'sphinx.js') for dir in self.config.locale_dirs] for jsfile in candidates: if path.isfile(jsfile): return jsfile return None def get_theme_config(self): return self.config.html_theme, self.config.html_theme_options def init_templates(self): Theme.init_themes(self.confdir, self.config.html_theme_path, warn=self.warn) themename, themeoptions = self.get_theme_config() self.theme = Theme(themename) self.theme_options = themeoptions.copy() self.create_template_bridge() self.templates.init(self, self.theme) def init_highlighter(self): # determine Pygments style and create the highlighter if self.config.pygments_style is not None: style = self.config.pygments_style elif self.theme: style = self.theme.get_confstr('theme', 'pygments_style', 'none') else: style = 'sphinx' self.highlighter = PygmentsBridge('html', style, self.config.trim_doctest_flags) def init_translator_class(self): if self.config.html_translator_class: self.translator_class = self.app.import_object( self.config.html_translator_class, 'html_translator_class setting') elif self.config.html_use_smartypants: self.translator_class = SmartyPantsHTMLTranslator else: self.translator_class = HTMLTranslator def get_outdated_docs(self): cfgdict = dict((name, self.config[name]) for (name, desc) in self.config.values.iteritems() if desc[1] == 'html') self.config_hash = get_stable_hash(cfgdict) self.tags_hash = get_stable_hash(sorted(self.tags)) old_config_hash = old_tags_hash = '' try: fp = open(path.join(self.outdir, '.buildinfo')) try: version = fp.readline() if version.rstrip() != '# Sphinx build info version 1': raise ValueError fp.readline() # skip commentary cfg, old_config_hash = fp.readline().strip().split(': ') if cfg != 'config': raise ValueError tag, old_tags_hash = fp.readline().strip().split(': ') if tag != 'tags': raise ValueError finally: fp.close() except ValueError: self.warn('unsupported build info format in %r, building all' % path.join(self.outdir, '.buildinfo')) except Exception: pass if old_config_hash != self.config_hash or \ old_tags_hash != self.tags_hash: for docname in self.env.found_docs: yield docname return if self.templates: template_mtime = self.templates.newest_template_mtime() else: template_mtime = 0 for docname in self.env.found_docs: if docname not in self.env.all_docs: yield docname continue targetname = self.get_outfilename(docname) try: targetmtime = path.getmtime(targetname) except Exception: targetmtime = 0 try: srcmtime = max(path.getmtime(self.env.doc2path(docname)), template_mtime) if srcmtime > targetmtime: yield docname except EnvironmentError: # source doesn't exist anymore pass def render_partial(self, node): """Utility: Render a lone doctree node.""" if node is None: return {'fragment': ''} doc = new_document(b('')) doc.append(node) if self._publisher is None: self._publisher = Publisher( source_class = DocTreeInput, destination_class=StringOutput) self._publisher.set_components('standalone', 'restructuredtext', 'pseudoxml') pub = self._publisher pub.reader = DoctreeReader() pub.writer = HTMLWriter(self) pub.process_programmatic_settings( None, {'output_encoding': 'unicode'}, None) pub.set_source(doc, None) pub.set_destination(None, None) pub.publish() return pub.writer.parts def prepare_writing(self, docnames): # create the search indexer from sphinx.search import IndexBuilder, languages lang = self.config.html_search_language or self.config.language if not lang or lang not in languages: lang = 'en' self.indexer = IndexBuilder(self.env, lang, self.config.html_search_options, self.config.html_search_scorer) self.load_indexer(docnames) self.docwriter = HTMLWriter(self) self.docsettings = OptionParser( defaults=self.env.settings, components=(self.docwriter,), read_config_files=True).get_default_values() self.docsettings.compact_lists = bool(self.config.html_compact_lists) # determine the additional indices to include self.domain_indices = [] # html_domain_indices can be False/True or a list of index names indices_config = self.config.html_domain_indices if indices_config: for domain in self.env.domains.itervalues(): for indexcls in domain.indices: indexname = '%s-%s' % (domain.name, indexcls.name) if isinstance(indices_config, list): if indexname not in indices_config: continue # deprecated config value if indexname == 'py-modindex' and \ not self.config.html_use_modindex: continue content, collapse = indexcls(domain).generate() if content: self.domain_indices.append( (indexname, indexcls, content, collapse)) # format the "last updated on" string, only once is enough since it # typically doesn't include the time of day lufmt = self.config.html_last_updated_fmt if lufmt is not None: self.last_updated = ustrftime(lufmt or _('%b %d, %Y')) else: self.last_updated = None logo = self.config.html_logo and \ path.basename(self.config.html_logo) or '' favicon = self.config.html_favicon and \ path.basename(self.config.html_favicon) or '' if favicon and os.path.splitext(favicon)[1] != '.ico': self.warn('html_favicon is not an .ico file') if not isinstance(self.config.html_use_opensearch, basestring): self.warn('html_use_opensearch config value must now be a string') self.relations = self.env.collect_relations() rellinks = [] if self.get_builder_config('use_index', 'html'): rellinks.append(('genindex', _('General Index'), 'I', _('index'))) for indexname, indexcls, content, collapse in self.domain_indices: # if it has a short name if indexcls.shortname: rellinks.append((indexname, indexcls.localname, '', indexcls.shortname)) if self.config.html_style is not None: stylename = self.config.html_style elif self.theme: stylename = self.theme.get_confstr('theme', 'stylesheet') else: stylename = 'default.css' self.globalcontext = dict( embedded = self.embedded, project = self.config.project, release = self.config.release, version = self.config.version, last_updated = self.last_updated, copyright = self.config.copyright, master_doc = self.config.master_doc, use_opensearch = self.config.html_use_opensearch, docstitle = self.config.html_title, shorttitle = self.config.html_short_title, show_copyright = self.config.html_show_copyright, show_sphinx = self.config.html_show_sphinx, has_source = self.config.html_copy_source, show_source = self.config.html_show_sourcelink, file_suffix = self.out_suffix, script_files = self.script_files, css_files = self.css_files, sphinx_version = __version__, style = stylename, rellinks = rellinks, builder = self.name, parents = [], logo = logo, favicon = favicon, ) if self.theme: self.globalcontext.update( ('theme_' + key, val) for (key, val) in self.theme.get_options(self.theme_options).iteritems()) self.globalcontext.update(self.config.html_context) def get_doc_context(self, docname, body, metatags): """Collect items for the template context of a page.""" # find out relations prev = next = None parents = [] rellinks = self.globalcontext['rellinks'][:] related = self.relations.get(docname) titles = self.env.titles if related and related[2]: try: next = { 'link': self.get_relative_uri(docname, related[2]), 'title': self.render_partial(titles[related[2]])['title'] } rellinks.append((related[2], next['title'], 'N', _('next'))) except KeyError: next = None if related and related[1]: try: prev = { 'link': self.get_relative_uri(docname, related[1]), 'title': self.render_partial(titles[related[1]])['title'] } rellinks.append((related[1], prev['title'], 'P', _('previous'))) except KeyError: # the relation is (somehow) not in the TOC tree, handle # that gracefully prev = None while related and related[0]: try: parents.append( {'link': self.get_relative_uri(docname, related[0]), 'title': self.render_partial(titles[related[0]])['title']}) except KeyError: pass related = self.relations.get(related[0]) if parents: parents.pop() # remove link to the master file; we have a generic # "back to index" link already parents.reverse() # title rendered as HTML title = self.env.longtitles.get(docname) title = title and self.render_partial(title)['title'] or '' # the name for the copied source sourcename = self.config.html_copy_source and docname + '.txt' or '' # metadata for the document meta = self.env.metadata.get(docname) # local TOC and global TOC tree self_toc = self.env.get_toc_for(docname, self) toc = self.render_partial(self_toc)['fragment'] return dict( parents = parents, prev = prev, next = next, title = title, meta = meta, body = body, metatags = metatags, rellinks = rellinks, sourcename = sourcename, toc = toc, # only display a TOC if there's more than one item to show display_toc = (self.env.toc_num_entries[docname] > 1), ) def write_doc(self, docname, doctree): destination = StringOutput(encoding='utf-8') doctree.settings = self.docsettings self.secnumbers = self.env.toc_secnumbers.get(docname, {}) self.imgpath = relative_uri(self.get_target_uri(docname), '_images') self.dlpath = relative_uri(self.get_target_uri(docname), '_downloads') self.current_docname = docname self.docwriter.write(doctree, destination) self.docwriter.assemble_parts() body = self.docwriter.parts['fragment'] metatags = self.docwriter.clean_meta ctx = self.get_doc_context(docname, body, metatags) self.handle_page(docname, ctx, event_arg=doctree) def write_doc_serialized(self, docname, doctree): self.imgpath = relative_uri(self.get_target_uri(docname), '_images') self.post_process_images(doctree) title = self.env.longtitles.get(docname) title = title and self.render_partial(title)['title'] or '' self.index_page(docname, doctree, title) def finish(self): self.info(bold('writing additional files...'), nonl=1) # pages from extensions for pagelist in self.app.emit('html-collect-pages'): for pagename, context, template in pagelist: self.handle_page(pagename, context, template) # the global general index if self.get_builder_config('use_index', 'html'): self.write_genindex() # the global domain-specific indices self.write_domain_indices() # the search page if self.name != 'htmlhelp': self.info(' search', nonl=1) self.handle_page('search', {}, 'search.html') # additional pages from conf.py for pagename, template in self.config.html_additional_pages.items(): self.info(' '+pagename, nonl=1) self.handle_page(pagename, {}, template) if self.config.html_use_opensearch and self.name != 'htmlhelp': self.info(' opensearch', nonl=1) fn = path.join(self.outdir, '_static', 'opensearch.xml') self.handle_page('opensearch', {}, 'opensearch.xml', outfilename=fn) self.info() self.copy_image_files() self.copy_download_files() self.copy_static_files() self.copy_extra_files() self.write_buildinfo() # dump the search index self.handle_finish() def write_genindex(self): # the total count of lines for each index letter, used to distribute # the entries into two columns genindex = self.env.create_index(self) indexcounts = [] for _, entries in genindex: indexcounts.append(sum(1 + len(subitems) for _, (_, subitems) in entries)) genindexcontext = dict( genindexentries = genindex, genindexcounts = indexcounts, split_index = self.config.html_split_index, ) self.info(' genindex', nonl=1) if self.config.html_split_index: self.handle_page('genindex', genindexcontext, 'genindex-split.html') self.handle_page('genindex-all', genindexcontext, 'genindex.html') for (key, entries), count in zip(genindex, indexcounts): ctx = {'key': key, 'entries': entries, 'count': count, 'genindexentries': genindex} self.handle_page('genindex-' + key, ctx, 'genindex-single.html') else: self.handle_page('genindex', genindexcontext, 'genindex.html') def write_domain_indices(self): for indexname, indexcls, content, collapse in self.domain_indices: indexcontext = dict( indextitle = indexcls.localname, content = content, collapse_index = collapse, ) self.info(' ' + indexname, nonl=1) self.handle_page(indexname, indexcontext, 'domainindex.html') def copy_image_files(self): # copy image files if self.images: ensuredir(path.join(self.outdir, '_images')) for src in self.status_iterator(self.images, 'copying images... ', brown, len(self.images)): dest = self.images[src] try: copyfile(path.join(self.srcdir, src), path.join(self.outdir, '_images', dest)) except Exception, err: self.warn('cannot copy image file %r: %s' % (path.join(self.srcdir, src), err)) def copy_download_files(self): # copy downloadable files if self.env.dlfiles: ensuredir(path.join(self.outdir, '_downloads')) for src in self.status_iterator(self.env.dlfiles, 'copying downloadable files... ', brown, len(self.env.dlfiles)): dest = self.env.dlfiles[src][1] try: copyfile(path.join(self.srcdir, src), path.join(self.outdir, '_downloads', dest)) except Exception, err: self.warn('cannot copy downloadable file %r: %s' % (path.join(self.srcdir, src), err)) def copy_static_files(self): # copy static files self.info(bold('copying static files... '), nonl=True) ensuredir(path.join(self.outdir, '_static')) # first, create pygments style file f = open(path.join(self.outdir, '_static', 'pygments.css'), 'w') f.write(self.highlighter.get_stylesheet()) f.close() # then, copy translations JavaScript file if self.config.language is not None: jsfile = self._get_translations_js() if jsfile: copyfile(jsfile, path.join(self.outdir, '_static', 'translations.js')) # add context items for search function used in searchtools.js_t ctx = self.globalcontext.copy() ctx.update(self.indexer.context_for_searchtool()) # then, copy over theme-supplied static files if self.theme: themeentries = [path.join(themepath, 'static') for themepath in self.theme.get_dirchain()[::-1]] for entry in themeentries: copy_static_entry(entry, path.join(self.outdir, '_static'), self, ctx) # then, copy over all user-supplied static files staticentries = [path.join(self.confdir, spath) for spath in self.config.html_static_path] matchers = compile_matchers( self.config.exclude_patterns + ['**/' + d for d in self.config.exclude_dirnames] ) for entry in staticentries: if not path.exists(entry): self.warn('html_static_path entry %r does not exist' % entry) continue copy_static_entry(entry, path.join(self.outdir, '_static'), self, ctx, exclude_matchers=matchers) # copy logo and favicon files if not already in static path if self.config.html_logo: logobase = path.basename(self.config.html_logo) logotarget = path.join(self.outdir, '_static', logobase) if not path.isfile(path.join(self.confdir, self.config.html_logo)): self.warn('logo file %r does not exist' % self.config.html_logo) elif not path.isfile(logotarget): copyfile(path.join(self.confdir, self.config.html_logo), logotarget) if self.config.html_favicon: iconbase = path.basename(self.config.html_favicon) icontarget = path.join(self.outdir, '_static', iconbase) if not path.isfile(path.join(self.confdir, self.config.html_favicon)): self.warn('favicon file %r does not exist' % self.config.html_favicon) elif not path.isfile(icontarget): copyfile(path.join(self.confdir, self.config.html_favicon), icontarget) self.info('done') def copy_extra_files(self): # copy html_extra_path files self.info(bold('copying extra files... '), nonl=True) extraentries = [path.join(self.confdir, epath) for epath in self.config.html_extra_path] for entry in extraentries: if not path.exists(entry): self.warn('html_extra_path entry %r does not exist' % entry) continue copy_static_entry(entry, self.outdir, self) self.info('done') def write_buildinfo(self): # write build info file fp = open(path.join(self.outdir, '.buildinfo'), 'w') try: fp.write('# Sphinx build info version 1\n' '# This file hashes the configuration used when building' ' these files. When it is not found, a full rebuild will' ' be done.\nconfig: %s\ntags: %s\n' % (self.config_hash, self.tags_hash)) finally: fp.close() def cleanup(self): # clean up theme stuff if self.theme: self.theme.cleanup() def post_process_images(self, doctree): """Pick the best candidate for an image and link down-scaled images to their high res version. """ Builder.post_process_images(self, doctree) for node in doctree.traverse(nodes.image): scale_keys = ('scale', 'width', 'height') if not any((key in node) for key in scale_keys) or \ isinstance(node.parent, nodes.reference): # docutils does unfortunately not preserve the # ``target`` attribute on images, so we need to check # the parent node here. continue uri = node['uri'] reference = nodes.reference('', '', internal=True) if uri in self.images: reference['refuri'] = posixpath.join(self.imgpath, self.images[uri]) else: reference['refuri'] = uri node.replace_self(reference) reference.append(node) def load_indexer(self, docnames): keep = set(self.env.all_docs) - set(docnames) try: searchindexfn = path.join(self.outdir, self.searchindex_filename) if self.indexer_dumps_unicode: f = codecs.open(searchindexfn, 'r', encoding='utf-8') else: f = open(searchindexfn, 'rb') try: self.indexer.load(f, self.indexer_format) finally: f.close() except (IOError, OSError, ValueError): if keep: self.warn('search index couldn\'t be loaded, but not all ' 'documents will be built: the index will be ' 'incomplete.') # delete all entries for files that will be rebuilt self.indexer.prune(keep) def index_page(self, pagename, doctree, title): # only index pages with title if self.indexer is not None and title: self.indexer.feed(pagename, title, doctree) def _get_local_toctree(self, docname, collapse=True, **kwds): if 'includehidden' not in kwds: kwds['includehidden'] = False return self.render_partial(self.env.get_toctree_for( docname, self, collapse, **kwds))['fragment'] def get_outfilename(self, pagename): return path.join(self.outdir, os_path(pagename) + self.out_suffix) def add_sidebars(self, pagename, ctx): def has_wildcard(pattern): return any(char in pattern for char in '*?[') sidebars = None matched = None customsidebar = None for pattern, patsidebars in self.config.html_sidebars.iteritems(): if patmatch(pagename, pattern): if matched: if has_wildcard(pattern): # warn if both patterns contain wildcards if has_wildcard(matched): self.warn('page %s matches two patterns in ' 'html_sidebars: %r and %r' % (pagename, matched, pattern)) # else the already matched pattern is more specific # than the present one, because it contains no wildcard continue matched = pattern sidebars = patsidebars if sidebars is None: # keep defaults pass elif isinstance(sidebars, basestring): # 0.x compatible mode: insert custom sidebar before searchbox customsidebar = sidebars sidebars = None ctx['sidebars'] = sidebars ctx['customsidebar'] = customsidebar # --------- these are overwritten by the serialization builder def get_target_uri(self, docname, typ=None): return docname + self.link_suffix def handle_page(self, pagename, addctx, templatename='page.html', outfilename=None, event_arg=None): ctx = self.globalcontext.copy() # current_page_name is backwards compatibility ctx['pagename'] = ctx['current_page_name'] = pagename default_baseuri = self.get_target_uri(pagename) # in the singlehtml builder, default_baseuri still contains an #anchor # part, which relative_uri doesn't really like... default_baseuri = default_baseuri.rsplit('#', 1)[0] def pathto(otheruri, resource=False, baseuri=default_baseuri): if resource and '://' in otheruri: # allow non-local resources given by scheme return otheruri elif not resource: otheruri = self.get_target_uri(otheruri) uri = relative_uri(baseuri, otheruri) or '#' return uri ctx['pathto'] = pathto ctx['hasdoc'] = lambda name: name in self.env.all_docs if self.name != 'htmlhelp': ctx['encoding'] = encoding = self.config.html_output_encoding else: ctx['encoding'] = encoding = self.encoding ctx['toctree'] = lambda **kw: self._get_local_toctree(pagename, **kw) self.add_sidebars(pagename, ctx) ctx.update(addctx) self.app.emit('html-page-context', pagename, templatename, ctx, event_arg) try: output = self.templates.render(templatename, ctx) except UnicodeError: self.warn("a Unicode error occurred when rendering the page %s. " "Please make sure all config values that contain " "non-ASCII content are Unicode strings." % pagename) return if not outfilename: outfilename = self.get_outfilename(pagename) # outfilename's path is in general different from self.outdir ensuredir(path.dirname(outfilename)) try: f = codecs.open(outfilename, 'w', encoding, 'xmlcharrefreplace') try: f.write(output) finally: f.close() except (IOError, OSError), err: self.warn("error writing file %s: %s" % (outfilename, err)) if self.copysource and ctx.get('sourcename'): # copy the source file for the "show source" link source_name = path.join(self.outdir, '_sources', os_path(ctx['sourcename'])) ensuredir(path.dirname(source_name)) copyfile(self.env.doc2path(pagename), source_name) def handle_finish(self): self.dump_search_index() self.dump_inventory() def dump_inventory(self): self.info(bold('dumping object inventory... '), nonl=True) f = open(path.join(self.outdir, INVENTORY_FILENAME), 'wb') try: f.write((u'# Sphinx inventory version 2\n' u'# Project: %s\n' u'# Version: %s\n' u'# The remainder of this file is compressed using zlib.\n' % (self.config.project, self.config.version) ).encode('utf-8')) compressor = zlib.compressobj(9) for domainname, domain in self.env.domains.iteritems(): for name, dispname, type, docname, anchor, prio in \ domain.get_objects(): if anchor.endswith(name): # this can shorten the inventory by as much as 25% anchor = anchor[:-len(name)] + '$' uri = self.get_target_uri(docname) + '#' + anchor if dispname == name: dispname = u'-' f.write(compressor.compress( (u'%s %s:%s %s %s %s\n' % (name, domainname, type, prio, uri, dispname) ).encode('utf-8'))) f.write(compressor.flush()) finally: f.close() self.info('done') def dump_search_index(self): self.info(bold('dumping search index... '), nonl=True) self.indexer.prune(self.env.all_docs) searchindexfn = path.join(self.outdir, self.searchindex_filename) # first write to a temporary file, so that if dumping fails, # the existing index won't be overwritten if self.indexer_dumps_unicode: f = codecs.open(searchindexfn + '.tmp', 'w', encoding='utf-8') else: f = open(searchindexfn + '.tmp', 'wb') try: self.indexer.dump(f, self.indexer_format) finally: f.close() movefile(searchindexfn + '.tmp', searchindexfn) self.info('done') class DirectoryHTMLBuilder(StandaloneHTMLBuilder): """ A StandaloneHTMLBuilder that creates all HTML pages as "index.html" in a directory given by their pagename, so that generated URLs don't have ``.html`` in them. """ name = 'dirhtml' def get_target_uri(self, docname, typ=None): if docname == 'index': return '' if docname.endswith(SEP + 'index'): return docname[:-5] # up to sep return docname + SEP def get_outfilename(self, pagename): if pagename == 'index' or pagename.endswith(SEP + 'index'): outfilename = path.join(self.outdir, os_path(pagename) + self.out_suffix) else: outfilename = path.join(self.outdir, os_path(pagename), 'index' + self.out_suffix) return outfilename def prepare_writing(self, docnames): StandaloneHTMLBuilder.prepare_writing(self, docnames) self.globalcontext['no_search_suffix'] = True class SingleFileHTMLBuilder(StandaloneHTMLBuilder): """ A StandaloneHTMLBuilder subclass that puts the whole document tree on one HTML page. """ name = 'singlehtml' copysource = False def get_outdated_docs(self): return 'all documents' def get_target_uri(self, docname, typ=None): if docname in self.env.all_docs: # all references are on the same page... return self.config.master_doc + self.out_suffix + \ '#document-' + docname else: # chances are this is a html_additional_page return docname + self.out_suffix def get_relative_uri(self, from_, to, typ=None): # ignore source return self.get_target_uri(to, typ) def fix_refuris(self, tree): # fix refuris with double anchor fname = self.config.master_doc + self.out_suffix for refnode in tree.traverse(nodes.reference): if 'refuri' not in refnode: continue refuri = refnode['refuri'] hashindex = refuri.find('#') if hashindex < 0: continue hashindex = refuri.find('#', hashindex+1) if hashindex >= 0: refnode['refuri'] = fname + refuri[hashindex:] def assemble_doctree(self): master = self.config.master_doc tree = self.env.get_doctree(master) tree = inline_all_toctrees(self, set(), master, tree, darkgreen) tree['docname'] = master self.env.resolve_references(tree, master, self) self.fix_refuris(tree) return tree def get_doc_context(self, docname, body, metatags): # no relation links... toc = self.env.get_toctree_for(self.config.master_doc, self, False) # if there is no toctree, toc is None if toc: self.fix_refuris(toc) toc = self.render_partial(toc)['fragment'] display_toc = True else: toc = '' display_toc = False return dict( parents = [], prev = None, next = None, docstitle = None, title = self.config.html_title, meta = None, body = body, metatags = metatags, rellinks = [], sourcename = '', toc = toc, display_toc = display_toc, ) def write(self, *ignored): docnames = self.env.all_docs self.info(bold('preparing documents... '), nonl=True) self.prepare_writing(docnames) self.info('done') self.info(bold('assembling single document... '), nonl=True) doctree = self.assemble_doctree() self.info() self.info(bold('writing... '), nonl=True) self.write_doc_serialized(self.config.master_doc, doctree) self.write_doc(self.config.master_doc, doctree) self.info('done') def finish(self): # no indices or search pages are supported self.info(bold('writing additional files...'), nonl=1) # additional pages from conf.py for pagename, template in self.config.html_additional_pages.items(): self.info(' '+pagename, nonl=1) self.handle_page(pagename, {}, template) if self.config.html_use_opensearch: self.info(' opensearch', nonl=1) fn = path.join(self.outdir, '_static', 'opensearch.xml') self.handle_page('opensearch', {}, 'opensearch.xml', outfilename=fn) self.info() self.copy_image_files() self.copy_download_files() self.copy_static_files() self.copy_extra_files() self.write_buildinfo() self.dump_inventory() class SerializingHTMLBuilder(StandaloneHTMLBuilder): """ An abstract builder that serializes the generated HTML. """ #: the serializing implementation to use. Set this to a module that #: implements a `dump`, `load`, `dumps` and `loads` functions #: (pickle, simplejson etc.) implementation = None implementation_dumps_unicode = False #: additional arguments for dump() additional_dump_args = () #: the filename for the global context file globalcontext_filename = None supported_image_types = ['image/svg+xml', 'image/png', 'image/gif', 'image/jpeg'] def init(self): self.config_hash = '' self.tags_hash = '' self.theme = None # no theme necessary self.templates = None # no template bridge necessary self.init_translator_class() self.init_highlighter() def get_target_uri(self, docname, typ=None): if docname == 'index': return '' if docname.endswith(SEP + 'index'): return docname[:-5] # up to sep return docname + SEP def dump_context(self, context, filename): if self.implementation_dumps_unicode: f = codecs.open(filename, 'w', encoding='utf-8') else: f = open(filename, 'wb') try: self.implementation.dump(context, f, *self.additional_dump_args) finally: f.close() def handle_page(self, pagename, ctx, templatename='page.html', outfilename=None, event_arg=None): ctx['current_page_name'] = pagename self.add_sidebars(pagename, ctx) if not outfilename: outfilename = path.join(self.outdir, os_path(pagename) + self.out_suffix) self.app.emit('html-page-context', pagename, templatename, ctx, event_arg) ensuredir(path.dirname(outfilename)) self.dump_context(ctx, outfilename) # if there is a source file, copy the source file for the # "show source" link if ctx.get('sourcename'): source_name = path.join(self.outdir, '_sources', os_path(ctx['sourcename'])) ensuredir(path.dirname(source_name)) copyfile(self.env.doc2path(pagename), source_name) def handle_finish(self): # dump the global context outfilename = path.join(self.outdir, self.globalcontext_filename) self.dump_context(self.globalcontext, outfilename) # super here to dump the search index StandaloneHTMLBuilder.handle_finish(self) # copy the environment file from the doctree dir to the output dir # as needed by the web app copyfile(path.join(self.doctreedir, ENV_PICKLE_FILENAME), path.join(self.outdir, ENV_PICKLE_FILENAME)) # touch 'last build' file, used by the web application to determine # when to reload its environment and clear the cache open(path.join(self.outdir, LAST_BUILD_FILENAME), 'w').close() class PickleHTMLBuilder(SerializingHTMLBuilder): """ A Builder that dumps the generated HTML into pickle files. """ implementation = pickle implementation_dumps_unicode = False additional_dump_args = (pickle.HIGHEST_PROTOCOL,) indexer_format = pickle indexer_dumps_unicode = False name = 'pickle' out_suffix = '.fpickle' globalcontext_filename = 'globalcontext.pickle' searchindex_filename = 'searchindex.pickle' # compatibility alias WebHTMLBuilder = PickleHTMLBuilder class JSONHTMLBuilder(SerializingHTMLBuilder): """ A builder that dumps the generated HTML into JSON files. """ implementation = jsonimpl implementation_dumps_unicode = True indexer_format = jsonimpl indexer_dumps_unicode = True name = 'json' out_suffix = '.fjson' globalcontext_filename = 'globalcontext.json' searchindex_filename = 'searchindex.json' def init(self): if jsonimpl.json is None: raise SphinxError( 'The module simplejson (or json in Python >= 2.6) ' 'is not available. The JSONHTMLBuilder builder will not work.') SerializingHTMLBuilder.init(self) sphinx-1.2.2+dfsg.orig/sphinx/theming.py0000644000000000000000000001475512304557476016750 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.theming ~~~~~~~~~~~~~~ Theming support for HTML builders. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import shutil import zipfile import tempfile import ConfigParser from os import path try: import pkg_resources except ImportError: pkg_resources = False from sphinx import package_dir from sphinx.errors import ThemeError NODEFAULT = object() THEMECONF = 'theme.conf' class Theme(object): """ Represents the theme chosen in the configuration. """ themes = {} @classmethod def init_themes(cls, confdir, theme_path, warn=None): """Search all theme paths for available themes.""" cls.themepath = list(theme_path) cls.themepath.append(path.join(package_dir, 'themes')) for themedir in cls.themepath[::-1]: themedir = path.join(confdir, themedir) if not path.isdir(themedir): continue for theme in os.listdir(themedir): if theme.lower().endswith('.zip'): try: zfile = zipfile.ZipFile(path.join(themedir, theme)) if THEMECONF not in zfile.namelist(): continue tname = theme[:-4] tinfo = zfile except Exception: if warn: warn('file %r on theme path is not a valid ' 'zipfile or contains no theme' % theme) continue else: if not path.isfile(path.join(themedir, theme, THEMECONF)): continue tname = theme tinfo = None cls.themes[tname] = (path.join(themedir, theme), tinfo) @classmethod def load_extra_themes(cls): for themedir in load_theme_plugins(): if not path.isdir(themedir): continue for theme in os.listdir(themedir): if not path.isfile(path.join(themedir, theme, THEMECONF)): continue cls.themes[theme] = (path.join(themedir, theme), None) def __init__(self, name): if name not in self.themes: self.load_extra_themes() if name not in self.themes: raise ThemeError('no theme named %r found ' '(missing theme.conf?)' % name) self.name = name tdir, tinfo = self.themes[name] if tinfo is None: # already a directory, do nothing self.themedir = tdir self.themedir_created = False else: # extract the theme to a temp directory self.themedir = tempfile.mkdtemp('sxt') self.themedir_created = True for name in tinfo.namelist(): if name.endswith('/'): continue dirname = path.dirname(name) if not path.isdir(path.join(self.themedir, dirname)): os.makedirs(path.join(self.themedir, dirname)) fp = open(path.join(self.themedir, name), 'wb') fp.write(tinfo.read(name)) fp.close() self.themeconf = ConfigParser.RawConfigParser() self.themeconf.read(path.join(self.themedir, THEMECONF)) try: inherit = self.themeconf.get('theme', 'inherit') except ConfigParser.NoOptionError: raise ThemeError('theme %r doesn\'t have "inherit" setting' % name) if inherit == 'none': self.base = None elif inherit not in self.themes: raise ThemeError('no theme named %r found, inherited by %r' % (inherit, name)) else: self.base = Theme(inherit) def get_confstr(self, section, name, default=NODEFAULT): """Return the value for a theme configuration setting, searching the base theme chain. """ try: return self.themeconf.get(section, name) except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): if self.base is not None: return self.base.get_confstr(section, name, default) if default is NODEFAULT: raise ThemeError('setting %s.%s occurs in none of the ' 'searched theme configs' % (section, name)) else: return default def get_options(self, overrides): """Return a dictionary of theme options and their values.""" chain = [self.themeconf] base = self.base while base is not None: chain.append(base.themeconf) base = base.base options = {} for conf in reversed(chain): try: options.update(conf.items('options')) except ConfigParser.NoSectionError: pass for option, value in overrides.iteritems(): if option not in options: raise ThemeError('unsupported theme option %r given' % option) options[option] = value return options def get_dirchain(self): """Return a list of theme directories, beginning with this theme's, then the base theme's, then that one's base theme's, etc. """ chain = [self.themedir] base = self.base while base is not None: chain.append(base.themedir) base = base.base return chain def cleanup(self): """Remove temporary directories.""" if self.themedir_created: try: shutil.rmtree(self.themedir) except Exception: pass if self.base: self.base.cleanup() def load_theme_plugins(): """load plugins by using``sphinx_themes`` section in setuptools entry_points. This API will return list of directory that contain some theme directory. """ if not pkg_resources: return [] theme_paths = [] for plugin in pkg_resources.iter_entry_points('sphinx_themes'): func_or_path = plugin.load() try: path = func_or_path() except: path = func_or_path if isinstance(path, basestring): theme_paths.append(path) else: raise ThemeError('Plugin %r does not response correctly.' % plugin.module_name) return theme_paths sphinx-1.2.2+dfsg.orig/sphinx/util/0000755000000000000000000000000012304560277015675 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/util/jsdump.py0000644000000000000000000001272712304304673017556 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.jsdump ~~~~~~~~~~~~~~~~~~ This module implements a simple JavaScript serializer. Uses the basestring encode function from simplejson by Bob Ippolito. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from sphinx.util.pycompat import u _str_re = re.compile(r'"(\\\\|\\"|[^"])*"') _int_re = re.compile(r'\d+') _name_re = re.compile(r'[a-zA-Z]\w*') _nameonly_re = re.compile(r'[a-zA-Z]\w*$') # escape \, ", control characters and everything outside ASCII ESCAPE_ASCII = re.compile(r'([\\"]|[^\ -~])') ESCAPE_DICT = { '\\': '\\\\', '"': '\\"', '\b': '\\b', '\f': '\\f', '\n': '\\n', '\r': '\\r', '\t': '\\t', } ESCAPED = re.compile(r'\\u.{4}|\\.') def encode_string(s): def replace(match): s = match.group(0) try: return ESCAPE_DICT[s] except KeyError: n = ord(s) if n < 0x10000: return '\\u%04x' % (n,) else: # surrogate pair n -= 0x10000 s1 = 0xd800 | ((n >> 10) & 0x3ff) s2 = 0xdc00 | (n & 0x3ff) return '\\u%04x\\u%04x' % (s1, s2) return '"' + str(ESCAPE_ASCII.sub(replace, s)) + '"' def decode_string(s): return ESCAPED.sub(lambda m: eval(u + '"' + m.group() + '"'), s) reswords = set("""\ abstract else instanceof switch boolean enum int synchronized break export interface this byte extends long throw case false native throws catch final new transient char finally null true class float package try const for private typeof continue function protected var debugger goto public void default if return volatile delete implements short while do import static with double in super""".split()) def dumps(obj, key=False): if key: if not isinstance(obj, basestring): obj = str(obj) if _nameonly_re.match(obj) and obj not in reswords: return obj # return it as a bare word else: return encode_string(obj) if obj is None: return 'null' elif obj is True or obj is False: return obj and 'true' or 'false' elif isinstance(obj, (int, long, float)): return str(obj) elif isinstance(obj, dict): return '{%s}' % ','.join('%s:%s' % ( dumps(key, True), dumps(value) ) for key, value in obj.iteritems()) elif isinstance(obj, (tuple, list, set)): return '[%s]' % ','.join(dumps(x) for x in obj) elif isinstance(obj, basestring): return encode_string(obj) raise TypeError(type(obj)) def dump(obj, f): f.write(dumps(obj)) def loads(x): """Loader that can read the JS subset the indexer produces.""" nothing = object() i = 0 n = len(x) stack = [] obj = nothing key = False keys = [] while i < n: c = x[i] if c == '{': obj = {} stack.append(obj) key = True keys.append(nothing) i += 1 elif c == '[': obj = [] stack.append(obj) key = False keys.append(nothing) i += 1 elif c in '}]': if key: if keys[-1] is not nothing: raise ValueError("unfinished dict") # empty dict key = False oldobj = stack.pop() keys.pop() if stack: obj = stack[-1] if isinstance(obj, dict): if keys[-1] is nothing: raise ValueError("invalid key object", oldobj) obj[keys[-1]] = oldobj else: obj.append(oldobj) else: break i += 1 elif c == ',': if key: raise ValueError("multiple keys") if isinstance(obj, dict): key = True i += 1 elif c == ':': if not isinstance(obj, dict): raise ValueError("colon in list") i += 1 if not key: raise ValueError("multiple values") key = False else: m = _str_re.match(x, i) if m: y = decode_string(m.group()[1:-1]) else: m = _int_re.match(x, i) if m: y = int(m.group()) else: m = _name_re.match(x, i) if m: y = m.group() if y == 'true': y = True elif y == 'false': y = False elif y == 'null': y = None elif not key: raise ValueError("bareword as value") else: raise ValueError("read error at pos %d" % i) i = m.end() if isinstance(obj, dict): if key: keys[-1] = y else: obj[keys[-1]] = y key = False else: obj.append(y) if obj is nothing: raise ValueError("nothing loaded from string") return obj def load(f): return loads(f.read()) sphinx-1.2.2+dfsg.orig/sphinx/util/websupport.py0000644000000000000000000000053312304304673020456 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.websupport ~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ def is_commentable(node): #return node.__class__.__name__ in ('paragraph', 'literal_block') return node.__class__.__name__ == 'paragraph' sphinx-1.2.2+dfsg.orig/sphinx/util/matching.py0000644000000000000000000000437112304557741020050 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.matching ~~~~~~~~~~~~~~~~~~~~ Pattern-matching utility functions for Sphinx. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re def _translate_pattern(pat): """Translate a shell-style glob pattern to a regular expression. Adapted from the fnmatch module, but enhanced so that single stars don't match slashes. """ i, n = 0, len(pat) res = '' while i < n: c = pat[i] i += 1 if c == '*': if i < n and pat[i] == '*': # double star matches slashes too i += 1 res = res + '.*' else: # single star doesn't match slashes res = res + '[^/]*' elif c == '?': # question mark doesn't match slashes too res = res + '[^/]' elif c == '[': j = i if j < n and pat[j] == '!': j += 1 if j < n and pat[j] == ']': j += 1 while j < n and pat[j] != ']': j += 1 if j >= n: res = res + '\\[' else: stuff = pat[i:j].replace('\\', '\\\\') i = j + 1 if stuff[0] == '!': # negative pattern mustn't match slashes too stuff = '^/' + stuff[1:] elif stuff[0] == '^': stuff = '\\' + stuff res = '%s[%s]' % (res, stuff) else: res += re.escape(c) return res + '$' def compile_matchers(patterns): return [re.compile(_translate_pattern(pat)).match for pat in patterns] _pat_cache = {} def patmatch(name, pat): """Return if name matches pat. Adapted from fnmatch module.""" if pat not in _pat_cache: _pat_cache[pat] = re.compile(_translate_pattern(pat)) return _pat_cache[pat].match(name) def patfilter(names, pat): """Return the subset of the list NAMES that match PAT. Adapted from fnmatch module. """ if pat not in _pat_cache: _pat_cache[pat] = re.compile(_translate_pattern(pat)) match = _pat_cache[pat].match return filter(match, names) sphinx-1.2.2+dfsg.orig/sphinx/util/smartypants.py0000644000000000000000000002560612304304557020642 0ustar rootrootr""" This is based on SmartyPants.py by `Chad Miller`_ , version 1.5_1.6. Copyright and License ===================== SmartyPants_ license:: Copyright (c) 2003 John Gruber (http://daringfireball.net/) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name "SmartyPants" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. smartypants.py license:: smartypants.py is a derivative work of SmartyPants. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. .. _Chad Miller: http://web.chad.org/ """ import re def sphinx_smarty_pants(t): t = t.replace('"', '"') t = educate_dashes_oldschool(t) t = educate_quotes(t) t = t.replace('"', '"') return t # Constants for quote education. punct_class = r"""[!"#\$\%'()*+,-.\/:;<=>?\@\[\\\]\^_`{|}~]""" end_of_word_class = r"""[\s.,;:!?)]""" close_class = r"""[^\ \t\r\n\[\{\(\-]""" dec_dashes = r"""–|—""" # Special case if the very first character is a quote # followed by punctuation at a non-word-break. Close the quotes by brute force: single_quote_start_re = re.compile(r"""^'(?=%s\\B)""" % (punct_class,)) double_quote_start_re = re.compile(r"""^"(?=%s\\B)""" % (punct_class,)) # Special case for double sets of quotes, e.g.: #

    He said, "'Quoted' words in a larger quote."

    double_quote_sets_re = re.compile(r""""'(?=\w)""") single_quote_sets_re = re.compile(r"""'"(?=\w)""") # Special case for decade abbreviations (the '80s): decade_abbr_re = re.compile(r"""\b'(?=\d{2}s)""") # Get most opening double quotes: opening_double_quotes_regex = re.compile(r""" ( \s | # a whitespace char, or   | # a non-breaking space entity, or -- | # dashes, or &[mn]dash; | # named dash entities %s | # or decimal entities &\#x201[34]; # or hex ) " # the quote (?=\w) # followed by a word character """ % (dec_dashes,), re.VERBOSE) # Double closing quotes: closing_double_quotes_regex = re.compile(r""" #(%s)? # character that indicates the quote should be closing " (?=%s) """ % (close_class, end_of_word_class), re.VERBOSE) closing_double_quotes_regex_2 = re.compile(r""" (%s) # character that indicates the quote should be closing " """ % (close_class,), re.VERBOSE) # Get most opening single quotes: opening_single_quotes_regex = re.compile(r""" ( \s | # a whitespace char, or   | # a non-breaking space entity, or -- | # dashes, or &[mn]dash; | # named dash entities %s | # or decimal entities &\#x201[34]; # or hex ) ' # the quote (?=\w) # followed by a word character """ % (dec_dashes,), re.VERBOSE) closing_single_quotes_regex = re.compile(r""" (%s) ' (?!\s | s\b | \d) """ % (close_class,), re.VERBOSE) closing_single_quotes_regex_2 = re.compile(r""" (%s) ' (\s | s\b) """ % (close_class,), re.VERBOSE) def educate_quotes(s): """ Parameter: String. Returns: The string, with "educated" curly quote HTML entities. Example input: "Isn't this fun?" Example output: “Isn’t this fun?” """ # Special case if the very first character is a quote # followed by punctuation at a non-word-break. Close the quotes # by brute force: s = single_quote_start_re.sub("’", s) s = double_quote_start_re.sub("”", s) # Special case for double sets of quotes, e.g.: #

    He said, "'Quoted' words in a larger quote."

    s = double_quote_sets_re.sub("“‘", s) s = single_quote_sets_re.sub("‘“", s) # Special case for decade abbreviations (the '80s): s = decade_abbr_re.sub("’", s) s = opening_single_quotes_regex.sub(r"\1‘", s) s = closing_single_quotes_regex.sub(r"\1’", s) s = closing_single_quotes_regex_2.sub(r"\1’\2", s) # Any remaining single quotes should be opening ones: s = s.replace("'", "‘") s = opening_double_quotes_regex.sub(r"\1“", s) s = closing_double_quotes_regex.sub(r"”", s) s = closing_double_quotes_regex_2.sub(r"\1”", s) # Any remaining quotes should be opening ones. return s.replace('"', "“") def educate_quotes_latex(s, dquotes=("``", "''")): """ Parameter: String. Returns: The string, with double quotes corrected to LaTeX quotes. Example input: "Isn't this fun?" Example output: ``Isn't this fun?''; """ # Special case if the very first character is a quote # followed by punctuation at a non-word-break. Close the quotes # by brute force: s = single_quote_start_re.sub("\x04", s) s = double_quote_start_re.sub("\x02", s) # Special case for double sets of quotes, e.g.: #

    He said, "'Quoted' words in a larger quote."

    s = double_quote_sets_re.sub("\x01\x03", s) s = single_quote_sets_re.sub("\x03\x01", s) # Special case for decade abbreviations (the '80s): s = decade_abbr_re.sub("\x04", s) s = opening_single_quotes_regex.sub("\\1\x03", s) s = closing_single_quotes_regex.sub("\\1\x04", s) s = closing_single_quotes_regex_2.sub("\\1\x04\\2", s) # Any remaining single quotes should be opening ones: s = s.replace("'", "\x03") s = opening_double_quotes_regex.sub("\\1\x01", s) s = closing_double_quotes_regex.sub("\x02", s) s = closing_double_quotes_regex_2.sub("\\1\x02", s) # Any remaining quotes should be opening ones. s = s.replace('"', "\x01") # Finally, replace all helpers with quotes. return s.replace("\x01", dquotes[0]).replace("\x02", dquotes[1]).\ replace("\x03", "`").replace("\x04", "'") def educate_backticks(s): """ Parameter: String. Returns: The string, with ``backticks'' -style double quotes translated into HTML curly quote entities. Example input: ``Isn't this fun?'' Example output: “Isn't this fun?” """ return s.replace("``", "“").replace("''", "”") def educate_single_backticks(s): """ Parameter: String. Returns: The string, with `backticks' -style single quotes translated into HTML curly quote entities. Example input: `Isn't this fun?' Example output: ‘Isn’t this fun?’ """ return s.replace('`', "‘").replace("'", "’") def educate_dashes_oldschool(s): """ Parameter: String. Returns: The string, with each instance of "--" translated to an en-dash HTML entity, and each "---" translated to an em-dash HTML entity. """ return s.replace('---', "—").replace('--', "–") def educate_dashes_oldschool_inverted(s): """ Parameter: String. Returns: The string, with each instance of "--" translated to an em-dash HTML entity, and each "---" translated to an en-dash HTML entity. Two reasons why: First, unlike the en- and em-dash syntax supported by educate_dashes_oldschool(), it's compatible with existing entries written before SmartyPants 1.1, back when "--" was only used for em-dashes. Second, em-dashes are more common than en-dashes, and so it sort of makes sense that the shortcut should be shorter to type. (Thanks to Aaron Swartz for the idea.) """ return s.replace('---', "–").replace('--', "—") def educate_ellipses(s): """ Parameter: String. Returns: The string, with each instance of "..." translated to an ellipsis HTML entity. Example input: Huh...? Example output: Huh…? """ return s.replace('...', "…").replace('. . .', "…") sphinx-1.2.2+dfsg.orig/sphinx/util/png.py0000644000000000000000000000322312304304673017027 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.png ~~~~~~~~~~~~~~~ PNG image manipulation helpers. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import struct import binascii from sphinx.util.pycompat import b LEN_IEND = 12 LEN_DEPTH = 22 DEPTH_CHUNK_LEN = struct.pack('!i', 10) DEPTH_CHUNK_START = b('tEXtDepth\x00') IEND_CHUNK = b('\x00\x00\x00\x00IEND\xAE\x42\x60\x82') def read_png_depth(filename): """Read the special tEXt chunk indicating the depth from a PNG file.""" result = None f = open(filename, 'rb') try: f.seek(- (LEN_IEND + LEN_DEPTH), 2) depthchunk = f.read(LEN_DEPTH) if not depthchunk.startswith(DEPTH_CHUNK_LEN + DEPTH_CHUNK_START): # either not a PNG file or not containing the depth chunk return None result = struct.unpack('!i', depthchunk[14:18])[0] finally: f.close() return result def write_png_depth(filename, depth): """Write the special tEXt chunk indicating the depth to a PNG file. The chunk is placed immediately before the special IEND chunk. """ data = struct.pack('!i', depth) f = open(filename, 'r+b') try: # seek to the beginning of the IEND chunk f.seek(-LEN_IEND, 2) # overwrite it with the depth chunk f.write(DEPTH_CHUNK_LEN + DEPTH_CHUNK_START + data) # calculate the checksum over chunk name and data crc = binascii.crc32(DEPTH_CHUNK_START + data) & 0xffffffff f.write(struct.pack('!I', crc)) # replace the IEND chunk f.write(IEND_CHUNK) finally: f.close() sphinx-1.2.2+dfsg.orig/sphinx/util/texescape.py0000644000000000000000000000543412304304673020232 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.texescape ~~~~~~~~~~~~~~~~~~~~~ TeX escaping helper. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ tex_replacements = [ # map TeX special chars (u'$', ur'\$'), (u'%', ur'\%'), (u'&', ur'\&'), (u'#', ur'\#'), (u'_', ur'\_'), (u'{', ur'\{'), (u'}', ur'\}'), (u'[', ur'{[}'), (u']', ur'{]}'), (u'`', ur'{}`'), (u'\\',ur'\textbackslash{}'), (u'~', ur'\textasciitilde{}'), (u'<', ur'\textless{}'), (u'>', ur'\textgreater{}'), (u'^', ur'\textasciicircum{}'), # map special Unicode characters to TeX commands (u'¶', ur'\P{}'), (u'§', ur'\S{}'), (u'€', ur'\texteuro{}'), (u'∞', ur'\(\infty\)'), (u'±', ur'\(\pm\)'), (u'→', ur'\(\rightarrow\)'), (u'‣', ur'\(\rightarrow\)'), # used to separate -- in options (u'', ur'{}'), # map some special Unicode characters to similar ASCII ones (u'─', ur'-'), (u'⎽', ur'\_'), (u'╲', ur'\textbackslash{}'), (u'|', ur'\textbar{}'), (u'│', ur'\textbar{}'), (u'ℯ', ur'e'), (u'ⅈ', ur'i'), (u'₁', ur'1'), (u'₂', ur'2'), # map Greek alphabet (u'α', ur'\(\alpha\)'), (u'β', ur'\(\beta\)'), (u'γ', ur'\(\gamma\)'), (u'δ', ur'\(\delta\)'), (u'ε', ur'\(\epsilon\)'), (u'ζ', ur'\(\zeta\)'), (u'η', ur'\(\eta\)'), (u'θ', ur'\(\theta\)'), (u'ι', ur'\(\iota\)'), (u'κ', ur'\(\kappa\)'), (u'λ', ur'\(\lambda\)'), (u'μ', ur'\(\mu\)'), (u'ν', ur'\(\nu\)'), (u'ξ', ur'\(\xi\)'), (u'ο', ur'o'), (u'π', ur'\(\pi\)'), (u'ρ', ur'\(\rho\)'), (u'σ', ur'\(\sigma\)'), (u'τ', ur'\(\tau\)'), (u'υ', u'\\(\\upsilon\\)'), (u'φ', ur'\(\phi\)'), (u'χ', ur'\(\chi\)'), (u'ψ', ur'\(\psi\)'), (u'ω', ur'\(\omega\)'), (u'Α', ur'A'), (u'Β', ur'B'), (u'Γ', ur'\(\Gamma\)'), (u'Δ', ur'\(\Delta\)'), (u'Ε', ur'E'), (u'Ζ', ur'Z'), (u'Η', ur'H'), (u'Θ', ur'\(\Theta\)'), (u'Ι', ur'I'), (u'Κ', ur'K'), (u'Λ', ur'\(\Lambda\)'), (u'Μ', ur'M'), (u'Ν', ur'N'), (u'Ξ', ur'\(\Xi\)'), (u'Ο', ur'O'), (u'Π', ur'\(\Pi\)'), (u'Ρ', ur'P'), (u'Σ', ur'\(\Sigma\)'), (u'Τ', ur'T'), (u'Υ', u'\\(\\Upsilon\\)'), (u'Φ', ur'\(\Phi\)'), (u'Χ', ur'X'), (u'Ψ', ur'\(\Psi\)'), (u'Ω', ur'\(\Omega\)'), (u'Ω', ur'\(\Omega\)'), ] tex_escape_map = {} tex_replace_map = {} tex_hl_escape_map_new = {} def init(): for a, b in tex_replacements: tex_escape_map[ord(a)] = b tex_replace_map[ord(a)] = u'_' for a, b in tex_replacements: if a in u'[]{}\\': continue tex_hl_escape_map_new[ord(a)] = b sphinx-1.2.2+dfsg.orig/sphinx/util/inspect.py0000644000000000000000000001215412304557741017721 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.inspect ~~~~~~~~~~~~~~~~~~~ Helpers for inspecting Python modules. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys # this imports the standard library inspect module without resorting to # relatively import this module inspect = __import__('inspect') from sphinx.util import force_decode from sphinx.util.pycompat import bytes, builtins if sys.version_info >= (3, 0): from functools import partial def getargspec(func): """Like inspect.getargspec but supports functools.partial as well.""" if inspect.ismethod(func): func = func.__func__ if type(func) is partial: orig_func = func.func argspec = getargspec(orig_func) args = list(argspec[0]) defaults = list(argspec[3] or ()) kwoargs = list(argspec[4]) kwodefs = dict(argspec[5] or {}) if func.args: args = args[len(func.args):] for arg in func.keywords or (): try: i = args.index(arg) - len(args) del args[i] try: del defaults[i] except IndexError: pass except ValueError: # must be a kwonly arg i = kwoargs.index(arg) del kwoargs[i] del kwodefs[arg] return inspect.FullArgSpec(args, argspec[1], argspec[2], tuple(defaults), kwoargs, kwodefs, argspec[6]) while hasattr(func, '__wrapped__'): func = func.__wrapped__ if not inspect.isfunction(func): raise TypeError('%r is not a Python function' % func) return inspect.getfullargspec(func) elif sys.version_info >= (2, 5): from functools import partial def getargspec(func): """Like inspect.getargspec but supports functools.partial as well.""" if inspect.ismethod(func): func = func.im_func parts = 0, () if type(func) is partial: keywords = func.keywords if keywords is None: keywords = {} parts = len(func.args), keywords.keys() func = func.func if not inspect.isfunction(func): raise TypeError('%r is not a Python function' % func) args, varargs, varkw = inspect.getargs(func.func_code) func_defaults = func.func_defaults if func_defaults is None: func_defaults = [] else: func_defaults = list(func_defaults) if parts[0]: args = args[parts[0]:] if parts[1]: for arg in parts[1]: i = args.index(arg) - len(args) del args[i] try: del func_defaults[i] except IndexError: pass if sys.version_info >= (2, 6): return inspect.ArgSpec(args, varargs, varkw, func_defaults) else: return (args, varargs, varkw, func_defaults) else: getargspec = inspect.getargspec def isdescriptor(x): """Check if the object is some kind of descriptor.""" for item in '__get__', '__set__', '__delete__': if hasattr(safe_getattr(x, item, None), '__call__'): return True return False def safe_getattr(obj, name, *defargs): """A getattr() that turns all exceptions into AttributeErrors.""" try: return getattr(obj, name, *defargs) except Exception: # this is a catch-all for all the weird things that some modules do # with attribute access if defargs: return defargs[0] raise AttributeError(name) def safe_getmembers(object, predicate=None, attr_getter=safe_getattr): """A version of inspect.getmembers() that uses safe_getattr().""" results = [] for key in dir(object): try: value = attr_getter(object, key, None) except AttributeError: continue if not predicate or predicate(value): results.append((key, value)) results.sort() return results def safe_repr(object): """A repr() implementation that returns text safe to use in reST context.""" try: s = repr(object) except Exception: raise ValueError if isinstance(s, bytes): return force_decode(s, None).replace('\n', ' ') return s.replace('\n', ' ') def is_builtin_class_method(obj, attr_name): """If attr_name is implemented at builtin class, return True. >>> is_builtin_class_method(int, '__init__') True Why this function needed? CPython implements int.__init__ by Descriptor but PyPy implements it by pure Python code. """ classes = [c for c in inspect.getmro(obj) if attr_name in c.__dict__] cls = classes[0] if classes else object if not hasattr(builtins, safe_getattr(cls, '__name__', '')): return False return getattr(builtins, safe_getattr(cls, '__name__', '')) is cls sphinx-1.2.2+dfsg.orig/sphinx/util/docstrings.py0000644000000000000000000000402712304557741020433 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.docstrings ~~~~~~~~~~~~~~~~~~~~~~ Utilities for docstring processing. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys def prepare_docstring(s, ignore=1): """Convert a docstring into lines of parseable reST. Remove common leading indentation, where the indentation of a given number of lines (usually just one) is ignored. Return the docstring as a list of lines usable for inserting into a docutils ViewList (used as argument of nested_parse().) An empty line is added to act as a separator between this docstring and following content. """ lines = s.expandtabs().splitlines() # Find minimum indentation of any non-blank lines after ignored lines. margin = sys.maxint for line in lines[ignore:]: content = len(line.lstrip()) if content: indent = len(line) - content margin = min(margin, indent) # Remove indentation from ignored lines. for i in range(ignore): if i < len(lines): lines[i] = lines[i].lstrip() if margin < sys.maxint: for i in range(ignore, len(lines)): lines[i] = lines[i][margin:] # Remove any leading blank lines. while lines and not lines[0]: lines.pop(0) # make sure there is an empty line at the end if lines and lines[-1]: lines.append('') return lines def prepare_commentdoc(s): """Extract documentation comment lines (starting with #:) and return them as a list of lines. Returns an empty list if there is no documentation. """ result = [] lines = [line.strip() for line in s.expandtabs().splitlines()] for line in lines: if line.startswith('#:'): line = line[2:] # the first space after the comment is ignored if line and line[0] == ' ': line = line[1:] result.append(line) if result and result[-1]: result.append('') return result sphinx-1.2.2+dfsg.orig/sphinx/util/console.py0000644000000000000000000000457612304304673017721 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.console ~~~~~~~~~~~~~~~~~~~ Format colored console output. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import re _ansi_re = re.compile('\x1b\\[(\\d\\d;){0,2}\\d\\dm') codes = {} def get_terminal_width(): """Borrowed from the py lib.""" try: import termios, fcntl, struct call = fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('hhhh', 0, 0, 0, 0)) height, width = struct.unpack('hhhh', call)[:2] terminal_width = width except (SystemExit, KeyboardInterrupt): raise except: # FALLBACK terminal_width = int(os.environ.get('COLUMNS', 80)) - 1 return terminal_width _tw = get_terminal_width() def term_width_line(text): if not codes: # if no coloring, don't output fancy backspaces return text + '\n' else: # codes are not displayed, this must be taken into account return text.ljust(_tw + len(text) - len(_ansi_re.sub('', text))) + '\r' def color_terminal(): if not hasattr(sys.stdout, 'isatty'): return False if not sys.stdout.isatty(): return False if 'COLORTERM' in os.environ: return True term = os.environ.get('TERM', 'dumb').lower() if term in ('xterm', 'linux') or 'color' in term: return True return False def nocolor(): codes.clear() def coloron(): codes.update(_orig_codes) def colorize(name, text): return codes.get(name, '') + text + codes.get('reset', '') def create_color_func(name): def inner(text): return colorize(name, text) globals()[name] = inner _attrs = { 'reset': '39;49;00m', 'bold': '01m', 'faint': '02m', 'standout': '03m', 'underline': '04m', 'blink': '05m', } for _name, _value in _attrs.items(): codes[_name] = '\x1b[' + _value _colors = [ ('black', 'darkgray'), ('darkred', 'red'), ('darkgreen', 'green'), ('brown', 'yellow'), ('darkblue', 'blue'), ('purple', 'fuchsia'), ('turquoise', 'teal'), ('lightgray', 'white'), ] for i, (dark, light) in enumerate(_colors): codes[dark] = '\x1b[%im' % (i+30) codes[light] = '\x1b[%i;01m' % (i+30) _orig_codes = codes.copy() for _name in codes: create_color_func(_name) sphinx-1.2.2+dfsg.orig/sphinx/util/docfields.py0000644000000000000000000002607512304557741020217 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.docfields ~~~~~~~~~~~~~~~~~~~~~ "Doc fields" are reST field lists in object descriptions that will be domain-specifically transformed to a more appealing presentation. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from sphinx import addnodes def _is_single_paragraph(node): """True if the node only contains one paragraph (and system messages).""" if len(node) == 0: return False elif len(node) > 1: for subnode in node[1:]: if not isinstance(subnode, nodes.system_message): return False if isinstance(node[0], nodes.paragraph): return True return False class Field(object): """ A doc field that is never grouped. It can have an argument or not, the argument can be linked using a specified *rolename*. Field should be used for doc fields that usually don't occur more than once. Example:: :returns: description of the return value :rtype: description of the return type """ is_grouped = False is_typed = False def __init__(self, name, names=(), label=None, has_arg=True, rolename=None): self.name = name self.names = names self.label = label self.has_arg = has_arg self.rolename = rolename def make_xref(self, rolename, domain, target, innernode=nodes.emphasis): if not rolename: return innernode(target, target) refnode = addnodes.pending_xref('', refdomain=domain, refexplicit=False, reftype=rolename, reftarget=target) refnode += innernode(target, target) return refnode def make_entry(self, fieldarg, content): return (fieldarg, content) def make_field(self, types, domain, item): fieldarg, content = item fieldname = nodes.field_name('', self.label) if fieldarg: fieldname += nodes.Text(' ') fieldname += self.make_xref(self.rolename, domain, fieldarg, nodes.Text) fieldbody = nodes.field_body('', nodes.paragraph('', '', *content)) return nodes.field('', fieldname, fieldbody) class GroupedField(Field): """ A doc field that is grouped; i.e., all fields of that type will be transformed into one field with its body being a bulleted list. It always has an argument. The argument can be linked using the given *rolename*. GroupedField should be used for doc fields that can occur more than once. If *can_collapse* is true, this field will revert to a Field if only used once. Example:: :raises ErrorClass: description when it is raised """ is_grouped = True list_type = nodes.bullet_list def __init__(self, name, names=(), label=None, rolename=None, can_collapse=False): Field.__init__(self, name, names, label, True, rolename) self.can_collapse = can_collapse def make_field(self, types, domain, items): fieldname = nodes.field_name('', self.label) listnode = self.list_type() if len(items) == 1 and self.can_collapse: return Field.make_field(self, types, domain, items[0]) for fieldarg, content in items: par = nodes.paragraph() par += self.make_xref(self.rolename, domain, fieldarg, nodes.strong) par += nodes.Text(' -- ') par += content listnode += nodes.list_item('', par) fieldbody = nodes.field_body('', listnode) return nodes.field('', fieldname, fieldbody) class TypedField(GroupedField): """ A doc field that is grouped and has type information for the arguments. It always has an argument. The argument can be linked using the given *rolename*, the type using the given *typerolename*. Two uses are possible: either parameter and type description are given separately, using a field from *names* and one from *typenames*, respectively, or both are given using a field from *names*, see the example. Example:: :param foo: description of parameter foo :type foo: SomeClass -- or -- :param SomeClass foo: description of parameter foo """ is_typed = True def __init__(self, name, names=(), typenames=(), label=None, rolename=None, typerolename=None, can_collapse=False): GroupedField.__init__(self, name, names, label, rolename, can_collapse) self.typenames = typenames self.typerolename = typerolename def make_field(self, types, domain, items): def handle_item(fieldarg, content): par = nodes.paragraph() par += self.make_xref(self.rolename, domain, fieldarg, nodes.strong) if fieldarg in types: par += nodes.Text(' (') # NOTE: using .pop() here to prevent a single type node to be # inserted twice into the doctree, which leads to # inconsistencies later when references are resolved fieldtype = types.pop(fieldarg) if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text): typename = u''.join(n.astext() for n in fieldtype) par += self.make_xref(self.typerolename, domain, typename) else: par += fieldtype par += nodes.Text(')') par += nodes.Text(' -- ') par += content return par fieldname = nodes.field_name('', self.label) if len(items) == 1 and self.can_collapse: fieldarg, content = items[0] bodynode = handle_item(fieldarg, content) else: bodynode = self.list_type() for fieldarg, content in items: bodynode += nodes.list_item('', handle_item(fieldarg, content)) fieldbody = nodes.field_body('', bodynode) return nodes.field('', fieldname, fieldbody) class DocFieldTransformer(object): """ Transforms field lists in "doc field" syntax into better-looking equivalents, using the field type definitions given on a domain. """ def __init__(self, directive): self.domain = directive.domain if '_doc_field_type_map' not in directive.__class__.__dict__: directive.__class__._doc_field_type_map = \ self.preprocess_fieldtypes(directive.__class__.doc_field_types) self.typemap = directive._doc_field_type_map def preprocess_fieldtypes(self, types): typemap = {} for fieldtype in types: for name in fieldtype.names: typemap[name] = fieldtype, False if fieldtype.is_typed: for name in fieldtype.typenames: typemap[name] = fieldtype, True return typemap def transform_all(self, node): """Transform all field list children of a node.""" # don't traverse, only handle field lists that are immediate children for child in node: if isinstance(child, nodes.field_list): self.transform(child) def transform(self, node): """Transform a single field list *node*.""" typemap = self.typemap entries = [] groupindices = {} types = {} # step 1: traverse all fields and collect field types and content for field in node: fieldname, fieldbody = field try: # split into field type and argument fieldtype, fieldarg = fieldname.astext().split(None, 1) except ValueError: # maybe an argument-less field type? fieldtype, fieldarg = fieldname.astext(), '' typedesc, is_typefield = typemap.get(fieldtype, (None, None)) # sort out unknown fields if typedesc is None or typedesc.has_arg != bool(fieldarg): # either the field name is unknown, or the argument doesn't # match the spec; capitalize field name and be done with it new_fieldname = fieldtype[0:1].upper() + fieldtype[1:] if fieldarg: new_fieldname += ' ' + fieldarg fieldname[0] = nodes.Text(new_fieldname) entries.append(field) continue typename = typedesc.name # collect the content, trying not to keep unnecessary paragraphs if _is_single_paragraph(fieldbody): content = fieldbody.children[0].children else: content = fieldbody.children # if the field specifies a type, put it in the types collection if is_typefield: # filter out only inline nodes; others will result in invalid # markup being written out content = filter( lambda n: isinstance(n, nodes.Inline) or isinstance(n, nodes.Text), content) if content: types.setdefault(typename, {})[fieldarg] = content continue # also support syntax like ``:param type name:`` if typedesc.is_typed: try: argtype, argname = fieldarg.split(None, 1) except ValueError: pass else: types.setdefault(typename, {})[argname] = \ [nodes.Text(argtype)] fieldarg = argname translatable_content = nodes.inline(fieldbody.rawsource, translatable=True) translatable_content.source = fieldbody.parent.source translatable_content.line = fieldbody.parent.line translatable_content += content # grouped entries need to be collected in one entry, while others # get one entry per field if typedesc.is_grouped: if typename in groupindices: group = entries[groupindices[typename]] else: groupindices[typename] = len(entries) group = [typedesc, []] entries.append(group) entry = typedesc.make_entry(fieldarg, [translatable_content]) group[1].append(entry) else: entry = typedesc.make_entry(fieldarg, [translatable_content]) entries.append([typedesc, entry]) # step 2: all entries are collected, construct the new field list new_list = nodes.field_list() for entry in entries: if isinstance(entry, nodes.field): # pass-through old field new_list += entry else: fieldtype, content = entry fieldtypes = types.get(fieldtype.name, {}) new_list += fieldtype.make_field(fieldtypes, self.domain, content) node.replace_self(new_list) sphinx-1.2.2+dfsg.orig/sphinx/util/stemmer.py0000644000000000000000000003010512304304557017717 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.stemmer ~~~~~~~~~~~~~~~~~~~ Porter Stemming Algorithm This is the Porter stemming algorithm, ported to Python from the version coded up in ANSI C by the author. It may be be regarded as canonical, in that it follows the algorithm presented in Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14, no. 3, pp 130-137, only differing from it at the points maked --DEPARTURE-- below. See also http://www.tartarus.org/~martin/PorterStemmer The algorithm as described in the paper could be exactly replicated by adjusting the points of DEPARTURE, but this is barely necessary, because (a) the points of DEPARTURE are definitely improvements, and (b) no encoding of the Porter stemmer I have seen is anything like as exact as this version, even with the points of DEPARTURE! Release 1: January 2001 :copyright: Copyright 2001 by Vivake Gupta . :license: Public Domain ("can be used free of charge for any purpose"). """ class PorterStemmer(object): def __init__(self): """The main part of the stemming algorithm starts here. b is a buffer holding a word to be stemmed. The letters are in b[k0], b[k0+1] ... ending at b[k]. In fact k0 = 0 in this demo program. k is readjusted downwards as the stemming progresses. Zero termination is not in fact used in the algorithm. Note that only lower case sequences are stemmed. Forcing to lower case should be done before stem(...) is called. """ self.b = "" # buffer for word to be stemmed self.k = 0 self.k0 = 0 self.j = 0 # j is a general offset into the string def cons(self, i): """cons(i) is TRUE <=> b[i] is a consonant.""" if self.b[i] == 'a' or self.b[i] == 'e' or self.b[i] == 'i' \ or self.b[i] == 'o' or self.b[i] == 'u': return 0 if self.b[i] == 'y': if i == self.k0: return 1 else: return (not self.cons(i - 1)) return 1 def m(self): """m() measures the number of consonant sequences between k0 and j. if c is a consonant sequence and v a vowel sequence, and <..> indicates arbitrary presence, gives 0 vc gives 1 vcvc gives 2 vcvcvc gives 3 .... """ n = 0 i = self.k0 while 1: if i > self.j: return n if not self.cons(i): break i = i + 1 i = i + 1 while 1: while 1: if i > self.j: return n if self.cons(i): break i = i + 1 i = i + 1 n = n + 1 while 1: if i > self.j: return n if not self.cons(i): break i = i + 1 i = i + 1 def vowelinstem(self): """vowelinstem() is TRUE <=> k0,...j contains a vowel""" for i in range(self.k0, self.j + 1): if not self.cons(i): return 1 return 0 def doublec(self, j): """doublec(j) is TRUE <=> j,(j-1) contain a double consonant.""" if j < (self.k0 + 1): return 0 if (self.b[j] != self.b[j-1]): return 0 return self.cons(j) def cvc(self, i): """cvc(i) is TRUE <=> i-2,i-1,i has the form consonant - vowel - consonant and also if the second c is not w,x or y. this is used when trying to restore an e at the end of a short e.g. cav(e), lov(e), hop(e), crim(e), but snow, box, tray. """ if i < (self.k0 + 2) or not self.cons(i) or self.cons(i-1) \ or not self.cons(i-2): return 0 ch = self.b[i] if ch == 'w' or ch == 'x' or ch == 'y': return 0 return 1 def ends(self, s): """ends(s) is TRUE <=> k0,...k ends with the string s.""" length = len(s) if s[length - 1] != self.b[self.k]: # tiny speed-up return 0 if length > (self.k - self.k0 + 1): return 0 if self.b[self.k-length+1:self.k+1] != s: return 0 self.j = self.k - length return 1 def setto(self, s): """setto(s) sets (j+1),...k to the characters in the string s, readjusting k.""" length = len(s) self.b = self.b[:self.j+1] + s + self.b[self.j+length+1:] self.k = self.j + length def r(self, s): """r(s) is used further down.""" if self.m() > 0: self.setto(s) def step1ab(self): """step1ab() gets rid of plurals and -ed or -ing. e.g. caresses -> caress ponies -> poni ties -> ti caress -> caress cats -> cat feed -> feed agreed -> agree disabled -> disable matting -> mat mating -> mate meeting -> meet milling -> mill messing -> mess meetings -> meet """ if self.b[self.k] == 's': if self.ends("sses"): self.k = self.k - 2 elif self.ends("ies"): self.setto("i") elif self.b[self.k - 1] != 's': self.k = self.k - 1 if self.ends("eed"): if self.m() > 0: self.k = self.k - 1 elif (self.ends("ed") or self.ends("ing")) and self.vowelinstem(): self.k = self.j if self.ends("at"): self.setto("ate") elif self.ends("bl"): self.setto("ble") elif self.ends("iz"): self.setto("ize") elif self.doublec(self.k): self.k = self.k - 1 ch = self.b[self.k] if ch == 'l' or ch == 's' or ch == 'z': self.k = self.k + 1 elif (self.m() == 1 and self.cvc(self.k)): self.setto("e") def step1c(self): """step1c() turns terminal y to i when there is another vowel in the stem.""" if (self.ends("y") and self.vowelinstem()): self.b = self.b[:self.k] + 'i' + self.b[self.k+1:] def step2(self): """step2() maps double suffices to single ones. so -ization ( = -ize plus -ation) maps to -ize etc. note that the string before the suffix must give m() > 0. """ if self.b[self.k - 1] == 'a': if self.ends("ational"): self.r("ate") elif self.ends("tional"): self.r("tion") elif self.b[self.k - 1] == 'c': if self.ends("enci"): self.r("ence") elif self.ends("anci"): self.r("ance") elif self.b[self.k - 1] == 'e': if self.ends("izer"): self.r("ize") elif self.b[self.k - 1] == 'l': if self.ends("bli"): self.r("ble") # --DEPARTURE-- # To match the published algorithm, replace this phrase with # if self.ends("abli"): self.r("able") elif self.ends("alli"): self.r("al") elif self.ends("entli"): self.r("ent") elif self.ends("eli"): self.r("e") elif self.ends("ousli"): self.r("ous") elif self.b[self.k - 1] == 'o': if self.ends("ization"): self.r("ize") elif self.ends("ation"): self.r("ate") elif self.ends("ator"): self.r("ate") elif self.b[self.k - 1] == 's': if self.ends("alism"): self.r("al") elif self.ends("iveness"): self.r("ive") elif self.ends("fulness"): self.r("ful") elif self.ends("ousness"): self.r("ous") elif self.b[self.k - 1] == 't': if self.ends("aliti"): self.r("al") elif self.ends("iviti"): self.r("ive") elif self.ends("biliti"): self.r("ble") elif self.b[self.k - 1] == 'g': # --DEPARTURE-- if self.ends("logi"): self.r("log") # To match the published algorithm, delete this phrase def step3(self): """step3() dels with -ic-, -full, -ness etc. similar strategy to step2.""" if self.b[self.k] == 'e': if self.ends("icate"): self.r("ic") elif self.ends("ative"): self.r("") elif self.ends("alize"): self.r("al") elif self.b[self.k] == 'i': if self.ends("iciti"): self.r("ic") elif self.b[self.k] == 'l': if self.ends("ical"): self.r("ic") elif self.ends("ful"): self.r("") elif self.b[self.k] == 's': if self.ends("ness"): self.r("") def step4(self): """step4() takes off -ant, -ence etc., in context vcvc.""" if self.b[self.k - 1] == 'a': if self.ends("al"): pass else: return elif self.b[self.k - 1] == 'c': if self.ends("ance"): pass elif self.ends("ence"): pass else: return elif self.b[self.k - 1] == 'e': if self.ends("er"): pass else: return elif self.b[self.k - 1] == 'i': if self.ends("ic"): pass else: return elif self.b[self.k - 1] == 'l': if self.ends("able"): pass elif self.ends("ible"): pass else: return elif self.b[self.k - 1] == 'n': if self.ends("ant"): pass elif self.ends("ement"): pass elif self.ends("ment"): pass elif self.ends("ent"): pass else: return elif self.b[self.k - 1] == 'o': if self.ends("ion") and (self.b[self.j] == 's' \ or self.b[self.j] == 't'): pass elif self.ends("ou"): pass # takes care of -ous else: return elif self.b[self.k - 1] == 's': if self.ends("ism"): pass else: return elif self.b[self.k - 1] == 't': if self.ends("ate"): pass elif self.ends("iti"): pass else: return elif self.b[self.k - 1] == 'u': if self.ends("ous"): pass else: return elif self.b[self.k - 1] == 'v': if self.ends("ive"): pass else: return elif self.b[self.k - 1] == 'z': if self.ends("ize"): pass else: return else: return if self.m() > 1: self.k = self.j def step5(self): """step5() removes a final -e if m() > 1, and changes -ll to -l if m() > 1. """ self.j = self.k if self.b[self.k] == 'e': a = self.m() if a > 1 or (a == 1 and not self.cvc(self.k-1)): self.k = self.k - 1 if self.b[self.k] == 'l' and self.doublec(self.k) and self.m() > 1: self.k = self.k -1 def stem(self, p, i, j): """In stem(p,i,j), p is a char pointer, and the string to be stemmed is from p[i] to p[j] inclusive. Typically i is zero and j is the offset to the last character of a string, (p[j+1] == '\0'). The stemmer adjusts the characters p[i] ... p[j] and returns the new end-point of the string, k. Stemming never increases word length, so i <= k <= j. To turn the stemmer into a module, declare 'stem' as extern, and delete the remainder of this file. """ # copy the parameters into statics self.b = p self.k = j self.k0 = i if self.k <= self.k0 + 1: return self.b # --DEPARTURE-- # With this line, strings of length 1 or 2 don't go through the # stemming process, although no mention is made of this in the # published algorithm. Remove the line to match the published # algorithm. self.step1ab() self.step1c() self.step2() self.step3() self.step4() self.step5() return self.b[self.k0:self.k+1] sphinx-1.2.2+dfsg.orig/sphinx/util/tags.py0000644000000000000000000000547412304304673017213 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.tags ~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import warnings # jinja2.sandbox imports the sets module on purpose warnings.filterwarnings('ignore', 'the sets module', DeprecationWarning, module='jinja2.sandbox') # (ab)use the Jinja parser for parsing our boolean expressions from jinja2 import nodes from jinja2.parser import Parser from jinja2.environment import Environment env = Environment() class BooleanParser(Parser): """ Only allow condition exprs and/or/not operations. """ def parse_compare(self): token = self.stream.current if token.type == 'name': if token.value in ('true', 'false', 'True', 'False'): node = nodes.Const(token.value in ('true', 'True'), lineno=token.lineno) elif token.value in ('none', 'None'): node = nodes.Const(None, lineno=token.lineno) else: node = nodes.Name(token.value, 'load', lineno=token.lineno) self.stream.next() elif token.type == 'lparen': self.stream.next() node = self.parse_expression() self.stream.expect('rparen') else: self.fail("unexpected token '%s'" % (token,), token.lineno) return node class Tags(object): def __init__(self, tags=None): self.tags = dict.fromkeys(tags or [], True) def has(self, tag): return tag in self.tags __contains__ = has def __iter__(self): return iter(self.tags) def add(self, tag): self.tags[tag] = True def remove(self, tag): self.tags.pop(tag, None) def eval_condition(self, condition): # exceptions are handled by the caller parser = BooleanParser(env, condition, state='variable') expr = parser.parse_expression() if not parser.stream.eos: raise ValueError('chunk after expression') def eval_node(node): if isinstance(node, nodes.CondExpr): if eval_node(node.test): return eval_node(node.expr1) else: return eval_node(node.expr2) elif isinstance(node, nodes.And): return eval_node(node.left) and eval_node(node.right) elif isinstance(node, nodes.Or): return eval_node(node.left) or eval_node(node.right) elif isinstance(node, nodes.Not): return not eval_node(node.node) elif isinstance(node, nodes.Name): return self.tags.get(node.name, False) else: raise ValueError('invalid node, check parsing') return eval_node(expr) sphinx-1.2.2+dfsg.orig/sphinx/util/pycompat.py0000644000000000000000000002146412304557741020114 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.pycompat ~~~~~~~~~~~~~~~~~~~~ Stuff for Python version compatibility. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import codecs import encodings # ------------------------------------------------------------------------------ # Python 2/3 compatibility if sys.version_info >= (3, 0): # Python 3 class_types = (type,) # the ubiquitous "bytes" helper functions def b(s): return s.encode('utf-8') bytes = bytes # prefix for Unicode strings u = '' # StringIO/BytesIO classes from io import StringIO, BytesIO, TextIOWrapper # safely encode a string for printing to the terminal def terminal_safe(s): return s.encode('ascii', 'backslashreplace').decode('ascii') # some kind of default system encoding; should be used with a lenient # error handler sys_encoding = sys.getdefaultencoding() # support for running 2to3 over config files def convert_with_2to3(filepath): from lib2to3.refactor import RefactoringTool, get_fixers_from_package from lib2to3.pgen2.parse import ParseError fixers = get_fixers_from_package('lib2to3.fixes') refactoring_tool = RefactoringTool(fixers) source = refactoring_tool._read_python_source(filepath)[0] try: tree = refactoring_tool.refactor_string(source, 'conf.py') except ParseError, err: # do not propagate lib2to3 exceptions lineno, offset = err.context[1] # try to match ParseError details with SyntaxError details raise SyntaxError(err.msg, (filepath, lineno, offset, err.value)) return unicode(tree) from itertools import zip_longest # Python 3 name import builtins else: # Python 2 from types import ClassType class_types = (type, ClassType) b = str bytes = str u = 'u' from StringIO import StringIO BytesIO = StringIO # no need to refactor on 2.x versions convert_with_2to3 = None def TextIOWrapper(stream, encoding): return codecs.lookup(encoding or 'ascii')[2](stream) # safely encode a string for printing to the terminal def terminal_safe(s): return s.encode('ascii', 'backslashreplace') # some kind of default system encoding; should be used with a lenient # error handler import locale sys_encoding = locale.getpreferredencoding() # use Python 3 name from itertools import izip_longest as zip_longest import __builtin__ as builtins def execfile_(filepath, _globals): from sphinx.util.osutil import fs_encoding # get config source -- 'b' is a no-op under 2.x, while 'U' is # ignored under 3.x (but 3.x compile() accepts \r\n newlines) f = open(filepath, 'rbU') try: source = f.read() finally: f.close() # py25,py26,py31 accept only LF eol instead of CRLF if sys.version_info[:2] in ((2, 5), (2, 6), (3, 1)): source = source.replace(b('\r\n'), b('\n')) # compile to a code object, handle syntax errors filepath_enc = filepath.encode(fs_encoding) try: code = compile(source, filepath_enc, 'exec') except SyntaxError: if convert_with_2to3: # maybe the file uses 2.x syntax; try to refactor to # 3.x syntax using 2to3 source = convert_with_2to3(filepath) code = compile(source, filepath_enc, 'exec') else: raise exec code in _globals try: from html import escape as htmlescape except ImportError: from cgi import escape as htmlescape # ------------------------------------------------------------------------------ # Missing builtins and itertools in Python < 2.6 if sys.version_info >= (2, 6): # Python >= 2.6 next = next from itertools import product try: from itertools import zip_longest # Python 3 name except ImportError: from itertools import izip_longest as zip_longest import os relpath = os.path.relpath del os import io open = io.open else: # Python < 2.6 from itertools import izip, repeat, chain # this is on Python 2, where the method is called "next" (it is refactored # to __next__ by 2to3, but in that case never executed) def next(iterator): return iterator.next() # These replacement functions have been taken from the Python 2.6 # itertools documentation. def product(*args, **kwargs): pools = map(tuple, args) * kwargs.get('repeat', 1) result = [[]] for pool in pools: result = [x + [y] for x in result for y in pool] for prod in result: yield tuple(prod) def zip_longest(*args, **kwds): # zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D- fillvalue = kwds.get('fillvalue') def sentinel(counter = ([fillvalue]*(len(args)-1)).pop): yield counter() # yields the fillvalue, or raises IndexError fillers = repeat(fillvalue) iters = [chain(it, sentinel(), fillers) for it in args] try: for tup in izip(*iters): yield tup except IndexError: pass from os.path import curdir def relpath(path, start=curdir): """Return a relative version of a path""" from os.path import sep, abspath, commonprefix, join, pardir if not path: raise ValueError("no path specified") start_list = abspath(start).split(sep) path_list = abspath(path).split(sep) # Work out how much of the filepath is shared by start and path. i = len(commonprefix([start_list, path_list])) rel_list = [pardir] * (len(start_list)-i) + path_list[i:] if not rel_list: return start return join(*rel_list) del curdir from types import MethodType def open(filename, mode='r', *args, **kw): newline = kw.pop('newline', None) mode = mode.replace('t', '') f = codecs.open(filename, mode, *args, **kw) if newline is not None: f._write = f.write def write(self, text): text = text.replace(u'\r\n', u'\n').replace(u'\n', newline) self._write(text) f.write = MethodType(write, f) return f # ------------------------------------------------------------------------------ # Missing builtins and codecs in Python < 2.5 if sys.version_info >= (2, 5): # Python >= 2.5 base_exception = BaseException any = any all = all else: # Python 2.4 base_exception = Exception def all(gen): for i in gen: if not i: return False return True def any(gen): for i in gen: if i: return True return False # Python 2.4 doesn't know the utf-8-sig encoding, so deliver it here def my_search_function(encoding): norm_encoding = encodings.normalize_encoding(encoding) if norm_encoding != 'utf_8_sig': return None return (encode, decode, StreamReader, StreamWriter) codecs.register(my_search_function) # begin code copied from utf_8_sig.py in Python 2.6 def encode(input, errors='strict'): return (codecs.BOM_UTF8 + codecs.utf_8_encode(input, errors)[0], len(input)) def decode(input, errors='strict'): prefix = 0 if input[:3] == codecs.BOM_UTF8: input = input[3:] prefix = 3 (output, consumed) = codecs.utf_8_decode(input, errors, True) return (output, consumed+prefix) class StreamWriter(codecs.StreamWriter): def reset(self): codecs.StreamWriter.reset(self) try: del self.encode except AttributeError: pass def encode(self, input, errors='strict'): self.encode = codecs.utf_8_encode return encode(input, errors) class StreamReader(codecs.StreamReader): def reset(self): codecs.StreamReader.reset(self) try: del self.decode except AttributeError: pass def decode(self, input, errors='strict'): if len(input) < 3: if codecs.BOM_UTF8.startswith(input): # not enough data to decide if this is a BOM # => try again on the next call return (u"", 0) elif input[:3] == codecs.BOM_UTF8: self.decode = codecs.utf_8_decode (output, consumed) = codecs.utf_8_decode(input[3:],errors) return (output, consumed+3) # (else) no BOM present self.decode = codecs.utf_8_decode return codecs.utf_8_decode(input, errors) # end code copied from utf_8_sig.py sphinx-1.2.2+dfsg.orig/sphinx/util/osutil.py0000644000000000000000000001226612304557741017577 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.osutil ~~~~~~~~~~~~~~~~~~ Operating system-related utility functions for Sphinx. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys import time import errno import locale import shutil import gettext from os import path # Errnos that we need. EEXIST = getattr(errno, 'EEXIST', 0) ENOENT = getattr(errno, 'ENOENT', 0) EPIPE = getattr(errno, 'EPIPE', 0) EINVAL = getattr(errno, 'EINVAL', 0) # SEP separates path elements in the canonical file names # # Define SEP as a manifest constant, not so much because we expect it to change # in the future as to avoid the suspicion that a stray "/" in the code is a # hangover from more *nix-oriented origins. SEP = "/" def os_path(canonicalpath): return canonicalpath.replace(SEP, path.sep) def relative_uri(base, to): """Return a relative URL from ``base`` to ``to``.""" if to.startswith(SEP): return to b2 = base.split(SEP) t2 = to.split(SEP) # remove common segments (except the last segment) for x, y in zip(b2[:-1], t2[:-1]): if x != y: break b2.pop(0) t2.pop(0) if b2 == t2: # Special case: relative_uri('f/index.html','f/index.html') # returns '', not 'index.html' return '' if len(b2) == 1 and t2 == ['']: # Special case: relative_uri('f/index.html','f/') should # return './', not '' return '.' + SEP return ('..' + SEP) * (len(b2)-1) + SEP.join(t2) def ensuredir(path): """Ensure that a path exists.""" try: os.makedirs(path) except OSError, err: # 0 for Jython/Win32 if err.errno not in [0, EEXIST]: raise def walk(top, topdown=True, followlinks=False): """Backport of os.walk from 2.6, where the *followlinks* argument was added. """ names = os.listdir(top) dirs, nondirs = [], [] for name in names: try: fullpath = path.join(top, name) except UnicodeError: print >>sys.stderr, ( '%s:: ERROR: non-ASCII filename not supported on this ' 'filesystem encoding %r, skipped.' % (name, fs_encoding)) continue if path.isdir(fullpath): dirs.append(name) else: nondirs.append(name) if topdown: yield top, dirs, nondirs for name in dirs: fullpath = path.join(top, name) if followlinks or not path.islink(fullpath): for x in walk(fullpath, topdown, followlinks): yield x if not topdown: yield top, dirs, nondirs def mtimes_of_files(dirnames, suffix): for dirname in dirnames: for root, dirs, files in os.walk(dirname): for sfile in files: if sfile.endswith(suffix): try: yield path.getmtime(path.join(root, sfile)) except EnvironmentError: pass def movefile(source, dest): """Move a file, removing the destination if it exists.""" if os.path.exists(dest): try: os.unlink(dest) except OSError: pass os.rename(source, dest) def copytimes(source, dest): """Copy a file's modification times.""" st = os.stat(source) if hasattr(os, 'utime'): os.utime(dest, (st.st_atime, st.st_mtime)) def copyfile(source, dest): """Copy a file and its modification times, if possible.""" shutil.copyfile(source, dest) try: # don't do full copystat because the source may be read-only copytimes(source, dest) except OSError: pass no_fn_re = re.compile(r'[^a-zA-Z0-9_-]') def make_filename(string): return no_fn_re.sub('', string) or 'sphinx' if sys.version_info < (3, 0): # strftime for unicode strings def ustrftime(format, *args): # if a locale is set, the time strings are encoded in the encoding # given by LC_TIME; if that is available, use it enc = locale.getlocale(locale.LC_TIME)[1] or 'utf-8' return time.strftime(unicode(format).encode(enc), *args).decode(enc) else: ustrftime = time.strftime def safe_relpath(path, start=None): from sphinx.util.pycompat import relpath try: return relpath(path, start) except ValueError: return path def find_catalog(docname, compaction): if compaction: ret = docname.split(SEP, 1)[0] else: ret = docname return ret def find_catalog_files(docname, srcdir, locale_dirs, lang, compaction): from sphinx.util.pycompat import relpath if not(lang and locale_dirs): return [] domain = find_catalog(docname, compaction) files = [gettext.find(domain, path.join(srcdir, dir_), [lang]) for dir_ in locale_dirs] files = [relpath(f, srcdir) for f in files if f] return files fs_encoding = sys.getfilesystemencoding() or sys.getdefaultencoding() if sys.version_info < (3, 0): bytes = str else: bytes = bytes def abspath(pathdir): pathdir = path.abspath(pathdir) if isinstance(pathdir, bytes): pathdir = pathdir.decode(fs_encoding) return pathdir sphinx-1.2.2+dfsg.orig/sphinx/util/__init__.py0000644000000000000000000003322412304557741020014 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util ~~~~~~~~~~~ Utility functions for Sphinx. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys import shutil import fnmatch import tempfile import posixpath import traceback import unicodedata from os import path from codecs import open, BOM_UTF8 from collections import deque import docutils from docutils.utils import relative_path import jinja2 import sphinx from sphinx.errors import PycodeError from sphinx.util.pycompat import bytes # import other utilities; partly for backwards compatibility, so don't # prune unused ones indiscriminately from sphinx.util.osutil import SEP, os_path, relative_uri, ensuredir, walk, \ mtimes_of_files, movefile, copyfile, copytimes, make_filename, ustrftime from sphinx.util.nodes import nested_parse_with_titles, split_explicit_title, \ explicit_title_re, caption_ref_re from sphinx.util.matching import patfilter # Generally useful regular expressions. ws_re = re.compile(r'\s+') url_re = re.compile(r'(?P.+)://.*') # High-level utility functions. def docname_join(basedocname, docname): return posixpath.normpath( posixpath.join('/' + basedocname, '..', docname))[1:] def path_stabilize(filepath): "normalize path separater and unicode string" newpath = filepath.replace(os.path.sep, SEP) if isinstance(newpath, unicode): newpath = unicodedata.normalize('NFC', newpath) return newpath def get_matching_files(dirname, exclude_matchers=()): """Get all file names in a directory, recursively. Exclude files and dirs matching some matcher in *exclude_matchers*. """ # dirname is a normalized absolute path. dirname = path.normpath(path.abspath(dirname)) dirlen = len(dirname) + 1 # exclude final os.path.sep for root, dirs, files in walk(dirname, followlinks=True): relativeroot = root[dirlen:] qdirs = enumerate(path_stabilize(path.join(relativeroot, dn)) for dn in dirs) qfiles = enumerate(path_stabilize(path.join(relativeroot, fn)) for fn in files) for matcher in exclude_matchers: qdirs = [entry for entry in qdirs if not matcher(entry[1])] qfiles = [entry for entry in qfiles if not matcher(entry[1])] dirs[:] = sorted(dirs[i] for (i, _) in qdirs) for i, filename in sorted(qfiles): yield filename def get_matching_docs(dirname, suffix, exclude_matchers=()): """Get all file names (without suffix) matching a suffix in a directory, recursively. Exclude files and dirs matching a pattern in *exclude_patterns*. """ suffixpattern = '*' + suffix for filename in get_matching_files(dirname, exclude_matchers): if not fnmatch.fnmatch(filename, suffixpattern): continue yield filename[:-len(suffix)] class FilenameUniqDict(dict): """ A dictionary that automatically generates unique names for its keys, interpreted as filenames, and keeps track of a set of docnames they appear in. Used for images and downloadable files in the environment. """ def __init__(self): self._existing = set() def add_file(self, docname, newfile): if newfile in self: self[newfile][0].add(docname) return self[newfile][1] uniquename = path.basename(newfile) base, ext = path.splitext(uniquename) i = 0 while uniquename in self._existing: i += 1 uniquename = '%s%s%s' % (base, i, ext) self[newfile] = (set([docname]), uniquename) self._existing.add(uniquename) return uniquename def purge_doc(self, docname): for filename, (docs, unique) in self.items(): docs.discard(docname) if not docs: del self[filename] self._existing.discard(unique) def __getstate__(self): return self._existing def __setstate__(self, state): self._existing = state def copy_static_entry(source, targetdir, builder, context={}, exclude_matchers=(), level=0): """Copy a HTML builder static_path entry from source to targetdir. Handles all possible cases of files, directories and subdirectories. """ if exclude_matchers: relpath = relative_path(path.join(builder.srcdir, 'dummy'), source) for matcher in exclude_matchers: if matcher(relpath): return if path.isfile(source): target = path.join(targetdir, path.basename(source)) if source.lower().endswith('_t') and builder.templates: # templated! fsrc = open(source, 'r', encoding='utf-8') fdst = open(target[:-2], 'w', encoding='utf-8') fdst.write(builder.templates.render_string(fsrc.read(), context)) fsrc.close() fdst.close() else: copyfile(source, target) elif path.isdir(source): if not path.isdir(targetdir): os.mkdir(targetdir) for entry in os.listdir(source): if entry.startswith('.'): continue newtarget = targetdir if path.isdir(path.join(source, entry)): newtarget = path.join(targetdir, entry) copy_static_entry(path.join(source, entry), newtarget, builder, context, level=level+1, exclude_matchers=exclude_matchers) _DEBUG_HEADER = '''\ # Sphinx version: %s # Python version: %s # Docutils version: %s %s # Jinja2 version: %s # Loaded extensions: ''' def save_traceback(app): """Save the current exception's traceback in a temporary file.""" import platform exc = traceback.format_exc() fd, path = tempfile.mkstemp('.log', 'sphinx-err-') os.write(fd, (_DEBUG_HEADER % (sphinx.__version__, platform.python_version(), docutils.__version__, docutils.__version_details__, jinja2.__version__)).encode('utf-8')) if app is not None: for extname, extmod in app._extensions.iteritems(): os.write(fd, ('# %s from %s\n' % ( extname, getattr(extmod, '__file__', 'unknown')) ).encode('utf-8')) os.write(fd, exc.encode('utf-8')) os.close(fd) return path def get_module_source(modname): """Try to find the source code for a module. Can return ('file', 'filename') in which case the source is in the given file, or ('string', 'source') which which case the source is the string. """ if modname not in sys.modules: try: __import__(modname) except Exception, err: raise PycodeError('error importing %r' % modname, err) mod = sys.modules[modname] filename = getattr(mod, '__file__', None) loader = getattr(mod, '__loader__', None) if loader and getattr(loader, 'get_filename', None): try: filename = loader.get_filename(modname) except Exception, err: raise PycodeError('error getting filename for %r' % filename, err) if filename is None and loader: try: return 'string', loader.get_source(modname) except Exception, err: raise PycodeError('error getting source for %r' % modname, err) if filename is None: raise PycodeError('no source found for module %r' % modname) filename = path.normpath(path.abspath(filename)) lfilename = filename.lower() if lfilename.endswith('.pyo') or lfilename.endswith('.pyc'): filename = filename[:-1] if not path.isfile(filename) and path.isfile(filename + 'w'): filename += 'w' elif not (lfilename.endswith('.py') or lfilename.endswith('.pyw')): raise PycodeError('source is not a .py file: %r' % filename) if not path.isfile(filename): raise PycodeError('source file is not present: %r' % filename) return 'file', filename # a regex to recognize coding cookies _coding_re = re.compile(r'coding[:=]\s*([-\w.]+)') def detect_encoding(readline): """Like tokenize.detect_encoding() from Py3k, but a bit simplified.""" def read_or_stop(): try: return readline() except StopIteration: return None def get_normal_name(orig_enc): """Imitates get_normal_name in tokenizer.c.""" # Only care about the first 12 characters. enc = orig_enc[:12].lower().replace('_', '-') if enc == 'utf-8' or enc.startswith('utf-8-'): return 'utf-8' if enc in ('latin-1', 'iso-8859-1', 'iso-latin-1') or \ enc.startswith(('latin-1-', 'iso-8859-1-', 'iso-latin-1-')): return 'iso-8859-1' return orig_enc def find_cookie(line): try: line_string = line.decode('ascii') except UnicodeDecodeError: return None matches = _coding_re.findall(line_string) if not matches: return None return get_normal_name(matches[0]) default = sys.getdefaultencoding() first = read_or_stop() if first and first.startswith(BOM_UTF8): first = first[3:] default = 'utf-8-sig' if not first: return default encoding = find_cookie(first) if encoding: return encoding second = read_or_stop() if not second: return default encoding = find_cookie(second) if encoding: return encoding return default # Low-level utility functions and classes. class Tee(object): """ File-like object writing to two streams. """ def __init__(self, stream1, stream2): self.stream1 = stream1 self.stream2 = stream2 def write(self, text): self.stream1.write(text) self.stream2.write(text) def flush(self): if hasattr(self.stream1, 'flush'): self.stream1.flush() if hasattr(self.stream2, 'flush'): self.stream2.flush() def parselinenos(spec, total): """Parse a line number spec (such as "1,2,4-6") and return a list of wanted line numbers. """ items = list() parts = spec.split(',') for part in parts: try: begend = part.strip().split('-') if len(begend) > 2: raise ValueError if len(begend) == 1: items.append(int(begend[0])-1) else: start = (begend[0] == '') and 0 or int(begend[0])-1 end = (begend[1] == '') and total or int(begend[1]) items.extend(xrange(start, end)) except Exception: raise ValueError('invalid line number spec: %r' % spec) return items def force_decode(string, encoding): """Forcibly get a unicode string out of a bytestring.""" if isinstance(string, bytes): try: if encoding: string = string.decode(encoding) else: # try decoding with utf-8, should only work for real UTF-8 string = string.decode('utf-8') except UnicodeError: # last resort -- can't fail string = string.decode('latin1') return string class attrdict(dict): def __getattr__(self, key): return self[key] def __setattr__(self, key, val): self[key] = val def __delattr__(self, key): del self[key] def rpartition(s, t): """Similar to str.rpartition from 2.5, but doesn't return the separator.""" i = s.rfind(t) if i != -1: return s[:i], s[i+len(t):] return '', s def split_into(n, type, value): """Split an index entry into a given number of parts at semicolons.""" parts = map(lambda x: x.strip(), value.split(';', n-1)) if sum(1 for part in parts if part) < n: raise ValueError('invalid %s index entry %r' % (type, value)) return parts def split_index_msg(type, value): # new entry types must be listed in directives/other.py! result = [] try: if type == 'single': try: result = split_into(2, 'single', value) except ValueError: result = split_into(1, 'single', value) elif type == 'pair': result = split_into(2, 'pair', value) elif type == 'triple': result = split_into(3, 'triple', value) elif type == 'see': result = split_into(2, 'see', value) elif type == 'seealso': result = split_into(2, 'see', value) except ValueError: pass return result def format_exception_cut_frames(x=1): """Format an exception with traceback, but only the last x frames.""" typ, val, tb = sys.exc_info() #res = ['Traceback (most recent call last):\n'] res = [] tbres = traceback.format_tb(tb) res += tbres[-x:] res += traceback.format_exception_only(typ, val) return ''.join(res) class PeekableIterator(object): """ An iterator which wraps any iterable and makes it possible to peek to see what's the next item. """ def __init__(self, iterable): self.remaining = deque() self._iterator = iter(iterable) def __iter__(self): return self def next(self): """Return the next item from the iterator.""" if self.remaining: return self.remaining.popleft() return self._iterator.next() def push(self, item): """Push the `item` on the internal stack, it will be returned on the next :meth:`next` call. """ self.remaining.append(item) def peek(self): """Return the next item without changing the state of the iterator.""" item = self.next() self.push(item) return item sphinx-1.2.2+dfsg.orig/sphinx/util/jsonimpl.py0000644000000000000000000000236412304557741020111 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.jsonimpl ~~~~~~~~~~~~~~~~~~~~ JSON serializer implementation wrapper. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import UserString try: import json # json-py's json module has no JSONEncoder; this will raise AttributeError # if json-py is imported instead of the built-in json module JSONEncoder = json.JSONEncoder except (ImportError, AttributeError): try: import simplejson as json JSONEncoder = json.JSONEncoder except ImportError: json = None JSONEncoder = object class SphinxJSONEncoder(JSONEncoder): """JSONEncoder subclass that forces translation proxies.""" def default(self, obj): if isinstance(obj, UserString.UserString): return unicode(obj) return JSONEncoder.default(self, obj) def dump(obj, fp, *args, **kwds): kwds['cls'] = SphinxJSONEncoder return json.dump(obj, fp, *args, **kwds) def dumps(obj, *args, **kwds): kwds['cls'] = SphinxJSONEncoder return json.dumps(obj, *args, **kwds) def load(*args, **kwds): return json.load(*args, **kwds) def loads(*args, **kwds): return json.loads(*args, **kwds) sphinx-1.2.2+dfsg.orig/sphinx/util/compat.py0000644000000000000000000000255212304304673017532 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.compat ~~~~~~~~~~~~~~~~~~ Stuff for docutils compatibility. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from docutils import nodes from docutils import __version__ as _du_version docutils_version = tuple(int(x) for x in _du_version.split('.')[:2]) def make_admonition(node_class, name, arguments, options, content, lineno, content_offset, block_text, state, state_machine): #if not content: # error = state_machine.reporter.error( # 'The "%s" admonition is empty; content required.' % (name), # nodes.literal_block(block_text, block_text), line=lineno) # return [error] text = '\n'.join(content) admonition_node = node_class(text) if arguments: title_text = arguments[0] textnodes, messages = state.inline_text(title_text, lineno) admonition_node += nodes.title(title_text, '', *textnodes) admonition_node += messages if 'class' in options: classes = options['class'] else: classes = ['admonition-' + nodes.make_id(title_text)] admonition_node['classes'] += classes state.nested_parse(content, content_offset, admonition_node) return [admonition_node] from docutils.parsers.rst import Directive sphinx-1.2.2+dfsg.orig/sphinx/util/nodes.py0000644000000000000000000002036512304560064017357 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.util.nodes ~~~~~~~~~~~~~~~~~ Docutils node-related utility functions for Sphinx. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import sys from docutils import nodes from sphinx import addnodes from sphinx.locale import pairindextypes class WarningStream(object): def __init__(self, warnfunc): self.warnfunc = warnfunc self._re = re.compile(r'\((DEBUG|INFO|WARNING|ERROR|SEVERE)/[0-4]\)') def write(self, text): text = text.strip() if text: self.warnfunc(self._re.sub(r'\1:', text), None, '') # \x00 means the "<" was backslash-escaped explicit_title_re = re.compile(r'^(.+?)\s*(?$', re.DOTALL) caption_ref_re = explicit_title_re # b/w compat alias IGNORED_NODES = ( nodes.Invisible, nodes.Inline, nodes.literal_block, nodes.doctest_block, #XXX there are probably more ) def extract_messages(doctree): """Extract translatable messages from a document tree.""" for node in doctree.traverse(nodes.TextElement): # workaround: nodes.term doesn't have source, line and rawsource # (fixed in Docutils r7495) if isinstance(node, nodes.term) and not node.source: definition_list_item = node.parent if definition_list_item.line is not None: node.source = definition_list_item.source node.line = definition_list_item.line - 1 node.rawsource = definition_list_item.\ rawsource.split("\n", 2)[0] # workaround: docutils-0.10.0 or older's nodes.caption for nodes.figure # and nodes.title for nodes.admonition doesn't have source, line. # this issue was filed to Docutils tracker: # sf.net/tracker/?func=detail&aid=3599485&group_id=38414&atid=422032 # sourceforge.net/p/docutils/patches/108/ if isinstance(node, (nodes.caption, nodes.title, nodes.rubric)) \ and not node.source: node.source = find_source_node(node) node.line = 0 #need fix docutils to get `node.line` if not node.source: continue # built-in message if isinstance(node, IGNORED_NODES) and 'translatable' not in node: continue # orphan # XXX ignore all metadata (== docinfo) if isinstance(node, nodes.field_name) and node.children[0] == 'orphan': continue msg = node.rawsource.replace('\n', ' ').strip() # XXX nodes rendering empty are likely a bug in sphinx.addnodes if msg: yield node, msg def find_source_node(node): for pnode in traverse_parent(node): if pnode.source: return pnode.source def traverse_parent(node): while node: yield node node = node.parent def traverse_translatable_index(doctree): """Traverse translatable index node from a document tree.""" def is_block_index(node): return isinstance(node, addnodes.index) and \ node.get('inline') == False for node in doctree.traverse(is_block_index): if 'raw_entries' in node: entries = node['raw_entries'] else: entries = node['entries'] yield node, entries def nested_parse_with_titles(state, content, node): """Version of state.nested_parse() that allows titles and does not require titles to have the same decoration as the calling document. This is useful when the parsed content comes from a completely different context, such as docstrings. """ # hack around title style bookkeeping surrounding_title_styles = state.memo.title_styles surrounding_section_level = state.memo.section_level state.memo.title_styles = [] state.memo.section_level = 0 try: return state.nested_parse(content, 0, node, match_titles=1) finally: state.memo.title_styles = surrounding_title_styles state.memo.section_level = surrounding_section_level def clean_astext(node): """Like node.astext(), but ignore images.""" node = node.deepcopy() for img in node.traverse(nodes.image): img['alt'] = '' return node.astext() def split_explicit_title(text): """Split role content into title and target, if given.""" match = explicit_title_re.match(text) if match: return True, match.group(1), match.group(2) return False, text, text indextypes = [ 'single', 'pair', 'double', 'triple', 'see', 'seealso', ] def process_index_entry(entry, targetid): indexentries = [] entry = entry.strip() oentry = entry main = '' if entry.startswith('!'): main = 'main' entry = entry[1:].lstrip() for type in pairindextypes: if entry.startswith(type+':'): value = entry[len(type)+1:].strip() value = pairindextypes[type] + '; ' + value indexentries.append(('pair', value, targetid, main)) break else: for type in indextypes: if entry.startswith(type+':'): value = entry[len(type)+1:].strip() if type == 'double': type = 'pair' indexentries.append((type, value, targetid, main)) break # shorthand notation for single entries else: for value in oentry.split(','): value = value.strip() main = '' if value.startswith('!'): main = 'main' value = value[1:].lstrip() if not value: continue indexentries.append(('single', value, targetid, main)) return indexentries def inline_all_toctrees(builder, docnameset, docname, tree, colorfunc): """Inline all toctrees in the *tree*. Record all docnames in *docnameset*, and output docnames with *colorfunc*. """ tree = tree.deepcopy() for toctreenode in tree.traverse(addnodes.toctree): newnodes = [] includefiles = map(str, toctreenode['includefiles']) for includefile in includefiles: try: builder.info(colorfunc(includefile) + " ", nonl=1) subtree = inline_all_toctrees(builder, docnameset, includefile, builder.env.get_doctree(includefile), colorfunc) docnameset.add(includefile) except Exception: builder.warn('toctree contains ref to nonexisting ' 'file %r' % includefile, builder.env.doc2path(docname)) else: sof = addnodes.start_of_file(docname=includefile) sof.children = subtree.children newnodes.append(sof) toctreenode.parent.replace(toctreenode, newnodes) return tree def make_refnode(builder, fromdocname, todocname, targetid, child, title=None): """Shortcut to create a reference node.""" node = nodes.reference('', '', internal=True) if fromdocname == todocname: node['refid'] = targetid else: node['refuri'] = (builder.get_relative_uri(fromdocname, todocname) + '#' + targetid) if title: node['reftitle'] = title node.append(child) return node def set_source_info(directive, node): node.source, node.line = \ directive.state_machine.get_source_and_line(directive.lineno) def set_role_source_info(inliner, lineno, node): try: node.source, node.line = \ inliner.reporter.locator(lineno) except AttributeError: # docutils 0.9+ node.source, node.line = inliner.reporter.get_source_and_line(lineno) # monkey-patch Element.copy to copy the rawsource def _new_copy(self): return self.__class__(self.rawsource, **self.attributes) nodes.Element.copy = _new_copy # monkey-patch Element.__repr__ to return str if it returns unicode. # Was fixed in docutils since 0.10. See sf.net/p/docutils/bugs/218/. if sys.version_info < (3,): _element_repr_orig = nodes.Element.__repr__ def _new_repr(self): s = _element_repr_orig(self) if isinstance(s, unicode): return s.encode('utf-8') return s nodes.Element.__repr__ = _new_repr sphinx-1.2.2+dfsg.orig/sphinx/quickstart.py0000644000000000000000000012233112304557741017470 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.quickstart ~~~~~~~~~~~~~~~~~ Quickly setup documentation source to work with Sphinx. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys, os, time, re from os import path TERM_ENCODING = getattr(sys.stdin, 'encoding', None) from docutils.utils import column_width from sphinx import __version__ from sphinx.util.osutil import make_filename from sphinx.util.console import purple, bold, red, turquoise, \ nocolor, color_terminal from sphinx.util import texescape from sphinx.util.pycompat import open # function to get input from terminal -- overridden by the test suite try: # this raw_input is not converted by 2to3 term_input = raw_input except NameError: term_input = input PROMPT_PREFIX = '> ' if sys.version_info >= (3, 0): # prevents that the file is checked for being written in Python 2.x syntax QUICKSTART_CONF = u'#!/usr/bin/env python3\n' else: QUICKSTART_CONF = u'' QUICKSTART_CONF += u'''\ # -*- coding: utf-8 -*- # # %(project)s documentation build configuration file, created by # sphinx-quickstart on %(now)s. # # This file is execfile()d with the current directory set to its # containing dir. # # Note that not all possible configuration values are present in this # autogenerated file. # # All configuration values have a default; values that are commented out # serve to show the default. import sys import os # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. #needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [%(extensions)s] # Add any paths that contain templates here, relative to this directory. templates_path = ['%(dot)stemplates'] # The suffix of source filenames. source_suffix = '%(suffix)s' # The encoding of source files. #source_encoding = 'utf-8-sig' # The master toctree document. master_doc = '%(master_str)s' # General information about the project. project = u'%(project_str)s' copyright = u'%(copyright_str)s' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. # # The short X.Y version. version = '%(version_str)s' # The full version, including alpha/beta/rc tags. release = '%(release_str)s' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. #language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: #today = '' # Else, today_fmt is used as the format for a strftime call. #today_fmt = '%%B %%d, %%Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = [%(exclude_patterns)s] # The reST default role (used for this markup: `text`) to use for all # documents. #default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. #add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). #add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. #show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. #keep_warnings = False # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. #html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". #html_title = None # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. #html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. #html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['%(dot)sstatic'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. #html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. #html_last_updated_fmt = '%%b %%d, %%Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. #html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. #html_additional_pages = {} # If false, no module index is generated. #html_domain_indices = True # If false, no index is generated. #html_use_index = True # If true, the index is split into individual pages for each letter. #html_split_index = False # If true, links to the reST sources are added to the pages. #html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. #html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. #html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. #html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). #html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = '%(project_fn)sdoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { # The paper size ('letterpaper' or 'a4paper'). #'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). #'pointsize': '10pt', # Additional stuff for the LaTeX preamble. #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ('%(master_str)s', '%(project_fn)s.tex', u'%(project_doc_texescaped_str)s', u'%(author_texescaped_str)s', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of # the title page. #latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. #latex_use_parts = False # If true, show page references after internal links. #latex_show_pagerefs = False # If true, show URL addresses after external links. #latex_show_urls = False # Documents to append as an appendix to all manuals. #latex_appendices = [] # If false, no module index is generated. #latex_domain_indices = True # -- Options for manual page output --------------------------------------- # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ('%(master_str)s', '%(project_manpage)s', u'%(project_doc_str)s', [u'%(author_str)s'], 1) ] # If true, show URL addresses after external links. #man_show_urls = False # -- Options for Texinfo output ------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ('%(master_str)s', '%(project_fn)s', u'%(project_doc_str)s', u'%(author_str)s', '%(project_fn)s', 'One line description of project.', 'Miscellaneous'), ] # Documents to append as an appendix to all manuals. #texinfo_appendices = [] # If false, no module index is generated. #texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. #texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. #texinfo_no_detailmenu = False ''' EPUB_CONFIG = u''' # -- Options for Epub output ---------------------------------------------- # Bibliographic Dublin Core info. epub_title = u'%(project_str)s' epub_author = u'%(author_str)s' epub_publisher = u'%(author_str)s' epub_copyright = u'%(copyright_str)s' # The basename for the epub file. It defaults to the project name. #epub_basename = u'%(project_str)s' # The HTML theme for the epub output. Since the default themes are not optimized # for small screen space, using the same theme for HTML and epub output is # usually not wise. This defaults to 'epub', a theme designed to save visual # space. #epub_theme = 'epub' # The language of the text. It defaults to the language option # or en if the language is not set. #epub_language = '' # The scheme of the identifier. Typical schemes are ISBN or URL. #epub_scheme = '' # The unique identifier of the text. This can be a ISBN number # or the project homepage. #epub_identifier = '' # A unique identification for the text. #epub_uid = '' # A tuple containing the cover image and cover page html template filenames. #epub_cover = () # A sequence of (type, uri, title) tuples for the guide element of content.opf. #epub_guide = () # HTML files that should be inserted before the pages created by sphinx. # The format is a list of tuples containing the path and title. #epub_pre_files = [] # HTML files shat should be inserted after the pages created by sphinx. # The format is a list of tuples containing the path and title. #epub_post_files = [] # A list of files that should not be packed into the epub file. epub_exclude_files = ['search.html'] # The depth of the table of contents in toc.ncx. #epub_tocdepth = 3 # Allow duplicate toc entries. #epub_tocdup = True # Choose between 'default' and 'includehidden'. #epub_tocscope = 'default' # Fix unsupported image types using the PIL. #epub_fix_images = False # Scale large images. #epub_max_image_width = 0 # How to display URL addresses: 'footnote', 'no', or 'inline'. #epub_show_urls = 'inline' # If false, no index is generated. #epub_use_index = True ''' INTERSPHINX_CONFIG = u''' # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'http://docs.python.org/': None} ''' MASTER_FILE = u'''\ .. %(project)s documentation master file, created by sphinx-quickstart on %(now)s. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to %(project)s's documentation! ===========%(project_underline)s================= Contents: .. toctree:: :maxdepth: %(mastertocmaxdepth)s %(mastertoctree)s Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` ''' MAKEFILE = u'''\ # Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = %(rbuilddir)s # User-friendly check for sphinx-build ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) $(error \ The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx \ installed, then set the SPHINXBUILD environment variable to point \ to the full path of the '$(SPHINXBUILD)' executable. Alternatively you \ can add the directory with the executable to your PATH. \ If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) \ $(SPHINXOPTS) %(rsrcdir)s # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) %(rsrcdir)s .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp \ epub latex latexpdf text man changes linkcheck doctest gettext help: \t@echo "Please use \\`make ' where is one of" \t@echo " html to make standalone HTML files" \t@echo " dirhtml to make HTML files named index.html in directories" \t@echo " singlehtml to make a single large HTML file" \t@echo " pickle to make pickle files" \t@echo " json to make JSON files" \t@echo " htmlhelp to make HTML files and a HTML help project" \t@echo " qthelp to make HTML files and a qthelp project" \t@echo " devhelp to make HTML files and a Devhelp project" \t@echo " epub to make an epub" \t@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" \t@echo " latexpdf to make LaTeX files and run them through pdflatex" \t@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" \t@echo " text to make text files" \t@echo " man to make manual pages" \t@echo " texinfo to make Texinfo files" \t@echo " info to make Texinfo files and run them through makeinfo" \t@echo " gettext to make PO message catalogs" \t@echo " changes to make an overview of all changed/added/deprecated items" \t@echo " xml to make Docutils-native XML files" \t@echo " pseudoxml to make pseudoxml-XML files for display purposes" \t@echo " linkcheck to check all external links for integrity" \t@echo " doctest to run all doctests embedded in the documentation \ (if enabled)" clean: \trm -rf $(BUILDDIR)/* html: \t$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html \t@echo \t@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: \t$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml \t@echo \t@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: \t$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml \t@echo \t@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." pickle: \t$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle \t@echo \t@echo "Build finished; now you can process the pickle files." json: \t$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json \t@echo \t@echo "Build finished; now you can process the JSON files." htmlhelp: \t$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp \t@echo \t@echo "Build finished; now you can run HTML Help Workshop with the" \\ \t ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: \t$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp \t@echo \t@echo "Build finished; now you can run "qcollectiongenerator" with the" \\ \t ".qhcp project file in $(BUILDDIR)/qthelp, like this:" \t@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/%(project_fn)s.qhcp" \t@echo "To view the help file:" \t@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/%(project_fn)s.qhc" devhelp: \t$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp \t@echo \t@echo "Build finished." \t@echo "To view the help file:" \t@echo "# mkdir -p $$HOME/.local/share/devhelp/%(project_fn)s" \t@echo "# ln -s $(BUILDDIR)/devhelp\ $$HOME/.local/share/devhelp/%(project_fn)s" \t@echo "# devhelp" epub: \t$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub \t@echo \t@echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: \t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex \t@echo \t@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." \t@echo "Run \\`make' in that directory to run these through (pdf)latex" \\ \t "(use \\`make latexpdf' here to do that automatically)." latexpdf: \t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex \t@echo "Running LaTeX files through pdflatex..." \t$(MAKE) -C $(BUILDDIR)/latex all-pdf \t@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." latexpdfja: \t$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex \t@echo "Running LaTeX files through platex and dvipdfmx..." \t$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja \t@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: \t$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text \t@echo \t@echo "Build finished. The text files are in $(BUILDDIR)/text." man: \t$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man \t@echo \t@echo "Build finished. The manual pages are in $(BUILDDIR)/man." texinfo: \t$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo \t@echo \t@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." \t@echo "Run \\`make' in that directory to run these through makeinfo" \\ \t "(use \\`make info' here to do that automatically)." info: \t$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo \t@echo "Running Texinfo files through makeinfo..." \tmake -C $(BUILDDIR)/texinfo info \t@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." gettext: \t$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale \t@echo \t@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." changes: \t$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes \t@echo \t@echo "The overview file is in $(BUILDDIR)/changes." linkcheck: \t$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck \t@echo \t@echo "Link check complete; look for any errors in the above output " \\ \t "or in $(BUILDDIR)/linkcheck/output.txt." doctest: \t$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest \t@echo "Testing of doctests in the sources finished, look at the " \\ \t "results in $(BUILDDIR)/doctest/output.txt." xml: \t$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml \t@echo \t@echo "Build finished. The XML files are in $(BUILDDIR)/xml." pseudoxml: \t$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml \t@echo \t@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." ''' BATCHFILE = u'''\ @ECHO OFF REM Command file for Sphinx documentation if "%%SPHINXBUILD%%" == "" ( \tset SPHINXBUILD=sphinx-build ) set BUILDDIR=%(rbuilddir)s set ALLSPHINXOPTS=-d %%BUILDDIR%%/doctrees %%SPHINXOPTS%% %(rsrcdir)s set I18NSPHINXOPTS=%%SPHINXOPTS%% %(rsrcdir)s if NOT "%%PAPER%%" == "" ( \tset ALLSPHINXOPTS=-D latex_paper_size=%%PAPER%% %%ALLSPHINXOPTS%% \tset I18NSPHINXOPTS=-D latex_paper_size=%%PAPER%% %%I18NSPHINXOPTS%% ) if "%%1" == "" goto help if "%%1" == "help" ( \t:help \techo.Please use `make ^` where ^ is one of \techo. html to make standalone HTML files \techo. dirhtml to make HTML files named index.html in directories \techo. singlehtml to make a single large HTML file \techo. pickle to make pickle files \techo. json to make JSON files \techo. htmlhelp to make HTML files and a HTML help project \techo. qthelp to make HTML files and a qthelp project \techo. devhelp to make HTML files and a Devhelp project \techo. epub to make an epub \techo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter \techo. text to make text files \techo. man to make manual pages \techo. texinfo to make Texinfo files \techo. gettext to make PO message catalogs \techo. changes to make an overview over all changed/added/deprecated items \techo. xml to make Docutils-native XML files \techo. pseudoxml to make pseudoxml-XML files for display purposes \techo. linkcheck to check all external links for integrity \techo. doctest to run all doctests embedded in the documentation if enabled \tgoto end ) if "%%1" == "clean" ( \tfor /d %%%%i in (%%BUILDDIR%%\*) do rmdir /q /s %%%%i \tdel /q /s %%BUILDDIR%%\* \tgoto end ) %%SPHINXBUILD%% 2> nul if errorlevel 9009 ( \techo. \techo.The 'sphinx-build' command was not found. Make sure you have Sphinx \techo.installed, then set the SPHINXBUILD environment variable to point \techo.to the full path of the 'sphinx-build' executable. Alternatively you \techo.may add the Sphinx directory to PATH. \techo. \techo.If you don't have Sphinx installed, grab it from \techo.http://sphinx-doc.org/ \texit /b 1 ) if "%%1" == "html" ( \t%%SPHINXBUILD%% -b html %%ALLSPHINXOPTS%% %%BUILDDIR%%/html \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The HTML pages are in %%BUILDDIR%%/html. \tgoto end ) if "%%1" == "dirhtml" ( \t%%SPHINXBUILD%% -b dirhtml %%ALLSPHINXOPTS%% %%BUILDDIR%%/dirhtml \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The HTML pages are in %%BUILDDIR%%/dirhtml. \tgoto end ) if "%%1" == "singlehtml" ( \t%%SPHINXBUILD%% -b singlehtml %%ALLSPHINXOPTS%% %%BUILDDIR%%/singlehtml \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The HTML pages are in %%BUILDDIR%%/singlehtml. \tgoto end ) if "%%1" == "pickle" ( \t%%SPHINXBUILD%% -b pickle %%ALLSPHINXOPTS%% %%BUILDDIR%%/pickle \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished; now you can process the pickle files. \tgoto end ) if "%%1" == "json" ( \t%%SPHINXBUILD%% -b json %%ALLSPHINXOPTS%% %%BUILDDIR%%/json \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished; now you can process the JSON files. \tgoto end ) if "%%1" == "htmlhelp" ( \t%%SPHINXBUILD%% -b htmlhelp %%ALLSPHINXOPTS%% %%BUILDDIR%%/htmlhelp \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished; now you can run HTML Help Workshop with the ^ .hhp project file in %%BUILDDIR%%/htmlhelp. \tgoto end ) if "%%1" == "qthelp" ( \t%%SPHINXBUILD%% -b qthelp %%ALLSPHINXOPTS%% %%BUILDDIR%%/qthelp \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished; now you can run "qcollectiongenerator" with the ^ .qhcp project file in %%BUILDDIR%%/qthelp, like this: \techo.^> qcollectiongenerator %%BUILDDIR%%\\qthelp\\%(project_fn)s.qhcp \techo.To view the help file: \techo.^> assistant -collectionFile %%BUILDDIR%%\\qthelp\\%(project_fn)s.ghc \tgoto end ) if "%%1" == "devhelp" ( \t%%SPHINXBUILD%% -b devhelp %%ALLSPHINXOPTS%% %%BUILDDIR%%/devhelp \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. \tgoto end ) if "%%1" == "epub" ( \t%%SPHINXBUILD%% -b epub %%ALLSPHINXOPTS%% %%BUILDDIR%%/epub \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The epub file is in %%BUILDDIR%%/epub. \tgoto end ) if "%%1" == "latex" ( \t%%SPHINXBUILD%% -b latex %%ALLSPHINXOPTS%% %%BUILDDIR%%/latex \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished; the LaTeX files are in %%BUILDDIR%%/latex. \tgoto end ) if "%%1" == "latexpdf" ( \t%%SPHINXBUILD%% -b latex %%ALLSPHINXOPTS%% %%BUILDDIR%%/latex \tcd %%BUILDDIR%%/latex \tmake all-pdf \tcd %%BUILDDIR%%/.. \techo. \techo.Build finished; the PDF files are in %%BUILDDIR%%/latex. \tgoto end ) if "%%1" == "latexpdfja" ( \t%%SPHINXBUILD%% -b latex %%ALLSPHINXOPTS%% %%BUILDDIR%%/latex \tcd %%BUILDDIR%%/latex \tmake all-pdf-ja \tcd %%BUILDDIR%%/.. \techo. \techo.Build finished; the PDF files are in %%BUILDDIR%%/latex. \tgoto end ) if "%%1" == "text" ( \t%%SPHINXBUILD%% -b text %%ALLSPHINXOPTS%% %%BUILDDIR%%/text \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The text files are in %%BUILDDIR%%/text. \tgoto end ) if "%%1" == "man" ( \t%%SPHINXBUILD%% -b man %%ALLSPHINXOPTS%% %%BUILDDIR%%/man \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The manual pages are in %%BUILDDIR%%/man. \tgoto end ) if "%%1" == "texinfo" ( \t%%SPHINXBUILD%% -b texinfo %%ALLSPHINXOPTS%% %%BUILDDIR%%/texinfo \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The Texinfo files are in %%BUILDDIR%%/texinfo. \tgoto end ) if "%%1" == "gettext" ( \t%%SPHINXBUILD%% -b gettext %%I18NSPHINXOPTS%% %%BUILDDIR%%/locale \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The message catalogs are in %%BUILDDIR%%/locale. \tgoto end ) if "%%1" == "changes" ( \t%%SPHINXBUILD%% -b changes %%ALLSPHINXOPTS%% %%BUILDDIR%%/changes \tif errorlevel 1 exit /b 1 \techo. \techo.The overview file is in %%BUILDDIR%%/changes. \tgoto end ) if "%%1" == "linkcheck" ( \t%%SPHINXBUILD%% -b linkcheck %%ALLSPHINXOPTS%% %%BUILDDIR%%/linkcheck \tif errorlevel 1 exit /b 1 \techo. \techo.Link check complete; look for any errors in the above output ^ or in %%BUILDDIR%%/linkcheck/output.txt. \tgoto end ) if "%%1" == "doctest" ( \t%%SPHINXBUILD%% -b doctest %%ALLSPHINXOPTS%% %%BUILDDIR%%/doctest \tif errorlevel 1 exit /b 1 \techo. \techo.Testing of doctests in the sources finished, look at the ^ results in %%BUILDDIR%%/doctest/output.txt. \tgoto end ) if "%%1" == "xml" ( \t%%SPHINXBUILD%% -b xml %%ALLSPHINXOPTS%% %%BUILDDIR%%/xml \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The XML files are in %%BUILDDIR%%/xml. \tgoto end ) if "%%1" == "pseudoxml" ( \t%%SPHINXBUILD%% -b pseudoxml %%ALLSPHINXOPTS%% %%BUILDDIR%%/pseudoxml \tif errorlevel 1 exit /b 1 \techo. \techo.Build finished. The pseudo-XML files are in %%BUILDDIR%%/pseudoxml. \tgoto end ) :end ''' # This will become the Makefile template for Sphinx 1.5. MAKEFILE_NEW = u'''\ # Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SPHINXPROJ = %(project_fn)s SOURCEDIR = %(rsrcdir)s BUILDDIR = %(rbuilddir)s # User-friendly check for sphinx-build. ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) $(error \ The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx \ installed, then set the SPHINXBUILD environment variable to point \ to the full path of the '$(SPHINXBUILD)' executable. Alternatively you \ can add the directory with the executable to your PATH. \ If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) endif # Has to be explicit, otherwise we don't get "make" without targets right. help: \t@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) # You can add custom targets here. # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: \t@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) ''' # This will become the make.bat template for Sphinx 1.5. BATCHFILE_NEW = u'''\ @ECHO OFF REM Command file for Sphinx documentation if "%%SPHINXBUILD%%" == "" ( \tset SPHINXBUILD=sphinx-build ) set BUILDDIR=%(rbuilddir)s set SPHINXPROJ=%(project_fn)s if "%%1" == "" goto help %%SPHINXBUILD%% 2> nul if errorlevel 9009 ( \techo. \techo.The 'sphinx-build' command was not found. Make sure you have Sphinx \techo.installed, then set the SPHINXBUILD environment variable to point \techo.to the full path of the 'sphinx-build' executable. Alternatively you \techo.may add the Sphinx directory to PATH. \techo. \techo.If you don't have Sphinx installed, grab it from \techo.http://sphinx-doc.org/ \texit /b 1 ) %%SPHINXBUILD%% -M %%1 %%BUILDDIR%% %%SPHINXOPTS%% goto end :help %%SPHINXBUILD%% -M help %%BUILDDIR%% %%SPHINXOPTS%% :end ''' def mkdir_p(dir): if path.isdir(dir): return os.makedirs(dir) class ValidationError(Exception): """Raised for validation errors.""" def is_path(x): if path.exists(x) and not path.isdir(x): raise ValidationError("Please enter a valid path name.") return x def nonempty(x): if not x: raise ValidationError("Please enter some text.") return x def choice(*l): def val(x): if x not in l: raise ValidationError('Please enter one of %s.' % ', '.join(l)) return x return val def boolean(x): if x.upper() not in ('Y', 'YES', 'N', 'NO'): raise ValidationError("Please enter either 'y' or 'n'.") return x.upper() in ('Y', 'YES') def suffix(x): if not (x[0:1] == '.' and len(x) > 1): raise ValidationError("Please enter a file suffix, " "e.g. '.rst' or '.txt'.") return x def ok(x): return x def do_prompt(d, key, text, default=None, validator=nonempty): while True: if default: prompt = PROMPT_PREFIX + '%s [%s]: ' % (text, default) else: prompt = PROMPT_PREFIX + text + ': ' if sys.version_info < (3, 0): # for Python 2.x, try to get a Unicode string out of it if prompt.encode('ascii', 'replace').decode('ascii', 'replace') \ != prompt: if TERM_ENCODING: prompt = prompt.encode(TERM_ENCODING) else: print turquoise('* Note: non-ASCII default value provided ' 'and terminal encoding unknown -- assuming ' 'UTF-8 or Latin-1.') try: prompt = prompt.encode('utf-8') except UnicodeEncodeError: prompt = prompt.encode('latin1') prompt = purple(prompt) x = term_input(prompt).strip() if default and not x: x = default if not isinstance(x, unicode): # for Python 2.x, try to get a Unicode string out of it if x.decode('ascii', 'replace').encode('ascii', 'replace') != x: if TERM_ENCODING: x = x.decode(TERM_ENCODING) else: print turquoise('* Note: non-ASCII characters entered ' 'and terminal encoding unknown -- assuming ' 'UTF-8 or Latin-1.') try: x = x.decode('utf-8') except UnicodeDecodeError: x = x.decode('latin1') try: x = validator(x) except ValidationError, err: print red('* ' + str(err)) continue break d[key] = x if sys.version_info >= (3, 0): # remove Unicode literal prefixes def _convert_python_source(source, rex=re.compile(r"[uU]('.*?')")): return rex.sub('\\1', source) for f in ['QUICKSTART_CONF', 'EPUB_CONFIG', 'INTERSPHINX_CONFIG']: globals()[f] = _convert_python_source(globals()[f]) del _convert_python_source def ask_user(d): """Ask the user for quickstart values missing from *d*. Values are: * path: root path * sep: separate source and build dirs (bool) * dot: replacement for dot in _templates etc. * project: project name * author: author names * version: version of project * release: release of project * suffix: source file suffix * master: master document name * epub: use epub (bool) * ext_*: extensions to use (bools) * makefile: make Makefile * batchfile: make command file """ print bold('Welcome to the Sphinx %s quickstart utility.') % __version__ print ''' Please enter values for the following settings (just press Enter to accept a default value, if one is given in brackets).''' if 'path' in d: print bold(''' Selected root path: %s''' % d['path']) else: print ''' Enter the root path for documentation.''' do_prompt(d, 'path', 'Root path for the documentation', '.', is_path) while path.isfile(path.join(d['path'], 'conf.py')) or \ path.isfile(path.join(d['path'], 'source', 'conf.py')): print print bold('Error: an existing conf.py has been found in the ' 'selected root path.') print 'sphinx-quickstart will not overwrite existing Sphinx projects.' print do_prompt(d, 'path', 'Please enter a new root path (or just Enter ' 'to exit)', '', is_path) if not d['path']: sys.exit(1) if 'sep' not in d: print ''' You have two options for placing the build directory for Sphinx output. Either, you use a directory "_build" within the root path, or you separate "source" and "build" directories within the root path.''' do_prompt(d, 'sep', 'Separate source and build directories (y/n)', 'n', boolean) if 'dot' not in d: print ''' Inside the root directory, two more directories will be created; "_templates" for custom HTML templates and "_static" for custom stylesheets and other static files. You can enter another prefix (such as ".") to replace the underscore.''' do_prompt(d, 'dot', 'Name prefix for templates and static dir', '_', ok) if 'project' not in d: print ''' The project name will occur in several places in the built documentation.''' do_prompt(d, 'project', 'Project name') if 'author' not in d: do_prompt(d, 'author', 'Author name(s)') if 'version' not in d: print ''' Sphinx has the notion of a "version" and a "release" for the software. Each version can have multiple releases. For example, for Python the version is something like 2.5 or 3.0, while the release is something like 2.5.1 or 3.0a1. If you don't need this dual structure, just set both to the same value.''' do_prompt(d, 'version', 'Project version') if 'release' not in d: do_prompt(d, 'release', 'Project release', d['version']) if 'suffix' not in d: print ''' The file name suffix for source files. Commonly, this is either ".txt" or ".rst". Only files with this suffix are considered documents.''' do_prompt(d, 'suffix', 'Source file suffix', '.rst', suffix) if 'master' not in d: print ''' One document is special in that it is considered the top node of the "contents tree", that is, it is the root of the hierarchical structure of the documents. Normally, this is "index", but if your "index" document is a custom template, you can also set this to another filename.''' do_prompt(d, 'master', 'Name of your master document (without suffix)', 'index') while path.isfile(path.join(d['path'], d['master']+d['suffix'])) or \ path.isfile(path.join(d['path'], 'source', d['master']+d['suffix'])): print print bold('Error: the master file %s has already been found in the ' 'selected root path.' % (d['master']+d['suffix'])) print 'sphinx-quickstart will not overwrite the existing file.' print do_prompt(d, 'master', 'Please enter a new file name, or rename the ' 'existing file and press Enter', d['master']) if 'epub' not in d: print ''' Sphinx can also add configuration for epub output:''' do_prompt(d, 'epub', 'Do you want to use the epub builder (y/n)', 'n', boolean) if 'ext_autodoc' not in d: print ''' Please indicate if you want to use one of the following Sphinx extensions:''' do_prompt(d, 'ext_autodoc', 'autodoc: automatically insert docstrings ' 'from modules (y/n)', 'n', boolean) if 'ext_doctest' not in d: do_prompt(d, 'ext_doctest', 'doctest: automatically test code snippets ' 'in doctest blocks (y/n)', 'n', boolean) if 'ext_intersphinx' not in d: do_prompt(d, 'ext_intersphinx', 'intersphinx: link between Sphinx ' 'documentation of different projects (y/n)', 'n', boolean) if 'ext_todo' not in d: do_prompt(d, 'ext_todo', 'todo: write "todo" entries ' 'that can be shown or hidden on build (y/n)', 'n', boolean) if 'ext_coverage' not in d: do_prompt(d, 'ext_coverage', 'coverage: checks for documentation ' 'coverage (y/n)', 'n', boolean) if 'ext_pngmath' not in d: do_prompt(d, 'ext_pngmath', 'pngmath: include math, rendered ' 'as PNG images (y/n)', 'n', boolean) if 'ext_mathjax' not in d: do_prompt(d, 'ext_mathjax', 'mathjax: include math, rendered in the ' 'browser by MathJax (y/n)', 'n', boolean) if d['ext_pngmath'] and d['ext_mathjax']: print '''Note: pngmath and mathjax cannot be enabled at the same time. pngmath has been deselected.''' d['ext_pngmath'] = False if 'ext_ifconfig' not in d: do_prompt(d, 'ext_ifconfig', 'ifconfig: conditional inclusion of ' 'content based on config values (y/n)', 'n', boolean) if 'ext_viewcode' not in d: do_prompt(d, 'ext_viewcode', 'viewcode: include links to the source ' 'code of documented Python objects (y/n)', 'n', boolean) if 'makefile' not in d: print ''' A Makefile and a Windows command file can be generated for you so that you only have to run e.g. `make html' instead of invoking sphinx-build directly.''' do_prompt(d, 'makefile', 'Create Makefile? (y/n)', 'y', boolean) if 'batchfile' not in d: do_prompt(d, 'batchfile', 'Create Windows command file? (y/n)', 'y', boolean) print def generate(d, overwrite=True, silent=False): """Generate project based on values in *d*.""" texescape.init() indent = ' ' * 4 if 'mastertoctree' not in d: d['mastertoctree'] = '' if 'mastertocmaxdepth' not in d: d['mastertocmaxdepth'] = 2 d['project_fn'] = make_filename(d['project']) d['project_manpage'] = d['project_fn'].lower() d['now'] = time.asctime() d['project_underline'] = column_width(d['project']) * '=' extensions = (',\n' + indent).join( repr('sphinx.ext.' + name) for name in ('autodoc', 'doctest', 'intersphinx', 'todo', 'coverage', 'pngmath', 'mathjax', 'ifconfig', 'viewcode') if d.get('ext_' + name)) if extensions: d['extensions'] = '\n' + indent + extensions + ',\n' else: d['extensions'] = extensions d['copyright'] = time.strftime('%Y') + ', ' + d['author'] d['author_texescaped'] = unicode(d['author']).\ translate(texescape.tex_escape_map) d['project_doc'] = d['project'] + ' Documentation' d['project_doc_texescaped'] = unicode(d['project'] + ' Documentation').\ translate(texescape.tex_escape_map) # escape backslashes and single quotes in strings that are put into # a Python string literal for key in ('project', 'project_doc', 'project_doc_texescaped', 'author', 'author_texescaped', 'copyright', 'version', 'release', 'master'): d[key + '_str'] = d[key].replace('\\', '\\\\').replace("'", "\\'") if not path.isdir(d['path']): mkdir_p(d['path']) srcdir = d['sep'] and path.join(d['path'], 'source') or d['path'] mkdir_p(srcdir) if d['sep']: builddir = path.join(d['path'], 'build') d['exclude_patterns'] = '' else: builddir = path.join(srcdir, d['dot'] + 'build') d['exclude_patterns'] = repr(d['dot'] + 'build') mkdir_p(builddir) mkdir_p(path.join(srcdir, d['dot'] + 'templates')) mkdir_p(path.join(srcdir, d['dot'] + 'static')) def write_file(fpath, content, newline=None): if overwrite or not path.isfile(fpath): print 'Creating file %s.' % fpath f = open(fpath, 'wt', encoding='utf-8', newline=newline) try: f.write(content) finally: f.close() else: print 'File %s already exists, skipping.' % fpath conf_text = QUICKSTART_CONF % d if d['epub']: conf_text += EPUB_CONFIG % d if d.get('ext_intersphinx'): conf_text += INTERSPHINX_CONFIG write_file(path.join(srcdir, 'conf.py'), conf_text) masterfile = path.join(srcdir, d['master'] + d['suffix']) write_file(masterfile, MASTER_FILE % d) if d['makefile']: d['rsrcdir'] = d['sep'] and 'source' or '.' d['rbuilddir'] = d['sep'] and 'build' or d['dot'] + 'build' # use binary mode, to avoid writing \r\n on Windows write_file(path.join(d['path'], 'Makefile'), MAKEFILE % d, u'\n') if d['batchfile']: d['rsrcdir'] = d['sep'] and 'source' or '.' d['rbuilddir'] = d['sep'] and 'build' or d['dot'] + 'build' write_file(path.join(d['path'], 'make.bat'), BATCHFILE % d, u'\r\n') if silent: return print print bold('Finished: An initial directory structure has been created.') print ''' You should now populate your master file %s and create other documentation source files. ''' % masterfile + ((d['makefile'] or d['batchfile']) and '''\ Use the Makefile to build the docs, like so: make builder ''' or '''\ Use the sphinx-build command to build the docs, like so: sphinx-build -b builder %s %s ''' % (srcdir, builddir)) + '''\ where "builder" is one of the supported builders, e.g. html, latex or linkcheck. ''' def main(argv=sys.argv): if not color_terminal(): nocolor() d = {} if len(argv) > 3: print 'Usage: sphinx-quickstart [root]' sys.exit(1) elif len(argv) == 2: d['path'] = argv[1] try: ask_user(d) except (KeyboardInterrupt, EOFError): print print '[Interrupted.]' return generate(d) sphinx-1.2.2+dfsg.orig/sphinx/websupport/0000755000000000000000000000000012304560277017132 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/websupport/storage/0000755000000000000000000000000012304560277020576 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/websupport/storage/sqlalchemystorage.py0000644000000000000000000001376012304304673024702 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.storage.sqlalchemystorage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An SQLAlchemy storage backend. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from datetime import datetime import sqlalchemy from sqlalchemy.orm import aliased from sqlalchemy.sql import func if sqlalchemy.__version__[:3] < '0.5': raise ImportError('SQLAlchemy version 0.5 or greater is required for this ' 'storage backend; you have version %s' % sqlalchemy.__version__) from sphinx.websupport.errors import CommentNotAllowedError, \ UserNotAuthorizedError from sphinx.websupport.storage import StorageBackend from sphinx.websupport.storage.sqlalchemy_db import Base, Node, \ Comment, CommentVote, Session from sphinx.websupport.storage.differ import CombinedHtmlDiff class SQLAlchemyStorage(StorageBackend): """ A :class:`.StorageBackend` using SQLAlchemy. """ def __init__(self, uri): self.engine = sqlalchemy.create_engine(uri) Base.metadata.bind = self.engine Base.metadata.create_all() Session.configure(bind=self.engine) def pre_build(self): self.build_session = Session() def has_node(self, id): session = Session() node = session.query(Node).filter(Node.id == id).first() session.close() return bool(node) def add_node(self, id, document, source): node = Node(id, document, source) self.build_session.add(node) self.build_session.flush() def post_build(self): self.build_session.commit() self.build_session.close() def add_comment(self, text, displayed, username, time, proposal, node_id, parent_id, moderator): session = Session() proposal_diff = None proposal_diff_text = None if node_id and proposal: node = session.query(Node).filter(Node.id == node_id).one() differ = CombinedHtmlDiff(node.source, proposal) proposal_diff = differ.make_html() proposal_diff_text = differ.make_text() elif parent_id: parent = session.query(Comment.displayed).\ filter(Comment.id == parent_id).one() if not parent.displayed: raise CommentNotAllowedError( "Can't add child to a parent that is not displayed") comment = Comment(text, displayed, username, 0, time or datetime.now(), proposal, proposal_diff) session.add(comment) session.flush() # We have to flush the session before setting the path so the # Comment has an id. comment.set_path(node_id, parent_id) session.commit() d = comment.serializable() d['document'] = comment.node.document d['proposal_diff_text'] = proposal_diff_text session.close() return d def delete_comment(self, comment_id, username, moderator): session = Session() comment = session.query(Comment).\ filter(Comment.id == comment_id).one() if moderator: # moderator mode: delete the comment and all descendants # find descendants via path session.query(Comment).filter( Comment.path.like(comment.path + '.%')).delete(False) session.delete(comment) session.commit() session.close() return True elif comment.username == username: # user mode: do not really delete, but remove text and proposal comment.username = '[deleted]' comment.text = '[deleted]' comment.proposal = '' session.commit() session.close() return False else: session.close() raise UserNotAuthorizedError() def get_metadata(self, docname, moderator): session = Session() subquery = session.query( Comment.node_id, func.count('*').label('comment_count')).group_by( Comment.node_id).subquery() nodes = session.query(Node.id, subquery.c.comment_count).outerjoin( (subquery, Node.id==subquery.c.node_id)).filter( Node.document==docname) session.close() session.commit() return dict([(k, v or 0) for k, v in nodes]) def get_data(self, node_id, username, moderator): session = Session() node = session.query(Node).filter(Node.id == node_id).one() session.close() comments = node.nested_comments(username, moderator) return {'source': node.source, 'comments': comments} def process_vote(self, comment_id, username, value): session = Session() subquery = session.query(CommentVote).filter( CommentVote.username == username).subquery() vote_alias = aliased(CommentVote, subquery) q = session.query(Comment, vote_alias).outerjoin(vote_alias).filter( Comment.id == comment_id) comment, vote = q.one() if vote is None: vote = CommentVote(comment_id, username, value) comment.rating += value else: comment.rating += value - vote.value vote.value = value session.add(vote) session.commit() session.close() def update_username(self, old_username, new_username): session = Session() session.query(Comment).filter(Comment.username == old_username).\ update({Comment.username: new_username}) session.query(CommentVote).\ filter(CommentVote.username == old_username).\ update({CommentVote.username: new_username}) session.commit() session.close() def accept_comment(self, comment_id): session = Session() session.query(Comment).filter(Comment.id == comment_id).update( {Comment.displayed: True} ) session.commit() session.close() sphinx-1.2.2+dfsg.orig/sphinx/websupport/storage/__init__.py0000644000000000000000000001034012304304673022701 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.storage ~~~~~~~~~~~~~~~~~~~~~~~~~ Storage for the websupport package. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ class StorageBackend(object): def pre_build(self): """Called immediately before the build process begins. Use this to prepare the StorageBackend for the addition of nodes. """ pass def has_node(self, id): """Check to see if a node exists. :param id: the id to check for. """ raise NotImplementedError() def add_node(self, id, document, source): """Add a node to the StorageBackend. :param id: a unique id for the comment. :param document: the name of the document the node belongs to. :param source: the source files name. """ raise NotImplementedError() def post_build(self): """Called after a build has completed. Use this to finalize the addition of nodes if needed. """ pass def add_comment(self, text, displayed, username, time, proposal, node_id, parent_id, moderator): """Called when a comment is being added. :param text: the text of the comment :param displayed: whether the comment should be displayed :param username: the name of the user adding the comment :param time: a date object with the time the comment was added :param proposal: the text of the proposal the user made :param node_id: the id of the node that the comment is being added to :param parent_id: the id of the comment's parent comment. :param moderator: whether the user adding the comment is a moderator """ raise NotImplementedError() def delete_comment(self, comment_id, username, moderator): """Delete a comment. Raises :class:`~sphinx.websupport.errors.UserNotAuthorizedError` if moderator is False and `username` doesn't match the username on the comment. :param comment_id: The id of the comment being deleted. :param username: The username of the user requesting the deletion. :param moderator: Whether the user is a moderator. """ raise NotImplementedError() def get_metadata(self, docname, moderator): """Get metadata for a document. This is currently just a dict of node_id's with associated comment counts. :param docname: the name of the document to get metadata for. :param moderator: whether the requester is a moderator. """ raise NotImplementedError() def get_data(self, node_id, username, moderator): """Called to retrieve all data for a node. This should return a dict with two keys, *source* and *comments* as described by :class:`~sphinx.websupport.WebSupport`'s :meth:`~sphinx.websupport.WebSupport.get_data` method. :param node_id: The id of the node to get data for. :param username: The name of the user requesting the data. :param moderator: Whether the requestor is a moderator. """ raise NotImplementedError() def process_vote(self, comment_id, username, value): """Process a vote that is being cast. `value` will be either -1, 0, or 1. :param comment_id: The id of the comment being voted on. :param username: The username of the user casting the vote. :param value: The value of the vote being cast. """ raise NotImplementedError() def update_username(self, old_username, new_username): """If a user is allowed to change their username this method should be called so that there is not stagnate data in the storage system. :param old_username: The username being changed. :param new_username: What the username is being changed to. """ raise NotImplementedError() def accept_comment(self, comment_id): """Called when a moderator accepts a comment. After the method is called the comment should be displayed to all users. :param comment_id: The id of the comment being accepted. """ raise NotImplementedError() sphinx-1.2.2+dfsg.orig/sphinx/websupport/storage/differ.py0000644000000000000000000000505312304304673022406 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.storage.differ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A differ for creating an HTML representations of proposal diffs :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from difflib import Differ from sphinx.util.pycompat import htmlescape class CombinedHtmlDiff(object): """Create an HTML representation of the differences between two pieces of text. """ highlight_regex = re.compile(r'([\+\-\^]+)') def __init__(self, source, proposal): proposal = htmlescape(proposal) differ = Differ() self.diff = list(differ.compare(source.splitlines(1), proposal.splitlines(1))) def make_text(self): return '\n'.join(self.diff) def make_html(self): """Return the HTML representation of the differences between `source` and `proposal`. :param source: the original text :param proposal: the proposed text """ html = [] diff = self.diff[:] line = diff.pop(0) next = diff.pop(0) while True: html.append(self._handle_line(line, next)) line = next try: next = diff.pop(0) except IndexError: html.append(self._handle_line(line)) break return ''.join(html).rstrip() def _handle_line(self, line, next=None): """Handle an individual line in a diff.""" prefix = line[0] text = line[2:] if prefix == ' ': return text elif prefix == '?': return '' if next is not None and next[0] == '?': tag = prefix == '+' and 'ins' or 'del' text = self._highlight_text(text, next, tag) css_class = prefix == '+' and 'prop-added' or 'prop-removed' return '%s\n' % (css_class, text.rstrip()) def _highlight_text(self, text, next, tag): """Highlight the specific changes made to a line by adding and tags. """ next = next[2:] new_text = [] start = 0 for match in self.highlight_regex.finditer(next): new_text.append(text[start:match.start()]) new_text.append('<%s>' % tag) new_text.append(text[match.start():match.end()]) new_text.append('' % tag) start = match.end() new_text.append(text[start:]) return ''.join(new_text) sphinx-1.2.2+dfsg.orig/sphinx/websupport/storage/sqlalchemy_db.py0000644000000000000000000001646512304304673023767 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.storage.sqlalchemy_db ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SQLAlchemy table and mapper definitions used by the :class:`sphinx.websupport.storage.sqlalchemystorage.SQLAlchemyStorage`. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from datetime import datetime from sqlalchemy import Column, Integer, Text, String, Boolean, \ ForeignKey, DateTime from sqlalchemy.orm import relation, sessionmaker, aliased from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() Session = sessionmaker() db_prefix = 'sphinx_' class Node(Base): """Data about a Node in a doctree.""" __tablename__ = db_prefix + 'nodes' id = Column(String(32), primary_key=True) document = Column(String(256), nullable=False) source = Column(Text, nullable=False) def nested_comments(self, username, moderator): """Create a tree of comments. First get all comments that are descendants of this node, then convert them to a tree form. :param username: the name of the user to get comments for. :param moderator: whether the user is moderator. """ session = Session() if username: # If a username is provided, create a subquery to retrieve all # votes by this user. We will outerjoin with the comment query # with this subquery so we have a user's voting information. sq = session.query(CommentVote).\ filter(CommentVote.username == username).subquery() cvalias = aliased(CommentVote, sq) q = session.query(Comment, cvalias.value).outerjoin(cvalias) else: # If a username is not provided, we don't need to join with # CommentVote. q = session.query(Comment) # Filter out all comments not descending from this node. q = q.filter(Comment.path.like(str(self.id) + '.%')) # Filter out all comments that are not moderated yet. if not moderator: q = q.filter(Comment.displayed == True) # Retrieve all results. Results must be ordered by Comment.path # so that we can easily transform them from a flat list to a tree. results = q.order_by(Comment.path).all() session.close() return self._nest_comments(results, username) def _nest_comments(self, results, username): """Given the flat list of results, convert the list into a tree. :param results: the flat list of comments :param username: the name of the user requesting the comments. """ comments = [] list_stack = [comments] for r in results: if username: comment, vote = r else: comment, vote = (r, 0) inheritance_chain = comment.path.split('.')[1:] if len(inheritance_chain) == len(list_stack) + 1: parent = list_stack[-1][-1] list_stack.append(parent['children']) elif len(inheritance_chain) < len(list_stack): while len(inheritance_chain) < len(list_stack): list_stack.pop() list_stack[-1].append(comment.serializable(vote=vote)) return comments def __init__(self, id, document, source): self.id = id self.document = document self.source = source class CommentVote(Base): """A vote a user has made on a Comment.""" __tablename__ = db_prefix + 'commentvote' username = Column(String(64), primary_key=True) comment_id = Column(Integer, ForeignKey(db_prefix + 'comments.id'), primary_key=True) # -1 if downvoted, +1 if upvoted, 0 if voted then unvoted. value = Column(Integer, nullable=False) def __init__(self, comment_id, username, value): self.comment_id = comment_id self.username = username self.value = value class Comment(Base): """An individual Comment being stored.""" __tablename__ = db_prefix + 'comments' id = Column(Integer, primary_key=True) rating = Column(Integer, nullable=False) time = Column(DateTime, nullable=False) text = Column(Text, nullable=False) displayed = Column(Boolean, index=True, default=False) username = Column(String(64)) proposal = Column(Text) proposal_diff = Column(Text) path = Column(String(256), index=True) node_id = Column(String, ForeignKey(db_prefix + 'nodes.id')) node = relation(Node, backref="comments") votes = relation(CommentVote, backref="comment", cascade="all") def __init__(self, text, displayed, username, rating, time, proposal, proposal_diff): self.text = text self.displayed = displayed self.username = username self.rating = rating self.time = time self.proposal = proposal self.proposal_diff = proposal_diff def set_path(self, node_id, parent_id): """Set the materialized path for this comment.""" # This exists because the path can't be set until the session has # been flushed and this Comment has an id. if node_id: self.node_id = node_id self.path = '%s.%s' % (node_id, self.id) else: session = Session() parent_path = session.query(Comment.path).\ filter(Comment.id == parent_id).one().path session.close() self.node_id = parent_path.split('.')[0] self.path = '%s.%s' % (parent_path, self.id) def serializable(self, vote=0): """Creates a serializable representation of the comment. This is converted to JSON, and used on the client side. """ delta = datetime.now() - self.time time = {'year': self.time.year, 'month': self.time.month, 'day': self.time.day, 'hour': self.time.hour, 'minute': self.time.minute, 'second': self.time.second, 'iso': self.time.isoformat(), 'delta': self.pretty_delta(delta)} path = self.path.split('.') node = path[0] if len(path) > 2: parent = path[-2] else: parent = None return {'text': self.text, 'username': self.username or 'Anonymous', 'id': self.id, 'node': node, 'parent': parent, 'rating': self.rating, 'displayed': self.displayed, 'age': delta.seconds, 'time': time, 'vote': vote or 0, 'proposal_diff': self.proposal_diff, 'children': []} def pretty_delta(self, delta): """Create a pretty representation of the Comment's age. (e.g. 2 minutes). """ days = delta.days seconds = delta.seconds hours = seconds / 3600 minutes = seconds / 60 if days == 0: if hours == 0: dt = (minutes, 'minute') else: dt = (hours, 'hour') else: dt = (days, 'day') if dt[0] == 1: ret = '%s %s ago' % dt else: ret = '%s %ss ago' % dt return ret sphinx-1.2.2+dfsg.orig/sphinx/websupport/__init__.py0000644000000000000000000004527412304304673021253 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport ~~~~~~~~~~~~~~~~~ Base Module for web support functions. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import cPickle as pickle import posixpath from os import path from jinja2 import Environment, FileSystemLoader from docutils.core import publish_parts from sphinx.application import Sphinx from sphinx.locale import _ from sphinx.util.osutil import ensuredir from sphinx.util.jsonimpl import dumps as dump_json from sphinx.util.pycompat import htmlescape from sphinx.websupport import errors from sphinx.websupport.search import BaseSearch, SEARCH_ADAPTERS from sphinx.websupport.storage import StorageBackend class WebSupport(object): """The main API class for the web support package. All interactions with the web support package should occur through this class. """ def __init__(self, srcdir=None, # only required for building builddir='', # the dir with data/static/doctrees subdirs datadir=None, # defaults to builddir/data staticdir=None, # defaults to builddir/static doctreedir=None, # defaults to builddir/doctrees search=None, # defaults to no search storage=None, # defaults to SQLite in datadir status=sys.stdout, warning=sys.stderr, moderation_callback=None, allow_anonymous_comments=True, docroot='', staticroot='static', ): # directories self.srcdir = srcdir self.builddir = builddir self.outdir = path.join(builddir, 'data') self.datadir = datadir or self.outdir self.staticdir = staticdir or path.join(self.builddir, 'static') self.doctreedir = staticdir or path.join(self.builddir, 'doctrees') # web server virtual paths self.staticroot = staticroot.strip('/') self.docroot = docroot.strip('/') self.status = status self.warning = warning self.moderation_callback = moderation_callback self.allow_anonymous_comments = allow_anonymous_comments self._init_templating() self._init_search(search) self._init_storage(storage) self._globalcontext = None self._make_base_comment_options() def _init_storage(self, storage): if isinstance(storage, StorageBackend): self.storage = storage else: # If a StorageBackend isn't provided, use the default # SQLAlchemy backend. from sphinx.websupport.storage.sqlalchemystorage \ import SQLAlchemyStorage if not storage: # no explicit DB path given; create default sqlite database db_path = path.join(self.datadir, 'db', 'websupport.db') ensuredir(path.dirname(db_path)) storage = 'sqlite:///' + db_path self.storage = SQLAlchemyStorage(storage) def _init_templating(self): import sphinx template_path = path.join(sphinx.package_dir, 'themes', 'basic') loader = FileSystemLoader(template_path) self.template_env = Environment(loader=loader) def _init_search(self, search): if isinstance(search, BaseSearch): self.search = search else: mod, cls = SEARCH_ADAPTERS[search or 'null'] mod = 'sphinx.websupport.search.' + mod SearchClass = getattr(__import__(mod, None, None, [cls]), cls) search_path = path.join(self.datadir, 'search') self.search = SearchClass(search_path) self.results_template = \ self.template_env.get_template('searchresults.html') def build(self): """Build the documentation. Places the data into the `outdir` directory. Use it like this:: support = WebSupport(srcdir, builddir, search='xapian') support.build() This will read reStructured text files from `srcdir`. Then it will build the pickles and search index, placing them into `builddir`. It will also save node data to the database. """ if not self.srcdir: raise RuntimeError('No srcdir associated with WebSupport object') app = Sphinx(self.srcdir, self.srcdir, self.outdir, self.doctreedir, 'websupport', status=self.status, warning=self.warning) app.builder.set_webinfo(self.staticdir, self.staticroot, self.search, self.storage) self.storage.pre_build() app.build() self.storage.post_build() def get_globalcontext(self): """Load and return the "global context" pickle.""" if not self._globalcontext: infilename = path.join(self.datadir, 'globalcontext.pickle') f = open(infilename, 'rb') try: self._globalcontext = pickle.load(f) finally: f.close() return self._globalcontext def get_document(self, docname, username='', moderator=False): """Load and return a document from a pickle. The document will be a dict object which can be used to render a template:: support = WebSupport(datadir=datadir) support.get_document('index', username, moderator) In most cases `docname` will be taken from the request path and passed directly to this function. In Flask, that would be something like this:: @app.route('/') def index(docname): username = g.user.name if g.user else '' moderator = g.user.moderator if g.user else False try: document = support.get_document(docname, username, moderator) except DocumentNotFoundError: abort(404) render_template('doc.html', document=document) The document dict that is returned contains the following items to be used during template rendering. * **body**: The main body of the document as HTML * **sidebar**: The sidebar of the document as HTML * **relbar**: A div containing links to related documents * **title**: The title of the document * **css**: Links to css files used by Sphinx * **script**: Javascript containing comment options This raises :class:`~sphinx.websupport.errors.DocumentNotFoundError` if a document matching `docname` is not found. :param docname: the name of the document to load. """ docpath = path.join(self.datadir, 'pickles', docname) if path.isdir(docpath): infilename = docpath + '/index.fpickle' if not docname: docname = 'index' else: docname += '/index' else: infilename = docpath + '.fpickle' try: f = open(infilename, 'rb') except IOError: raise errors.DocumentNotFoundError( 'The document "%s" could not be found' % docname) try: document = pickle.load(f) finally: f.close() comment_opts = self._make_comment_options(username, moderator) comment_meta = self._make_metadata( self.storage.get_metadata(docname, moderator)) document['script'] = comment_opts + comment_meta + document['script'] return document def get_search_results(self, q): """Perform a search for the query `q`, and create a set of search results. Then render the search results as html and return a context dict like the one created by :meth:`get_document`:: document = support.get_search_results(q) :param q: the search query """ results = self.search.query(q) ctx = { 'q': q, 'search_performed': True, 'search_results': results, 'docroot': '../', # XXX '_': _, } document = { 'body': self.results_template.render(ctx), 'title': 'Search Results', 'sidebar': '', 'relbar': '' } return document def get_data(self, node_id, username=None, moderator=False): """Get the comments and source associated with `node_id`. If `username` is given vote information will be included with the returned comments. The default CommentBackend returns a dict with two keys, *source*, and *comments*. *source* is raw source of the node and is used as the starting point for proposals a user can add. *comments* is a list of dicts that represent a comment, each having the following items: ============= ====================================================== Key Contents ============= ====================================================== text The comment text. username The username that was stored with the comment. id The comment's unique identifier. rating The comment's current rating. age The time in seconds since the comment was added. time A dict containing time information. It contains the following keys: year, month, day, hour, minute, second, iso, and delta. `iso` is the time formatted in ISO 8601 format. `delta` is a printable form of how old the comment is (e.g. "3 hours ago"). vote If `user_id` was given, this will be an integer representing the vote. 1 for an upvote, -1 for a downvote, or 0 if unvoted. node The id of the node that the comment is attached to. If the comment's parent is another comment rather than a node, this will be null. parent The id of the comment that this comment is attached to if it is not attached to a node. children A list of all children, in this format. proposal_diff An HTML representation of the differences between the the current source and the user's proposed source. ============= ====================================================== :param node_id: the id of the node to get comments for. :param username: the username of the user viewing the comments. :param moderator: whether the user is a moderator. """ return self.storage.get_data(node_id, username, moderator) def delete_comment(self, comment_id, username='', moderator=False): """Delete a comment. If `moderator` is True, the comment and all descendants will be deleted from the database, and the function returns ``True``. If `moderator` is False, the comment will be marked as deleted (but not removed from the database so as not to leave any comments orphaned), but only if the `username` matches the `username` on the comment. The username and text files are replaced with "[deleted]" . In this case, the function returns ``False``. This raises :class:`~sphinx.websupport.errors.UserNotAuthorizedError` if moderator is False and `username` doesn't match username on the comment. :param comment_id: the id of the comment to delete. :param username: the username requesting the deletion. :param moderator: whether the requestor is a moderator. """ return self.storage.delete_comment(comment_id, username, moderator) def add_comment(self, text, node_id='', parent_id='', displayed=True, username=None, time=None, proposal=None, moderator=False): """Add a comment to a node or another comment. Returns the comment in the same format as :meth:`get_comments`. If the comment is being attached to a node, pass in the node's id (as a string) with the node keyword argument:: comment = support.add_comment(text, node_id=node_id) If the comment is the child of another comment, provide the parent's id (as a string) with the parent keyword argument:: comment = support.add_comment(text, parent_id=parent_id) If you would like to store a username with the comment, pass in the optional `username` keyword argument:: comment = support.add_comment(text, node=node_id, username=username) :param parent_id: the prefixed id of the comment's parent. :param text: the text of the comment. :param displayed: for moderation purposes :param username: the username of the user making the comment. :param time: the time the comment was created, defaults to now. """ if username is None: if self.allow_anonymous_comments: username = 'Anonymous' else: raise errors.UserNotAuthorizedError() parsed = self._parse_comment_text(text) comment = self.storage.add_comment(parsed, displayed, username, time, proposal, node_id, parent_id, moderator) comment['original_text'] = text if not displayed and self.moderation_callback: self.moderation_callback(comment) return comment def process_vote(self, comment_id, username, value): """Process a user's vote. The web support package relies on the API user to perform authentication. The API user will typically receive a comment_id and value from a form, and then make sure the user is authenticated. A unique username must be passed in, which will also be used to retrieve the user's past voting data. An example, once again in Flask:: @app.route('/docs/process_vote', methods=['POST']) def process_vote(): if g.user is None: abort(401) comment_id = request.form.get('comment_id') value = request.form.get('value') if value is None or comment_id is None: abort(400) support.process_vote(comment_id, g.user.name, value) return "success" :param comment_id: the comment being voted on :param username: the unique username of the user voting :param value: 1 for an upvote, -1 for a downvote, 0 for an unvote. """ value = int(value) if not -1 <= value <= 1: raise ValueError('vote value %s out of range (-1, 1)' % value) self.storage.process_vote(comment_id, username, value) def update_username(self, old_username, new_username): """To remain decoupled from a webapp's authentication system, the web support package stores a user's username with each of their comments and votes. If the authentication system allows a user to change their username, this can lead to stagnate data in the web support system. To avoid this, each time a username is changed, this method should be called. :param old_username: The original username. :param new_username: The new username. """ self.storage.update_username(old_username, new_username) def accept_comment(self, comment_id, moderator=False): """Accept a comment that is pending moderation. This raises :class:`~sphinx.websupport.errors.UserNotAuthorizedError` if moderator is False. :param comment_id: The id of the comment that was accepted. :param moderator: Whether the user making the request is a moderator. """ if not moderator: raise errors.UserNotAuthorizedError() self.storage.accept_comment(comment_id) def _make_base_comment_options(self): """Helper method to create the part of the COMMENT_OPTIONS javascript that remains the same throughout the lifetime of the :class:`~sphinx.websupport.WebSupport` object. """ self.base_comment_opts = {} if self.docroot != '': comment_urls = [ ('addCommentURL', '_add_comment'), ('getCommentsURL', '_get_comments'), ('processVoteURL', '_process_vote'), ('acceptCommentURL', '_accept_comment'), ('deleteCommentURL', '_delete_comment') ] for key, value in comment_urls: self.base_comment_opts[key] = \ '/' + posixpath.join(self.docroot, value) if self.staticroot != 'static': static_urls = [ ('commentImage', 'comment.png'), ('closeCommentImage', 'comment-close.png'), ('loadingImage', 'ajax-loader.gif'), ('commentBrightImage', 'comment-bright.png'), ('upArrow', 'up.png'), ('upArrowPressed', 'up-pressed.png'), ('downArrow', 'down.png'), ('downArrowPressed', 'down-pressed.png') ] for key, value in static_urls: self.base_comment_opts[key] = \ '/' + posixpath.join(self.staticroot, '_static', value) def _make_comment_options(self, username, moderator): """Helper method to create the parts of the COMMENT_OPTIONS javascript that are unique to each request. :param username: The username of the user making the request. :param moderator: Whether the user making the request is a moderator. """ rv = self.base_comment_opts.copy() if username: rv.update({ 'voting': True, 'username': username, 'moderator': moderator, }) return '''\ ''' % dump_json(rv) def _make_metadata(self, data): return '''\ ''' % dump_json(data) def _parse_comment_text(self, text): settings = {'file_insertion_enabled': False, 'raw_enabled': False, 'output_encoding': 'unicode'} try: ret = publish_parts(text, writer_name='html', settings_overrides=settings)['fragment'] except Exception: ret = htmlescape(text) return ret sphinx-1.2.2+dfsg.orig/sphinx/websupport/errors.py0000644000000000000000000000072112304304673021014 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.errors ~~~~~~~~~~~~~~~~~~~~~~~~ Contains Error classes for the web support package. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ class DocumentNotFoundError(Exception): pass class UserNotAuthorizedError(Exception): pass class CommentNotAllowedError(Exception): pass class NullSearchException(Exception): pass sphinx-1.2.2+dfsg.orig/sphinx/websupport/search/0000755000000000000000000000000012304560277020377 5ustar rootrootsphinx-1.2.2+dfsg.orig/sphinx/websupport/search/whooshsearch.py0000644000000000000000000000373212304304673023447 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.search.whooshsearch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Whoosh search adapter. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from whoosh import index from whoosh.fields import Schema, ID, TEXT from whoosh.qparser import QueryParser from whoosh.analysis import StemmingAnalyzer from sphinx.util.osutil import ensuredir from sphinx.websupport.search import BaseSearch class WhooshSearch(BaseSearch): """The whoosh search adapter for sphinx web support.""" # Define the Whoosh Schema for the search index. schema = Schema(path=ID(stored=True, unique=True), title=TEXT(field_boost=2.0, stored=True), text=TEXT(analyzer=StemmingAnalyzer(), stored=True)) def __init__(self, db_path): ensuredir(db_path) if index.exists_in(db_path): self.index = index.open_dir(db_path) else: self.index = index.create_in(db_path, schema=self.schema) self.qparser = QueryParser('text', self.schema) def init_indexing(self, changed=[]): for changed_path in changed: self.index.delete_by_term('path', changed_path) self.index_writer = self.index.writer() def finish_indexing(self): self.index_writer.commit() def add_document(self, pagename, title, text): self.index_writer.add_document(path=unicode(pagename), title=title, text=text) def handle_query(self, q): searcher = self.index.searcher() whoosh_results = searcher.search(self.qparser.parse(q)) results = [] for result in whoosh_results: context = self.extract_context(result['text']) results.append((result['path'], result.get('title', ''), context)) return results sphinx-1.2.2+dfsg.orig/sphinx/websupport/search/__init__.py0000644000000000000000000001101112304304673022476 0ustar rootroot# -*- coding: utf-8 -*- """ sphinx.websupport.search ~~~~~~~~~~~~~~~~~~~~~~~~ Server side search support for the web support package. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re class BaseSearch(object): def __init__(self, path): pass def init_indexing(self, changed=[]): """Called by the builder to initialize the search indexer. `changed` is a list of pagenames that will be reindexed. You may want to remove these from the search index before indexing begins. :param changed: a list of pagenames that will be re-indexed """ pass def finish_indexing(self): """Called by the builder when writing has been completed. Use this to perform any finalization or cleanup actions after indexing is complete. """ pass def feed(self, pagename, title, doctree): """Called by the builder to add a doctree to the index. Converts the `doctree` to text and passes it to :meth:`add_document`. You probably won't want to override this unless you need access to the `doctree`. Override :meth:`add_document` instead. :param pagename: the name of the page to be indexed :param title: the title of the page to be indexed :param doctree: is the docutils doctree representation of the page """ self.add_document(pagename, title, doctree.astext()) def add_document(self, pagename, title, text): """Called by :meth:`feed` to add a document to the search index. This method should should do everything necessary to add a single document to the search index. `pagename` is name of the page being indexed. It is the combination of the source files relative path and filename, minus the extension. For example, if the source file is "ext/builders.rst", the `pagename` would be "ext/builders". This will need to be returned with search results when processing a query. :param pagename: the name of the page being indexed :param title: the page's title :param text: the full text of the page """ raise NotImplementedError() def query(self, q): """Called by the web support api to get search results. This method compiles the regular expression to be used when :meth:`extracting context `, then calls :meth:`handle_query`. You won't want to override this unless you don't want to use the included :meth:`extract_context` method. Override :meth:`handle_query` instead. :param q: the search query string. """ self.context_re = re.compile('|'.join(q.split()), re.I) return self.handle_query(q) def handle_query(self, q): """Called by :meth:`query` to retrieve search results for a search query `q`. This should return an iterable containing tuples of the following format:: (, , <context>) `path` and `title` are the same values that were passed to :meth:`add_document`, and `context` should be a short text snippet of the text surrounding the search query in the document. The :meth:`extract_context` method is provided as a simple way to create the `context`. :param q: the search query """ raise NotImplementedError() def extract_context(self, text, length=240): """Extract the context for the search query from the document's full `text`. :param text: the full text of the document to create the context for :param length: the length of the context snippet to return. """ res = self.context_re.search(text) if res is None: return '' context_start = max(res.start() - int(length/2), 0) context_end = context_start + length context = ''.join([context_start > 0 and '...' or '', text[context_start:context_end], context_end < len(text) and '...' or '']) try: return unicode(context, errors='ignore') except TypeError: return context def context_for_searchtool(self): """Required by the HTML builder.""" return {} # The built-in search adapters. SEARCH_ADAPTERS = { 'xapian': ('xapiansearch', 'XapianSearch'), 'whoosh': ('whooshsearch', 'WhooshSearch'), 'null': ('nullsearch', 'NullSearch'), } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/websupport/search/xapiansearch.py�������������������������������������0000644�0000000�0000000�00000005026�12304304673�023416� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.websupport.search.xapiansearch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Xapian search adapter. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import xapian from sphinx.util.osutil import ensuredir from sphinx.websupport.search import BaseSearch class XapianSearch(BaseSearch): # Adapted from the GSOC 2009 webapp project. # Xapian metadata constants DOC_PATH = 0 DOC_TITLE = 1 def __init__(self, db_path): self.db_path = db_path def init_indexing(self, changed=[]): ensuredir(self.db_path) self.database = xapian.WritableDatabase(self.db_path, xapian.DB_CREATE_OR_OPEN) self.indexer = xapian.TermGenerator() stemmer = xapian.Stem("english") self.indexer.set_stemmer(stemmer) def finish_indexing(self): # Ensure the db lock is removed. del self.database def add_document(self, path, title, text): self.database.begin_transaction() # sphinx_page_path is used to easily retrieve documents by path. sphinx_page_path = '"sphinxpagepath%s"' % path.replace('/', '_') # Delete the old document if it exists. self.database.delete_document(sphinx_page_path) doc = xapian.Document() doc.set_data(text) doc.add_value(self.DOC_PATH, path) doc.add_value(self.DOC_TITLE, title) self.indexer.set_document(doc) self.indexer.index_text(text) doc.add_term(sphinx_page_path) for word in text.split(): doc.add_posting(word, 1) self.database.add_document(doc) self.database.commit_transaction() def handle_query(self, q): database = xapian.Database(self.db_path) enquire = xapian.Enquire(database) qp = xapian.QueryParser() stemmer = xapian.Stem("english") qp.set_stemmer(stemmer) qp.set_database(database) qp.set_stemming_strategy(xapian.QueryParser.STEM_SOME) query = qp.parse_query(q) # Find the top 100 results for the query. enquire.set_query(query) matches = enquire.get_mset(0, 100) results = [] for m in matches: context = self.extract_context(m.document.get_data()) results.append((m.document.get_value(self.DOC_PATH), m.document.get_value(self.DOC_TITLE), ''.join(context) )) return results ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/websupport/search/nullsearch.py���������������������������������������0000644�0000000�0000000�00000001222�12304304673�023102� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.websupport.search.nullsearch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The default search adapter, does nothing. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from sphinx.websupport.search import BaseSearch from sphinx.websupport.errors import NullSearchException class NullSearch(BaseSearch): """A search adapter that does nothing. Used when no search adapter is specified. """ def feed(self, pagename, title, doctree): pass def query(self, q): raise NullSearchException('No search adapter specified.') ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/jinja2glue.py���������������������������������������������������������0000644�0000000�0000000�00000011415�12304304673�017322� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.jinja2glue ~~~~~~~~~~~~~~~~~ Glue code for the jinja2 templating engine. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from os import path from pprint import pformat from jinja2 import FileSystemLoader, BaseLoader, TemplateNotFound, \ contextfunction from jinja2.utils import open_if_exists from jinja2.sandbox import SandboxedEnvironment from sphinx.application import TemplateBridge from sphinx.util.osutil import mtimes_of_files def _tobool(val): if isinstance(val, basestring): return val.lower() in ('true', '1', 'yes', 'on') return bool(val) def _toint(val): try: return int(val) except ValueError: return 0 def accesskey(context, key): """Helper to output each access key only once.""" if '_accesskeys' not in context: context.vars['_accesskeys'] = {} if key and key not in context.vars['_accesskeys']: context.vars['_accesskeys'][key] = 1 return 'accesskey="%s"' % key return '' class idgen(object): def __init__(self): self.id = 0 def current(self): return self.id def __next__(self): self.id += 1 return self.id next = __next__ # Python 2/Jinja compatibility class SphinxFileSystemLoader(FileSystemLoader): """ FileSystemLoader subclass that is not so strict about '..' entries in template names. """ def get_source(self, environment, template): for searchpath in self.searchpath: filename = path.join(searchpath, template) f = open_if_exists(filename) if f is None: continue try: contents = f.read().decode(self.encoding) finally: f.close() mtime = path.getmtime(filename) def uptodate(): try: return path.getmtime(filename) == mtime except OSError: return False return contents, filename, uptodate raise TemplateNotFound(template) class BuiltinTemplateLoader(TemplateBridge, BaseLoader): """ Interfaces the rendering environment of jinja2 for use in Sphinx. """ # TemplateBridge interface def init(self, builder, theme=None, dirs=None): # create a chain of paths to search if theme: # the theme's own dir and its bases' dirs pathchain = theme.get_dirchain() # then the theme parent paths loaderchain = pathchain + theme.themepath elif dirs: pathchain = list(dirs) loaderchain = list(dirs) else: pathchain = [] loaderchain = [] # prepend explicit template paths self.templatepathlen = len(builder.config.templates_path) if builder.config.templates_path: cfg_templates_path = [path.join(builder.confdir, tp) for tp in builder.config.templates_path] pathchain[0:0] = cfg_templates_path loaderchain[0:0] = cfg_templates_path # store it for use in newest_template_mtime self.pathchain = pathchain # make the paths into loaders self.loaders = map(SphinxFileSystemLoader, loaderchain) use_i18n = builder.app.translator is not None extensions = use_i18n and ['jinja2.ext.i18n'] or [] self.environment = SandboxedEnvironment(loader=self, extensions=extensions) self.environment.filters['tobool'] = _tobool self.environment.filters['toint'] = _toint self.environment.globals['debug'] = contextfunction(pformat) self.environment.globals['accesskey'] = contextfunction(accesskey) self.environment.globals['idgen'] = idgen if use_i18n: self.environment.install_gettext_translations( builder.app.translator) def render(self, template, context): return self.environment.get_template(template).render(context) def render_string(self, source, context): return self.environment.from_string(source).render(context) def newest_template_mtime(self): return max(mtimes_of_files(self.pathchain, '.html')) # Loader interface def get_source(self, environment, template): loaders = self.loaders # exclamation mark starts search from theme if template.startswith('!'): loaders = loaders[self.templatepathlen:] template = template[1:] for loader in loaders: try: return loader.get_source(environment, template) except TemplateNotFound: pass raise TemplateNotFound(template) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/errors.py�������������������������������������������������������������0000644�0000000�0000000�00000003257�12304304673�016611� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.errors ~~~~~~~~~~~~~ Contains SphinxError and a few subclasses (in an extra module to avoid circular import problems). :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ class SphinxError(Exception): """ Base class for Sphinx errors that are shown to the user in a nicer way than normal exceptions. """ category = 'Sphinx error' class SphinxWarning(SphinxError): """Raised for warnings if warnings are treated as errors.""" category = 'Warning, treated as error' class ExtensionError(SphinxError): """Raised if something's wrong with the configuration.""" category = 'Extension error' def __init__(self, message, orig_exc=None): SphinxError.__init__(self, message) self.orig_exc = orig_exc def __repr__(self): if self.orig_exc: return '%s(%r, %r)' % (self.__class__.__name__, self.message, self.orig_exc) return '%s(%r)' % (self.__class__.__name__, self.message) def __str__(self): parent_str = SphinxError.__str__(self) if self.orig_exc: return '%s (exception: %s)' % (parent_str, self.orig_exc) return parent_str class ConfigError(SphinxError): category = 'Configuration error' class ThemeError(SphinxError): category = 'Theme error' class VersionRequirementError(SphinxError): category = 'Sphinx version error' class PycodeError(Exception): def __str__(self): res = self.args[0] if len(self.args) > 1: res += ' (exception was: %r)' % self.args[1] return res �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/config.py�������������������������������������������������������������0000644�0000000�0000000�00000025133�12304557741�016545� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.config ~~~~~~~~~~~~~ Build configuration file handling. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import re import sys from os import path from sphinx.errors import ConfigError from sphinx.locale import l_ from sphinx.util.osutil import make_filename from sphinx.util.pycompat import bytes, b, execfile_ nonascii_re = re.compile(b(r'[\x80-\xff]')) CONFIG_SYNTAX_ERROR = "There is a syntax error in your configuration file: %s" if sys.version_info >= (3, 0): CONFIG_SYNTAX_ERROR += "\nDid you change the syntax from 2.x to 3.x?" class Config(object): """ Configuration file abstraction. """ # the values are: (default, what needs to be rebuilt if changed) # If you add a value here, don't forget to include it in the # quickstart.py file template as well as in the docs! config_values = dict( # general options project = ('Python', 'env'), copyright = ('', 'html'), version = ('', 'env'), release = ('', 'env'), today = ('', 'env'), today_fmt = (None, 'env'), # the real default is locale-dependent language = (None, 'env'), locale_dirs = ([], 'env'), master_doc = ('contents', 'env'), source_suffix = ('.rst', 'env'), source_encoding = ('utf-8-sig', 'env'), exclude_patterns = ([], 'env'), # the next three are all deprecated now unused_docs = ([], 'env'), exclude_trees = ([], 'env'), exclude_dirnames = ([], 'env'), default_role = (None, 'env'), add_function_parentheses = (True, 'env'), add_module_names = (True, 'env'), trim_footnote_reference_space = (False, 'env'), show_authors = (False, 'env'), pygments_style = (None, 'html'), highlight_language = ('python', 'env'), templates_path = ([], 'html'), template_bridge = (None, 'html'), keep_warnings = (False, 'env'), modindex_common_prefix = ([], 'html'), rst_epilog = (None, 'env'), rst_prolog = (None, 'env'), trim_doctest_flags = (True, 'env'), primary_domain = ('py', 'env'), needs_sphinx = (None, None), nitpicky = (False, 'env'), nitpick_ignore = ([], 'html'), # HTML options html_theme = ('default', 'html'), html_theme_path = ([], 'html'), html_theme_options = ({}, 'html'), html_title = (lambda self: l_('%s %s documentation') % (self.project, self.release), 'html'), html_short_title = (lambda self: self.html_title, 'html'), html_style = (None, 'html'), html_logo = (None, 'html'), html_favicon = (None, 'html'), html_static_path = ([], 'html'), html_extra_path = ([], 'html'), # the real default is locale-dependent html_last_updated_fmt = (None, 'html'), html_use_smartypants = (True, 'html'), html_translator_class = (None, 'html'), html_sidebars = ({}, 'html'), html_additional_pages = ({}, 'html'), html_use_modindex = (True, 'html'), # deprecated html_domain_indices = (True, 'html'), html_add_permalinks = (u'\u00B6', 'html'), html_use_index = (True, 'html'), html_split_index = (False, 'html'), html_copy_source = (True, 'html'), html_show_sourcelink = (True, 'html'), html_use_opensearch = ('', 'html'), html_file_suffix = (None, 'html'), html_link_suffix = (None, 'html'), html_show_copyright = (True, 'html'), html_show_sphinx = (True, 'html'), html_context = ({}, 'html'), html_output_encoding = ('utf-8', 'html'), html_compact_lists = (True, 'html'), html_secnumber_suffix = ('. ', 'html'), html_search_language = (None, 'html'), html_search_options = ({}, 'html'), html_search_scorer = ('', None), # HTML help only options htmlhelp_basename = (lambda self: make_filename(self.project), None), # Qt help only options qthelp_basename = (lambda self: make_filename(self.project), None), # Devhelp only options devhelp_basename = (lambda self: make_filename(self.project), None), # Epub options epub_basename = (lambda self: make_filename(self.project), None), epub_theme = ('epub', 'html'), epub_theme_options = ({}, 'html'), epub_title = (lambda self: self.html_title, 'html'), epub_author = ('unknown', 'html'), epub_language = (lambda self: self.language or 'en', 'html'), epub_publisher = ('unknown', 'html'), epub_copyright = (lambda self: self.copyright, 'html'), epub_identifier = ('unknown', 'html'), epub_scheme = ('unknown', 'html'), epub_uid = ('unknown', 'env'), epub_cover = ((), 'env'), epub_guide = ((), 'env'), epub_pre_files = ([], 'env'), epub_post_files = ([], 'env'), epub_exclude_files = ([], 'env'), epub_tocdepth = (3, 'env'), epub_tocdup = (True, 'env'), epub_tocscope = ('default', 'env'), epub_fix_images = (False, 'env'), epub_max_image_width = (0, 'env'), epub_show_urls = ('inline', 'html'), epub_use_index = (lambda self: self.html_use_index, 'html'), # LaTeX options latex_documents = (lambda self: [(self.master_doc, make_filename(self.project) + '.tex', self.project, '', 'manual')], None), latex_logo = (None, None), latex_appendices = ([], None), latex_use_parts = (False, None), latex_use_modindex = (True, None), # deprecated latex_domain_indices = (True, None), latex_show_urls = ('no', None), latex_show_pagerefs = (False, None), # paper_size and font_size are still separate values # so that you can give them easily on the command line latex_paper_size = ('letter', None), latex_font_size = ('10pt', None), latex_elements = ({}, None), latex_additional_files = ([], None), latex_docclass = ({}, None), # now deprecated - use latex_elements latex_preamble = ('', None), # text options text_sectionchars = ('*=-~"+`', 'env'), text_newlines = ('unix', 'env'), # manpage options man_pages = (lambda self: [(self.master_doc, make_filename(self.project).lower(), '%s %s' % (self.project, self.release), [], 1)], None), man_show_urls = (False, None), # Texinfo options texinfo_documents = (lambda self: [(self.master_doc, make_filename(self.project).lower(), self.project, '', make_filename(self.project), 'The %s reference manual.' % make_filename(self.project), 'Python')], None), texinfo_appendices = ([], None), texinfo_elements = ({}, None), texinfo_domain_indices = (True, None), texinfo_show_urls = ('footnote', None), texinfo_no_detailmenu = (False, None), # linkcheck options linkcheck_ignore = ([], None), linkcheck_timeout = (None, None), linkcheck_workers = (5, None), linkcheck_anchors = (True, None), # gettext options gettext_compact = (True, 'gettext'), # XML options xml_pretty = (True, 'env'), ) def __init__(self, dirname, filename, overrides, tags): self.overrides = overrides self.values = Config.config_values.copy() config = {} if "extensions" in overrides: config["extensions"] = overrides["extensions"] if dirname is not None: config_file = path.join(dirname, filename) config['__file__'] = config_file config['tags'] = tags olddir = os.getcwd() try: # we promise to have the config dir as current dir while the # config file is executed os.chdir(dirname) try: execfile_(filename, config) except SyntaxError, err: raise ConfigError(CONFIG_SYNTAX_ERROR % err) finally: os.chdir(olddir) self._raw_config = config # these two must be preinitialized because extensions can add their # own config values self.setup = config.get('setup', None) self.extensions = config.get('extensions', []) def check_unicode(self, warn): # check all string values for non-ASCII characters in bytestrings, # since that can result in UnicodeErrors all over the place for name, value in self._raw_config.iteritems(): if isinstance(value, bytes) and nonascii_re.search(value): warn('the config value %r is set to a string with non-ASCII ' 'characters; this can lead to Unicode errors occurring. ' 'Please use Unicode strings, e.g. %r.' % (name, u'Content') ) def init_values(self): config = self._raw_config for valname, value in self.overrides.iteritems(): if '.' in valname: realvalname, key = valname.split('.', 1) config.setdefault(realvalname, {})[key] = value else: config[valname] = value for name in config: if name in self.values: self.__dict__[name] = config[name] del self._raw_config def __getattr__(self, name): if name.startswith('_'): raise AttributeError(name) if name not in self.values: raise AttributeError('No such config value: %s' % name) default = self.values[name][0] if hasattr(default, '__call__'): return default(self) return default def __getitem__(self, name): return getattr(self, name) def __setitem__(self, name, value): setattr(self, name, value) def __delitem__(self, name): delattr(self, name) def __contains__(self, name): return name in self.values �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/highlighting.py�������������������������������������������������������0000644�0000000�0000000�00000017737�12304557741�017760� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.highlighting ~~~~~~~~~~~~~~~~~~~ Highlight code blocks using Pygments. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys import re import textwrap try: import parser except ImportError: # parser is not available on Jython parser = None from sphinx.util.pycompat import htmlescape from sphinx.util.texescape import tex_hl_escape_map_new from sphinx.ext import doctest try: import pygments from pygments import highlight from pygments.lexers import PythonLexer, PythonConsoleLexer, CLexer, \ TextLexer, RstLexer from pygments.lexers import get_lexer_by_name, guess_lexer from pygments.formatters import HtmlFormatter, LatexFormatter from pygments.filters import ErrorToken from pygments.styles import get_style_by_name from pygments.util import ClassNotFound from sphinx.pygments_styles import SphinxStyle, NoneStyle except ImportError: pygments = None lexers = None HtmlFormatter = LatexFormatter = None else: lexers = dict( none = TextLexer(), python = PythonLexer(), pycon = PythonConsoleLexer(), pycon3 = PythonConsoleLexer(python3=True), rest = RstLexer(), c = CLexer(), ) for _lexer in lexers.values(): _lexer.add_filter('raiseonerror') escape_hl_chars = {ord(u'\\'): u'\\PYGZbs{}', ord(u'{'): u'\\PYGZob{}', ord(u'}'): u'\\PYGZcb{}'} # used if Pygments is not available _LATEX_STYLES = r''' \newcommand\PYGZbs{\char`\\} \newcommand\PYGZob{\char`\{} \newcommand\PYGZcb{\char`\}} ''' parsing_exceptions = (SyntaxError, UnicodeEncodeError) if sys.version_info < (2, 5): # Python <= 2.4 raises MemoryError when parsing an # invalid encoding cookie parsing_exceptions += MemoryError, class PygmentsBridge(object): # Set these attributes if you want to have different Pygments formatters # than the default ones. html_formatter = HtmlFormatter latex_formatter = LatexFormatter def __init__(self, dest='html', stylename='sphinx', trim_doctest_flags=False): self.dest = dest if not pygments: return if stylename is None or stylename == 'sphinx': style = SphinxStyle elif stylename == 'none': style = NoneStyle elif '.' in stylename: module, stylename = stylename.rsplit('.', 1) style = getattr(__import__(module, None, None, ['__name__']), stylename) else: style = get_style_by_name(stylename) self.trim_doctest_flags = trim_doctest_flags self.formatter_args = {'style' : style} if dest == 'html': self.formatter = self.html_formatter else: self.formatter = self.latex_formatter self.formatter_args['commandprefix'] = 'PYG' def get_formatter(self, **kwargs): kwargs.update(self.formatter_args) return self.formatter(**kwargs) def unhighlighted(self, source): if self.dest == 'html': return '<pre>' + htmlescape(source) + '</pre>\n' else: # first, escape highlighting characters like Pygments does source = source.translate(escape_hl_chars) # then, escape all characters nonrepresentable in LaTeX source = source.translate(tex_hl_escape_map_new) return '\\begin{Verbatim}[commandchars=\\\\\\{\\}]\n' + \ source + '\\end{Verbatim}\n' def try_parse(self, src): # Make sure it ends in a newline src += '\n' # Ignore consistent indentation. if src.lstrip('\n').startswith(' '): src = textwrap.dedent(src) # Replace "..." by a mark which is also a valid python expression # (Note, the highlighter gets the original source, this is only done # to allow "..." in code and still highlight it as Python code.) mark = "__highlighting__ellipsis__" src = src.replace("...", mark) # lines beginning with "..." are probably placeholders for suite src = re.sub(r"(?m)^(\s*)" + mark + "(.)", r"\1"+ mark + r"# \2", src) # if we're using 2.5, use the with statement if sys.version_info >= (2, 5): src = 'from __future__ import with_statement\n' + src if sys.version_info < (3, 0) and isinstance(src, unicode): # Non-ASCII chars will only occur in string literals # and comments. If we wanted to give them to the parser # correctly, we'd have to find out the correct source # encoding. Since it may not even be given in a snippet, # just replace all non-ASCII characters. src = src.encode('ascii', 'replace') if (3, 0) <= sys.version_info < (3, 2): # Python 3.1 can't process '\r' as linesep. # `parser.suite("print('hello')\r\n")` cause error. if '\r\n' in src: src = src.replace('\r\n', '\n') if parser is None: return True try: parser.suite(src) except parsing_exceptions: return False else: return True def highlight_block(self, source, lang, warn=None, force=False, **kwargs): if not isinstance(source, unicode): source = source.decode() if not pygments: return self.unhighlighted(source) # find out which lexer to use if lang in ('py', 'python'): if source.startswith('>>>'): # interactive session lexer = lexers['pycon'] elif not force: # maybe Python -- try parsing it if self.try_parse(source): lexer = lexers['python'] else: lexer = lexers['none'] else: lexer = lexers['python'] elif lang in ('python3', 'py3') and source.startswith('>>>'): # for py3, recognize interactive sessions, but do not try parsing... lexer = lexers['pycon3'] elif lang == 'guess': try: lexer = guess_lexer(source) except Exception: lexer = lexers['none'] else: if lang in lexers: lexer = lexers[lang] else: try: lexer = lexers[lang] = get_lexer_by_name(lang) except ClassNotFound: if warn: warn('Pygments lexer name %r is not known' % lang) lexer = lexers['none'] else: raise else: lexer.add_filter('raiseonerror') # trim doctest options if wanted if isinstance(lexer, PythonConsoleLexer) and self.trim_doctest_flags: source = doctest.blankline_re.sub('', source) source = doctest.doctestopt_re.sub('', source) # highlight via Pygments formatter = self.get_formatter(**kwargs) try: hlsource = highlight(source, lexer, formatter) except ErrorToken: # this is most probably not the selected language, # so let it pass unhighlighted hlsource = highlight(source, lexers['none'], formatter) if self.dest == 'html': return hlsource else: if not isinstance(hlsource, unicode): # Py2 / Pygments < 1.6 hlsource = hlsource.decode() return hlsource.translate(tex_hl_escape_map_new) def get_stylesheet(self): if not pygments: if self.dest == 'latex': return _LATEX_STYLES # no HTML styles needed return '' formatter = self.get_formatter() if self.dest == 'html': return formatter.get_style_defs('.highlight') else: return formatter.get_style_defs() ���������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/��������������������������������������������������������������0000755�0000000�0000000�00000000000�12304560277�016352� 5����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/std.py��������������������������������������������������������0000644�0000000�0000000�00000057262�12304557741�017534� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.std ~~~~~~~~~~~~~~~~~~ The standard domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import unicodedata from docutils import nodes from docutils.parsers.rst import directives from docutils.statemachine import ViewList from sphinx import addnodes from sphinx.roles import XRefRole from sphinx.locale import l_, _ from sphinx.domains import Domain, ObjType from sphinx.directives import ObjectDescription from sphinx.util import ws_re from sphinx.util.nodes import clean_astext, make_refnode from sphinx.util.compat import Directive # RE for option descriptions option_desc_re = re.compile(r'((?:/|-|--)?[-_a-zA-Z0-9]+)(\s*.*)') class GenericObject(ObjectDescription): """ A generic x-ref directive registered with Sphinx.add_object_type(). """ indextemplate = '' parse_node = None def handle_signature(self, sig, signode): if self.parse_node: name = self.parse_node(self.env, sig, signode) else: signode.clear() signode += addnodes.desc_name(sig, sig) # normalize whitespace like XRefRole does name = ws_re.sub('', sig) return name def add_target_and_index(self, name, sig, signode): targetname = '%s-%s' % (self.objtype, name) signode['ids'].append(targetname) self.state.document.note_explicit_target(signode) if self.indextemplate: colon = self.indextemplate.find(':') if colon != -1: indextype = self.indextemplate[:colon].strip() indexentry = self.indextemplate[colon+1:].strip() % (name,) else: indextype = 'single' indexentry = self.indextemplate % (name,) self.indexnode['entries'].append((indextype, indexentry, targetname, '')) self.env.domaindata['std']['objects'][self.objtype, name] = \ self.env.docname, targetname class EnvVar(GenericObject): indextemplate = l_('environment variable; %s') class EnvVarXRefRole(XRefRole): """ Cross-referencing role for environment variables (adds an index entry). """ def result_nodes(self, document, env, node, is_ref): if not is_ref: return [node], [] varname = node['reftarget'] tgtid = 'index-%s' % env.new_serialno('index') indexnode = addnodes.index() indexnode['entries'] = [ ('single', varname, tgtid, ''), ('single', _('environment variable; %s') % varname, tgtid, '') ] targetnode = nodes.target('', '', ids=[tgtid]) document.note_explicit_target(targetnode) return [indexnode, targetnode, node], [] class Target(Directive): """ Generic target for user-defined cross-reference types. """ indextemplate = '' has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): env = self.state.document.settings.env # normalize whitespace in fullname like XRefRole does fullname = ws_re.sub(' ', self.arguments[0].strip()) targetname = '%s-%s' % (self.name, fullname) node = nodes.target('', '', ids=[targetname]) self.state.document.note_explicit_target(node) ret = [node] if self.indextemplate: indexentry = self.indextemplate % (fullname,) indextype = 'single' colon = indexentry.find(':') if colon != -1: indextype = indexentry[:colon].strip() indexentry = indexentry[colon+1:].strip() inode = addnodes.index(entries=[(indextype, indexentry, targetname, '')]) ret.insert(0, inode) name = self.name if ':' in self.name: _, name = self.name.split(':', 1) env.domaindata['std']['objects'][name, fullname] = \ env.docname, targetname return ret class Cmdoption(ObjectDescription): """ Description of a command-line option (.. option). """ def handle_signature(self, sig, signode): """Transform an option description into RST nodes.""" count = 0 firstname = '' for potential_option in sig.split(', '): potential_option = potential_option.strip() m = option_desc_re.match(potential_option) if not m: self.env.warn( self.env.docname, 'Malformed option description %r, should ' 'look like "opt", "-opt args", "--opt args" or ' '"/opt args"' % potential_option, self.lineno) continue optname, args = m.groups() if count: signode += addnodes.desc_addname(', ', ', ') signode += addnodes.desc_name(optname, optname) signode += addnodes.desc_addname(args, args) if not count: firstname = optname signode['allnames'] = [optname] else: signode['allnames'].append(optname) count += 1 if not firstname: raise ValueError return firstname def add_target_and_index(self, firstname, sig, signode): currprogram = self.env.temp_data.get('std:program') for optname in signode.get('allnames', []): targetname = optname.replace('/', '-') if not targetname.startswith('-'): targetname = '-arg-' + targetname if currprogram: targetname = '-' + currprogram + targetname targetname = 'cmdoption' + targetname signode['ids'].append(targetname) self.state.document.note_explicit_target(signode) self.env.domaindata['std']['progoptions'][currprogram, optname] = \ self.env.docname, targetname # create only one index entry for the whole option if optname == firstname: self.indexnode['entries'].append( ('pair', _('%scommand line option; %s') % ((currprogram and currprogram + ' ' or ''), sig), targetname, '')) class Program(Directive): """ Directive to name the program for which options are documented. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): env = self.state.document.settings.env program = ws_re.sub('-', self.arguments[0].strip()) if program == 'None': env.temp_data['std:program'] = None else: env.temp_data['std:program'] = program return [] class OptionXRefRole(XRefRole): innernodeclass = addnodes.literal_emphasis def _split(self, text, refnode, env): try: program, target = re.split(' (?=-|--|/)', text, 1) except ValueError: env.warn_node('Malformed :option: %r, does not contain option ' 'marker - or -- or /' % text, refnode) return None, text else: program = ws_re.sub('-', program) return program, target def process_link(self, env, refnode, has_explicit_title, title, target): program = env.temp_data.get('std:program') if not has_explicit_title: if ' ' in title and not (title.startswith('/') or title.startswith('-')): program, target = self._split(title, refnode, env) target = target.strip() elif ' ' in target: program, target = self._split(target, refnode, env) refnode['refprogram'] = program return title, target def make_termnodes_from_paragraph_node(env, node, new_id=None): gloss_entries = env.temp_data.setdefault('gloss_entries', set()) objects = env.domaindata['std']['objects'] termtext = node.astext() if new_id is None: new_id = 'term-' + nodes.make_id(termtext) if new_id in gloss_entries: new_id = 'term-' + str(len(gloss_entries)) gloss_entries.add(new_id) objects['term', termtext.lower()] = env.docname, new_id # add an index entry too indexnode = addnodes.index() indexnode['entries'] = [('single', termtext, new_id, 'main')] new_termnodes = [] new_termnodes.append(indexnode) new_termnodes.extend(node.children) new_termnodes.append(addnodes.termsep()) for termnode in new_termnodes: termnode.source, termnode.line = node.source, node.line return new_id, termtext, new_termnodes def make_term_from_paragraph_node(termnodes, ids): # make a single "term" node with all the terms, separated by termsep # nodes (remove the dangling trailing separator) term = nodes.term('', '', *termnodes[:-1]) term.source, term.line = termnodes[0].source, termnodes[0].line term.rawsource = term.astext() term['ids'].extend(ids) term['names'].extend(ids) return term class Glossary(Directive): """ Directive to create a glossary with cross-reference targets for :term: roles. """ has_content = True required_arguments = 0 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'sorted': directives.flag, } def run(self): env = self.state.document.settings.env node = addnodes.glossary() node.document = self.state.document # This directive implements a custom format of the reST definition list # that allows multiple lines of terms before the definition. This is # easy to parse since we know that the contents of the glossary *must # be* a definition list. # first, collect single entries entries = [] in_definition = True was_empty = True messages = [] for line, (source, lineno) in zip(self.content, self.content.items): # empty line -> add to last definition if not line: if in_definition and entries: entries[-1][1].append('', source, lineno) was_empty = True continue # unindented line -> a term if line and not line[0].isspace(): # enable comments if line.startswith('.. '): continue # first term of definition if in_definition: if not was_empty: messages.append(self.state.reporter.system_message( 2, 'glossary term must be preceded by empty line', source=source, line=lineno)) entries.append(([(line, source, lineno)], ViewList())) in_definition = False # second term and following else: if was_empty: messages.append(self.state.reporter.system_message( 2, 'glossary terms must not be separated by empty ' 'lines', source=source, line=lineno)) if entries: entries[-1][0].append((line, source, lineno)) else: messages.append(self.state.reporter.system_message( 2, 'glossary seems to be misformatted, check ' 'indentation', source=source, line=lineno)) else: if not in_definition: # first line of definition, determines indentation in_definition = True indent_len = len(line) - len(line.lstrip()) if entries: entries[-1][1].append(line[indent_len:], source, lineno) else: messages.append(self.state.reporter.system_message( 2, 'glossary seems to be misformatted, check ' 'indentation', source=source, line=lineno)) was_empty = False # now, parse all the entries into a big definition list items = [] for terms, definition in entries: termtexts = [] termnodes = [] system_messages = [] ids = [] for line, source, lineno in terms: # parse the term with inline markup res = self.state.inline_text(line, lineno) system_messages.extend(res[1]) # get a text-only representation of the term and register it # as a cross-reference target tmp = nodes.paragraph('', '', *res[0]) tmp.source = source tmp.line = lineno new_id, termtext, new_termnodes = \ make_termnodes_from_paragraph_node(env, tmp) ids.append(new_id) termtexts.append(termtext) termnodes.extend(new_termnodes) term = make_term_from_paragraph_node(termnodes, ids) term += system_messages defnode = nodes.definition() if definition: self.state.nested_parse(definition, definition.items[0][1], defnode) items.append((termtexts, nodes.definition_list_item('', term, defnode))) if 'sorted' in self.options: items.sort(key=lambda x: unicodedata.normalize('NFD', x[0][0].lower())) dlist = nodes.definition_list() dlist['classes'].append('glossary') dlist.extend(item[1] for item in items) node += dlist return messages + [node] token_re = re.compile('`(\w+)`', re.U) def token_xrefs(text): retnodes = [] pos = 0 for m in token_re.finditer(text): if m.start() > pos: txt = text[pos:m.start()] retnodes.append(nodes.Text(txt, txt)) refnode = addnodes.pending_xref( m.group(1), reftype='token', refdomain='std', reftarget=m.group(1)) refnode += nodes.literal(m.group(1), m.group(1), classes=['xref']) retnodes.append(refnode) pos = m.end() if pos < len(text): retnodes.append(nodes.Text(text[pos:], text[pos:])) return retnodes class ProductionList(Directive): """ Directive to list grammar productions. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): env = self.state.document.settings.env objects = env.domaindata['std']['objects'] node = addnodes.productionlist() messages = [] i = 0 for rule in self.arguments[0].split('\n'): if i == 0 and ':' not in rule: # production group continue i += 1 try: name, tokens = rule.split(':', 1) except ValueError: break subnode = addnodes.production() subnode['tokenname'] = name.strip() if subnode['tokenname']: idname = 'grammar-token-%s' % subnode['tokenname'] if idname not in self.state.document.ids: subnode['ids'].append(idname) self.state.document.note_implicit_target(subnode, subnode) objects['token', subnode['tokenname']] = env.docname, idname subnode.extend(token_xrefs(tokens)) node.append(subnode) return [node] + messages class StandardDomain(Domain): """ Domain for all objects that don't fit into another domain or are added via the application interface. """ name = 'std' label = 'Default' object_types = { 'term': ObjType(l_('glossary term'), 'term', searchprio=-1), 'token': ObjType(l_('grammar token'), 'token', searchprio=-1), 'label': ObjType(l_('reference label'), 'ref', 'keyword', searchprio=-1), 'envvar': ObjType(l_('environment variable'), 'envvar'), 'cmdoption': ObjType(l_('program option'), 'option'), } directives = { 'program': Program, 'cmdoption': Cmdoption, # old name for backwards compatibility 'option': Cmdoption, 'envvar': EnvVar, 'glossary': Glossary, 'productionlist': ProductionList, } roles = { 'option': OptionXRefRole(innernodeclass=addnodes.literal_emphasis), 'envvar': EnvVarXRefRole(), # links to tokens in grammar productions 'token': XRefRole(), # links to terms in glossary 'term': XRefRole(lowercase=True, innernodeclass=nodes.emphasis, warn_dangling=True), # links to headings or arbitrary labels 'ref': XRefRole(lowercase=True, innernodeclass=nodes.emphasis, warn_dangling=True), # links to labels, without a different title 'keyword': XRefRole(warn_dangling=True), } initial_data = { 'progoptions': {}, # (program, name) -> docname, labelid 'objects': {}, # (type, name) -> docname, labelid 'labels': { # labelname -> docname, labelid, sectionname 'genindex': ('genindex', '', l_('Index')), 'modindex': ('py-modindex', '', l_('Module Index')), 'search': ('search', '', l_('Search Page')), }, 'anonlabels': { # labelname -> docname, labelid 'genindex': ('genindex', ''), 'modindex': ('py-modindex', ''), 'search': ('search', ''), }, } dangling_warnings = { 'term': 'term not in glossary: %(target)s', 'ref': 'undefined label: %(target)s (if the link has no caption ' 'the label must precede a section header)', 'keyword': 'unknown keyword: %(target)s', } def clear_doc(self, docname): for key, (fn, _) in self.data['progoptions'].items(): if fn == docname: del self.data['progoptions'][key] for key, (fn, _) in self.data['objects'].items(): if fn == docname: del self.data['objects'][key] for key, (fn, _, _) in self.data['labels'].items(): if fn == docname: del self.data['labels'][key] for key, (fn, _) in self.data['anonlabels'].items(): if fn == docname: del self.data['anonlabels'][key] def process_doc(self, env, docname, document): labels, anonlabels = self.data['labels'], self.data['anonlabels'] for name, explicit in document.nametypes.iteritems(): if not explicit: continue labelid = document.nameids[name] if labelid is None: continue node = document.ids[labelid] if name.isdigit() or node.has_key('refuri') or \ node.tagname.startswith('desc_'): # ignore footnote labels, labels automatically generated from a # link and object descriptions continue if name in labels: env.warn_node('duplicate label %s, ' % name + 'other instance ' 'in ' + env.doc2path(labels[name][0]), node) anonlabels[name] = docname, labelid if node.tagname == 'section': sectname = clean_astext(node[0]) # node[0] == title node elif node.tagname == 'figure': for n in node: if n.tagname == 'caption': sectname = clean_astext(n) break else: continue elif node.tagname == 'table': for n in node: if n.tagname == 'title': sectname = clean_astext(n) break else: continue else: # anonymous-only labels continue labels[name] = docname, labelid, sectname def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): if typ == 'ref': if node['refexplicit']: # reference to anonymous label; the reference uses # the supplied link caption docname, labelid = self.data['anonlabels'].get(target, ('','')) sectname = node.astext() else: # reference to named label; the final node will # contain the section name after the label docname, labelid, sectname = self.data['labels'].get(target, ('','','')) if not docname: return None newnode = nodes.reference('', '', internal=True) innernode = nodes.emphasis(sectname, sectname) if docname == fromdocname: newnode['refid'] = labelid else: # set more info in contnode; in case the # get_relative_uri call raises NoUri, # the builder will then have to resolve these contnode = addnodes.pending_xref('') contnode['refdocname'] = docname contnode['refsectname'] = sectname newnode['refuri'] = builder.get_relative_uri( fromdocname, docname) if labelid: newnode['refuri'] += '#' + labelid newnode.append(innernode) return newnode elif typ == 'keyword': # keywords are oddballs: they are referenced by named labels docname, labelid, _ = self.data['labels'].get(target, ('','','')) if not docname: return None return make_refnode(builder, fromdocname, docname, labelid, contnode) elif typ == 'option': progname = node['refprogram'] docname, labelid = self.data['progoptions'].get((progname, target), ('', '')) if not docname: return None return make_refnode(builder, fromdocname, docname, labelid, contnode) else: objtypes = self.objtypes_for_role(typ) or [] for objtype in objtypes: if (objtype, target) in self.data['objects']: docname, labelid = self.data['objects'][objtype, target] break else: docname, labelid = '', '' if not docname: return None return make_refnode(builder, fromdocname, docname, labelid, contnode) def get_objects(self): for (prog, option), info in self.data['progoptions'].iteritems(): yield (option, option, 'option', info[0], info[1], 1) for (type, name), info in self.data['objects'].iteritems(): yield (name, name, type, info[0], info[1], self.object_types[type].attrs['searchprio']) for name, info in self.data['labels'].iteritems(): yield (name, info[2], 'label', info[0], info[1], -1) # add anonymous-only labels as well non_anon_labels = set(self.data['labels']) for name, info in self.data['anonlabels'].iteritems(): if name not in non_anon_labels: yield (name, name, 'label', info[0], info[1], -1) def get_type_name(self, type, primary=False): # never prepend "Default" return type.lname ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/c.py����������������������������������������������������������0000644�0000000�0000000�00000021462�12304557741�017155� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.c ~~~~~~~~~~~~~~~~ The C language domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import string from docutils import nodes from sphinx import addnodes from sphinx.roles import XRefRole from sphinx.locale import l_, _ from sphinx.domains import Domain, ObjType from sphinx.directives import ObjectDescription from sphinx.util.nodes import make_refnode from sphinx.util.docfields import Field, TypedField # RE to split at word boundaries wsplit_re = re.compile(r'(\W+)') # REs for C signatures c_sig_re = re.compile( r'''^([^(]*?) # return type ([\w:.]+) \s* # thing name (colon allowed for C++) (?: \((.*)\) )? # optionally arguments (\s+const)? $ # const specifier ''', re.VERBOSE) c_funcptr_sig_re = re.compile( r'''^([^(]+?) # return type (\( [^()]+ \)) \s* # name in parentheses \( (.*) \) # arguments (\s+const)? $ # const specifier ''', re.VERBOSE) c_funcptr_name_re = re.compile(r'^\(\s*\*\s*(.*?)\s*\)$') class CObject(ObjectDescription): """ Description of a C language object. """ doc_field_types = [ TypedField('parameter', label=l_('Parameters'), names=('param', 'parameter', 'arg', 'argument'), typerolename='type', typenames=('type',)), Field('returnvalue', label=l_('Returns'), has_arg=False, names=('returns', 'return')), Field('returntype', label=l_('Return type'), has_arg=False, names=('rtype',)), ] # These C types aren't described anywhere, so don't try to create # a cross-reference to them stopwords = set(( 'const', 'void', 'char', 'wchar_t', 'int', 'short', 'long', 'float', 'double', 'unsigned', 'signed', 'FILE', 'clock_t', 'time_t', 'ptrdiff_t', 'size_t', 'ssize_t', 'struct', '_Bool', )) def _parse_type(self, node, ctype): # add cross-ref nodes for all words for part in filter(None, wsplit_re.split(ctype)): tnode = nodes.Text(part, part) if part[0] in string.ascii_letters+'_' and \ part not in self.stopwords: pnode = addnodes.pending_xref( '', refdomain='c', reftype='type', reftarget=part, modname=None, classname=None) pnode += tnode node += pnode else: node += tnode def handle_signature(self, sig, signode): """Transform a C signature into RST nodes.""" # first try the function pointer signature regex, it's more specific m = c_funcptr_sig_re.match(sig) if m is None: m = c_sig_re.match(sig) if m is None: raise ValueError('no match') rettype, name, arglist, const = m.groups() signode += addnodes.desc_type('', '') self._parse_type(signode[-1], rettype) try: classname, funcname = name.split('::', 1) classname += '::' signode += addnodes.desc_addname(classname, classname) signode += addnodes.desc_name(funcname, funcname) # name (the full name) is still both parts except ValueError: signode += addnodes.desc_name(name, name) # clean up parentheses from canonical name m = c_funcptr_name_re.match(name) if m: name = m.group(1) typename = self.env.temp_data.get('c:type') if self.name == 'c:member' and typename: fullname = typename + '.' + name else: fullname = name if not arglist: if self.objtype == 'function': # for functions, add an empty parameter list signode += addnodes.desc_parameterlist() if const: signode += addnodes.desc_addname(const, const) return fullname paramlist = addnodes.desc_parameterlist() arglist = arglist.replace('`', '').replace('\\ ', '') # remove markup # this messes up function pointer types, but not too badly ;) args = arglist.split(',') for arg in args: arg = arg.strip() param = addnodes.desc_parameter('', '', noemph=True) try: ctype, argname = arg.rsplit(' ', 1) except ValueError: # no argument name given, only the type self._parse_type(param, arg) else: self._parse_type(param, ctype) # separate by non-breaking space in the output param += nodes.emphasis(' '+argname, u'\xa0'+argname) paramlist += param signode += paramlist if const: signode += addnodes.desc_addname(const, const) return fullname def get_index_text(self, name): if self.objtype == 'function': return _('%s (C function)') % name elif self.objtype == 'member': return _('%s (C member)') % name elif self.objtype == 'macro': return _('%s (C macro)') % name elif self.objtype == 'type': return _('%s (C type)') % name elif self.objtype == 'var': return _('%s (C variable)') % name else: return '' def add_target_and_index(self, name, sig, signode): # for C API items we add a prefix since names are usually not qualified # by a module name and so easily clash with e.g. section titles targetname = 'c.' + name if targetname not in self.state.document.ids: signode['names'].append(targetname) signode['ids'].append(targetname) signode['first'] = (not self.names) self.state.document.note_explicit_target(signode) inv = self.env.domaindata['c']['objects'] if name in inv: self.state_machine.reporter.warning( 'duplicate C object description of %s, ' % name + 'other instance in ' + self.env.doc2path(inv[name][0]), line=self.lineno) inv[name] = (self.env.docname, self.objtype) indextext = self.get_index_text(name) if indextext: self.indexnode['entries'].append(('single', indextext, targetname, '')) def before_content(self): self.typename_set = False if self.name == 'c:type': if self.names: self.env.temp_data['c:type'] = self.names[0] self.typename_set = True def after_content(self): if self.typename_set: self.env.temp_data['c:type'] = None class CXRefRole(XRefRole): def process_link(self, env, refnode, has_explicit_title, title, target): if not has_explicit_title: target = target.lstrip('~') # only has a meaning for the title # if the first character is a tilde, don't display the module/class # parts of the contents if title[0:1] == '~': title = title[1:] dot = title.rfind('.') if dot != -1: title = title[dot+1:] return title, target class CDomain(Domain): """C language domain.""" name = 'c' label = 'C' object_types = { 'function': ObjType(l_('function'), 'func'), 'member': ObjType(l_('member'), 'member'), 'macro': ObjType(l_('macro'), 'macro'), 'type': ObjType(l_('type'), 'type'), 'var': ObjType(l_('variable'), 'data'), } directives = { 'function': CObject, 'member': CObject, 'macro': CObject, 'type': CObject, 'var': CObject, } roles = { 'func' : CXRefRole(fix_parens=True), 'member': CXRefRole(), 'macro': CXRefRole(), 'data': CXRefRole(), 'type': CXRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype } def clear_doc(self, docname): for fullname, (fn, _) in self.data['objects'].items(): if fn == docname: del self.data['objects'][fullname] def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): # strip pointer asterisk target = target.rstrip(' *') if target not in self.data['objects']: return None obj = self.data['objects'][target] return make_refnode(builder, fromdocname, obj[0], 'c.' + target, contnode, target) def get_objects(self): for refname, (docname, type) in self.data['objects'].iteritems(): yield (refname, refname, type, docname, 'c.' + refname, 1) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/rst.py��������������������������������������������������������0000644�0000000�0000000�00000010236�12304304673�017532� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.rst ~~~~~~~~~~~~~~~~~~ The reStructuredText domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from sphinx import addnodes from sphinx.domains import Domain, ObjType from sphinx.locale import l_, _ from sphinx.directives import ObjectDescription from sphinx.roles import XRefRole from sphinx.util.nodes import make_refnode dir_sig_re = re.compile(r'\.\. (.+?)::(.*)$') class ReSTMarkup(ObjectDescription): """ Description of generic reST markup. """ def add_target_and_index(self, name, sig, signode): targetname = self.objtype + '-' + name if targetname not in self.state.document.ids: signode['names'].append(targetname) signode['ids'].append(targetname) signode['first'] = (not self.names) self.state.document.note_explicit_target(signode) objects = self.env.domaindata['rst']['objects'] key = (self.objtype, name) if key in objects: self.state_machine.reporter.warning( 'duplicate description of %s %s, ' % (self.objtype, name) + 'other instance in ' + self.env.doc2path(objects[key]), line=self.lineno) objects[key] = self.env.docname indextext = self.get_index_text(self.objtype, name) if indextext: self.indexnode['entries'].append(('single', indextext, targetname, '')) def get_index_text(self, objectname, name): if self.objtype == 'directive': return _('%s (directive)') % name elif self.objtype == 'role': return _('%s (role)') % name return '' def parse_directive(d): """Parse a directive signature. Returns (directive, arguments) string tuple. If no arguments are given, returns (directive, ''). """ dir = d.strip() if not dir.startswith('.'): # Assume it is a directive without syntax return (dir, '') m = dir_sig_re.match(dir) if not m: return (dir, '') parsed_dir, parsed_args = m.groups() return (parsed_dir.strip(), ' ' + parsed_args.strip()) class ReSTDirective(ReSTMarkup): """ Description of a reST directive. """ def handle_signature(self, sig, signode): name, args = parse_directive(sig) desc_name = '.. %s::' % name signode += addnodes.desc_name(desc_name, desc_name) if len(args) > 0: signode += addnodes.desc_addname(args, args) return name class ReSTRole(ReSTMarkup): """ Description of a reST role. """ def handle_signature(self, sig, signode): signode += addnodes.desc_name(':%s:' % sig, ':%s:' % sig) return sig class ReSTDomain(Domain): """ReStructuredText domain.""" name = 'rst' label = 'reStructuredText' object_types = { 'directive': ObjType(l_('directive'), 'dir'), 'role': ObjType(l_('role'), 'role'), } directives = { 'directive': ReSTDirective, 'role': ReSTRole, } roles = { 'dir': XRefRole(), 'role': XRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype } def clear_doc(self, docname): for (typ, name), doc in self.data['objects'].items(): if doc == docname: del self.data['objects'][typ, name] def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): objects = self.data['objects'] objtypes = self.objtypes_for_role(typ) for objtype in objtypes: if (objtype, target) in objects: return make_refnode(builder, fromdocname, objects[objtype, target], objtype + '-' + target, contnode, target + ' ' + objtype) def get_objects(self): for (typ, name), docname in self.data['objects'].iteritems(): yield name, name, typ, docname, typ + '-' + name, 1 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/python.py�����������������������������������������������������0000644�0000000�0000000�00000064144�12304557741�020260� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.python ~~~~~~~~~~~~~~~~~~~~~ The Python domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from docutils import nodes from docutils.parsers.rst import directives from sphinx import addnodes from sphinx.roles import XRefRole from sphinx.locale import l_, _ from sphinx.domains import Domain, ObjType, Index from sphinx.directives import ObjectDescription from sphinx.util.nodes import make_refnode from sphinx.util.compat import Directive from sphinx.util.docfields import Field, GroupedField, TypedField # REs for Python signatures py_sig_re = re.compile( r'''^ ([\w.]*\.)? # class name(s) (\w+) \s* # thing name (?: \((.*)\) # optional: arguments (?:\s* -> \s* (.*))? # return annotation )? $ # and nothing more ''', re.VERBOSE) def _pseudo_parse_arglist(signode, arglist): """"Parse" a list of arguments separated by commas. Arguments can have "optional" annotations given by enclosing them in brackets. Currently, this will split at any comma, even if it's inside a string literal (e.g. default argument value). """ paramlist = addnodes.desc_parameterlist() stack = [paramlist] try: for argument in arglist.split(','): argument = argument.strip() ends_open = ends_close = 0 while argument.startswith('['): stack.append(addnodes.desc_optional()) stack[-2] += stack[-1] argument = argument[1:].strip() while argument.startswith(']'): stack.pop() argument = argument[1:].strip() while argument.endswith(']'): ends_close += 1 argument = argument[:-1].strip() while argument.endswith('['): ends_open += 1 argument = argument[:-1].strip() if argument: stack[-1] += addnodes.desc_parameter(argument, argument) while ends_open: stack.append(addnodes.desc_optional()) stack[-2] += stack[-1] ends_open -= 1 while ends_close: stack.pop() ends_close -= 1 if len(stack) != 1: raise IndexError except IndexError: # if there are too few or too many elements on the stack, just give up # and treat the whole argument list as one argument, discarding the # already partially populated paramlist node signode += addnodes.desc_parameterlist() signode[-1] += addnodes.desc_parameter(arglist, arglist) else: signode += paramlist class PyObject(ObjectDescription): """ Description of a general Python object. """ option_spec = { 'noindex': directives.flag, 'module': directives.unchanged, 'annotation': directives.unchanged, } doc_field_types = [ TypedField('parameter', label=l_('Parameters'), names=('param', 'parameter', 'arg', 'argument', 'keyword', 'kwarg', 'kwparam'), typerolename='obj', typenames=('paramtype', 'type'), can_collapse=True), TypedField('variable', label=l_('Variables'), rolename='obj', names=('var', 'ivar', 'cvar'), typerolename='obj', typenames=('vartype',), can_collapse=True), GroupedField('exceptions', label=l_('Raises'), rolename='exc', names=('raises', 'raise', 'exception', 'except'), can_collapse=True), Field('returnvalue', label=l_('Returns'), has_arg=False, names=('returns', 'return')), Field('returntype', label=l_('Return type'), has_arg=False, names=('rtype',)), ] def get_signature_prefix(self, sig): """May return a prefix to put before the object name in the signature. """ return '' def needs_arglist(self): """May return true if an empty argument list is to be generated even if the document contains none. """ return False def handle_signature(self, sig, signode): """Transform a Python signature into RST nodes. Return (fully qualified name of the thing, classname if any). If inside a class, the current class name is handled intelligently: * it is stripped from the displayed name if present * it is added to the full name (return value) if not present """ m = py_sig_re.match(sig) if m is None: raise ValueError name_prefix, name, arglist, retann = m.groups() # determine module and class name (if applicable), as well as full name modname = self.options.get( 'module', self.env.temp_data.get('py:module')) classname = self.env.temp_data.get('py:class') if classname: add_module = False if name_prefix and name_prefix.startswith(classname): fullname = name_prefix + name # class name is given again in the signature name_prefix = name_prefix[len(classname):].lstrip('.') elif name_prefix: # class name is given in the signature, but different # (shouldn't happen) fullname = classname + '.' + name_prefix + name else: # class name is not given in the signature fullname = classname + '.' + name else: add_module = True if name_prefix: classname = name_prefix.rstrip('.') fullname = name_prefix + name else: classname = '' fullname = name signode['module'] = modname signode['class'] = classname signode['fullname'] = fullname sig_prefix = self.get_signature_prefix(sig) if sig_prefix: signode += addnodes.desc_annotation(sig_prefix, sig_prefix) if name_prefix: signode += addnodes.desc_addname(name_prefix, name_prefix) # exceptions are a special case, since they are documented in the # 'exceptions' module. elif add_module and self.env.config.add_module_names: modname = self.options.get( 'module', self.env.temp_data.get('py:module')) if modname and modname != 'exceptions': nodetext = modname + '.' signode += addnodes.desc_addname(nodetext, nodetext) anno = self.options.get('annotation') signode += addnodes.desc_name(name, name) if not arglist: if self.needs_arglist(): # for callables, add an empty parameter list signode += addnodes.desc_parameterlist() if retann: signode += addnodes.desc_returns(retann, retann) if anno: signode += addnodes.desc_annotation(' ' + anno, ' ' + anno) return fullname, name_prefix _pseudo_parse_arglist(signode, arglist) if retann: signode += addnodes.desc_returns(retann, retann) if anno: signode += addnodes.desc_annotation(' ' + anno, ' ' + anno) return fullname, name_prefix def get_index_text(self, modname, name): """Return the text for the index entry of the object.""" raise NotImplementedError('must be implemented in subclasses') def add_target_and_index(self, name_cls, sig, signode): modname = self.options.get( 'module', self.env.temp_data.get('py:module')) fullname = (modname and modname + '.' or '') + name_cls[0] # note target if fullname not in self.state.document.ids: signode['names'].append(fullname) signode['ids'].append(fullname) signode['first'] = (not self.names) self.state.document.note_explicit_target(signode) objects = self.env.domaindata['py']['objects'] if fullname in objects: self.state_machine.reporter.warning( 'duplicate object description of %s, ' % fullname + 'other instance in ' + self.env.doc2path(objects[fullname][0]) + ', use :noindex: for one of them', line=self.lineno) objects[fullname] = (self.env.docname, self.objtype) indextext = self.get_index_text(modname, name_cls) if indextext: self.indexnode['entries'].append(('single', indextext, fullname, '')) def before_content(self): # needed for automatic qualification of members (reset in subclasses) self.clsname_set = False def after_content(self): if self.clsname_set: self.env.temp_data['py:class'] = None class PyModulelevel(PyObject): """ Description of an object on module level (functions, data). """ def needs_arglist(self): return self.objtype == 'function' def get_index_text(self, modname, name_cls): if self.objtype == 'function': if not modname: return _('%s() (built-in function)') % name_cls[0] return _('%s() (in module %s)') % (name_cls[0], modname) elif self.objtype == 'data': if not modname: return _('%s (built-in variable)') % name_cls[0] return _('%s (in module %s)') % (name_cls[0], modname) else: return '' class PyClasslike(PyObject): """ Description of a class-like object (classes, interfaces, exceptions). """ def get_signature_prefix(self, sig): return self.objtype + ' ' def get_index_text(self, modname, name_cls): if self.objtype == 'class': if not modname: return _('%s (built-in class)') % name_cls[0] return _('%s (class in %s)') % (name_cls[0], modname) elif self.objtype == 'exception': return name_cls[0] else: return '' def before_content(self): PyObject.before_content(self) if self.names: self.env.temp_data['py:class'] = self.names[0][0] self.clsname_set = True class PyClassmember(PyObject): """ Description of a class member (methods, attributes). """ def needs_arglist(self): return self.objtype.endswith('method') def get_signature_prefix(self, sig): if self.objtype == 'staticmethod': return 'static ' elif self.objtype == 'classmethod': return 'classmethod ' return '' def get_index_text(self, modname, name_cls): name, cls = name_cls add_modules = self.env.config.add_module_names if self.objtype == 'method': try: clsname, methname = name.rsplit('.', 1) except ValueError: if modname: return _('%s() (in module %s)') % (name, modname) else: return '%s()' % name if modname and add_modules: return _('%s() (%s.%s method)') % (methname, modname, clsname) else: return _('%s() (%s method)') % (methname, clsname) elif self.objtype == 'staticmethod': try: clsname, methname = name.rsplit('.', 1) except ValueError: if modname: return _('%s() (in module %s)') % (name, modname) else: return '%s()' % name if modname and add_modules: return _('%s() (%s.%s static method)') % (methname, modname, clsname) else: return _('%s() (%s static method)') % (methname, clsname) elif self.objtype == 'classmethod': try: clsname, methname = name.rsplit('.', 1) except ValueError: if modname: return _('%s() (in module %s)') % (name, modname) else: return '%s()' % name if modname: return _('%s() (%s.%s class method)') % (methname, modname, clsname) else: return _('%s() (%s class method)') % (methname, clsname) elif self.objtype == 'attribute': try: clsname, attrname = name.rsplit('.', 1) except ValueError: if modname: return _('%s (in module %s)') % (name, modname) else: return name if modname and add_modules: return _('%s (%s.%s attribute)') % (attrname, modname, clsname) else: return _('%s (%s attribute)') % (attrname, clsname) else: return '' def before_content(self): PyObject.before_content(self) lastname = self.names and self.names[-1][1] if lastname and not self.env.temp_data.get('py:class'): self.env.temp_data['py:class'] = lastname.strip('.') self.clsname_set = True class PyDecoratorMixin(object): """ Mixin for decorator directives. """ def handle_signature(self, sig, signode): ret = super(PyDecoratorMixin, self).handle_signature(sig, signode) signode.insert(0, addnodes.desc_addname('@', '@')) return ret def needs_arglist(self): return False class PyDecoratorFunction(PyDecoratorMixin, PyModulelevel): """ Directive to mark functions meant to be used as decorators. """ def run(self): # a decorator function is a function after all self.name = 'py:function' return PyModulelevel.run(self) class PyDecoratorMethod(PyDecoratorMixin, PyClassmember): """ Directive to mark methods meant to be used as decorators. """ def run(self): self.name = 'py:method' return PyClassmember.run(self) class PyModule(Directive): """ Directive to mark description of a new module. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = False option_spec = { 'platform': lambda x: x, 'synopsis': lambda x: x, 'noindex': directives.flag, 'deprecated': directives.flag, } def run(self): env = self.state.document.settings.env modname = self.arguments[0].strip() noindex = 'noindex' in self.options env.temp_data['py:module'] = modname ret = [] if not noindex: env.domaindata['py']['modules'][modname] = \ (env.docname, self.options.get('synopsis', ''), self.options.get('platform', ''), 'deprecated' in self.options) # make a duplicate entry in 'objects' to facilitate searching for # the module in PythonDomain.find_obj() env.domaindata['py']['objects'][modname] = (env.docname, 'module') targetnode = nodes.target('', '', ids=['module-' + modname], ismod=True) self.state.document.note_explicit_target(targetnode) # the platform and synopsis aren't printed; in fact, they are only # used in the modindex currently ret.append(targetnode) indextext = _('%s (module)') % modname inode = addnodes.index(entries=[('single', indextext, 'module-' + modname, '')]) ret.append(inode) return ret class PyCurrentModule(Directive): """ This directive is just to tell Sphinx that we're documenting stuff in module foo, but links to module foo won't lead here. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = False option_spec = {} def run(self): env = self.state.document.settings.env modname = self.arguments[0].strip() if modname == 'None': env.temp_data['py:module'] = None else: env.temp_data['py:module'] = modname return [] class PyXRefRole(XRefRole): def process_link(self, env, refnode, has_explicit_title, title, target): refnode['py:module'] = env.temp_data.get('py:module') refnode['py:class'] = env.temp_data.get('py:class') if not has_explicit_title: title = title.lstrip('.') # only has a meaning for the target target = target.lstrip('~') # only has a meaning for the title # if the first character is a tilde, don't display the module/class # parts of the contents if title[0:1] == '~': title = title[1:] dot = title.rfind('.') if dot != -1: title = title[dot+1:] # if the first character is a dot, search more specific namespaces first # else search builtins first if target[0:1] == '.': target = target[1:] refnode['refspecific'] = True return title, target class PythonModuleIndex(Index): """ Index subclass to provide the Python module index. """ name = 'modindex' localname = l_('Python Module Index') shortname = l_('modules') def generate(self, docnames=None): content = {} # list of prefixes to ignore ignores = self.domain.env.config['modindex_common_prefix'] ignores = sorted(ignores, key=len, reverse=True) # list of all modules, sorted by module name modules = sorted(self.domain.data['modules'].iteritems(), key=lambda x: x[0].lower()) # sort out collapsable modules prev_modname = '' num_toplevels = 0 for modname, (docname, synopsis, platforms, deprecated) in modules: if docnames and docname not in docnames: continue for ignore in ignores: if modname.startswith(ignore): modname = modname[len(ignore):] stripped = ignore break else: stripped = '' # we stripped the whole module name? if not modname: modname, stripped = stripped, '' entries = content.setdefault(modname[0].lower(), []) package = modname.split('.')[0] if package != modname: # it's a submodule if prev_modname == package: # first submodule - make parent a group head if entries: entries[-1][1] = 1 elif not prev_modname.startswith(package): # submodule without parent in list, add dummy entry entries.append([stripped + package, 1, '', '', '', '', '']) subtype = 2 else: num_toplevels += 1 subtype = 0 qualifier = deprecated and _('Deprecated') or '' entries.append([stripped + modname, subtype, docname, 'module-' + stripped + modname, platforms, qualifier, synopsis]) prev_modname = modname # apply heuristics when to collapse modindex at page load: # only collapse if number of toplevel modules is larger than # number of submodules collapse = len(modules) - num_toplevels < num_toplevels # sort by first letter content = sorted(content.iteritems()) return content, collapse class PythonDomain(Domain): """Python language domain.""" name = 'py' label = 'Python' object_types = { 'function': ObjType(l_('function'), 'func', 'obj'), 'data': ObjType(l_('data'), 'data', 'obj'), 'class': ObjType(l_('class'), 'class', 'exc', 'obj'), 'exception': ObjType(l_('exception'), 'exc', 'class', 'obj'), 'method': ObjType(l_('method'), 'meth', 'obj'), 'classmethod': ObjType(l_('class method'), 'meth', 'obj'), 'staticmethod': ObjType(l_('static method'), 'meth', 'obj'), 'attribute': ObjType(l_('attribute'), 'attr', 'obj'), 'module': ObjType(l_('module'), 'mod', 'obj'), } directives = { 'function': PyModulelevel, 'data': PyModulelevel, 'class': PyClasslike, 'exception': PyClasslike, 'method': PyClassmember, 'classmethod': PyClassmember, 'staticmethod': PyClassmember, 'attribute': PyClassmember, 'module': PyModule, 'currentmodule': PyCurrentModule, 'decorator': PyDecoratorFunction, 'decoratormethod': PyDecoratorMethod, } roles = { 'data': PyXRefRole(), 'exc': PyXRefRole(), 'func': PyXRefRole(fix_parens=True), 'class': PyXRefRole(), 'const': PyXRefRole(), 'attr': PyXRefRole(), 'meth': PyXRefRole(fix_parens=True), 'mod': PyXRefRole(), 'obj': PyXRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype 'modules': {}, # modname -> docname, synopsis, platform, deprecated } indices = [ PythonModuleIndex, ] def clear_doc(self, docname): for fullname, (fn, _) in self.data['objects'].items(): if fn == docname: del self.data['objects'][fullname] for modname, (fn, _, _, _) in self.data['modules'].items(): if fn == docname: del self.data['modules'][modname] def find_obj(self, env, modname, classname, name, type, searchmode=0): """Find a Python object for "name", perhaps using the given module and/or classname. Returns a list of (name, object entry) tuples. """ # skip parens if name[-2:] == '()': name = name[:-2] if not name: return [] objects = self.data['objects'] matches = [] newname = None if searchmode == 1: objtypes = self.objtypes_for_role(type) if objtypes is not None: if modname and classname: fullname = modname + '.' + classname + '.' + name if fullname in objects and objects[fullname][1] in objtypes: newname = fullname if not newname: if modname and modname + '.' + name in objects and \ objects[modname + '.' + name][1] in objtypes: newname = modname + '.' + name elif name in objects and objects[name][1] in objtypes: newname = name else: # "fuzzy" searching mode searchname = '.' + name matches = [(oname, objects[oname]) for oname in objects if oname.endswith(searchname) and objects[oname][1] in objtypes] else: # NOTE: searching for exact match, object type is not considered if name in objects: newname = name elif type == 'mod': # only exact matches allowed for modules return [] elif classname and classname + '.' + name in objects: newname = classname + '.' + name elif modname and modname + '.' + name in objects: newname = modname + '.' + name elif modname and classname and \ modname + '.' + classname + '.' + name in objects: newname = modname + '.' + classname + '.' + name # special case: builtin exceptions have module "exceptions" set elif type == 'exc' and '.' not in name and \ 'exceptions.' + name in objects: newname = 'exceptions.' + name # special case: object methods elif type in ('func', 'meth') and '.' not in name and \ 'object.' + name in objects: newname = 'object.' + name if newname is not None: matches.append((newname, objects[newname])) return matches def resolve_xref(self, env, fromdocname, builder, type, target, node, contnode): modname = node.get('py:module') clsname = node.get('py:class') searchmode = node.hasattr('refspecific') and 1 or 0 matches = self.find_obj(env, modname, clsname, target, type, searchmode) if not matches: return None elif len(matches) > 1: env.warn_node( 'more than one target found for cross-reference ' '%r: %s' % (target, ', '.join(match[0] for match in matches)), node) name, obj = matches[0] if obj[1] == 'module': # get additional info for modules docname, synopsis, platform, deprecated = self.data['modules'][name] assert docname == obj[0] title = name if synopsis: title += ': ' + synopsis if deprecated: title += _(' (deprecated)') if platform: title += ' (' + platform + ')' return make_refnode(builder, fromdocname, docname, 'module-' + name, contnode, title) else: return make_refnode(builder, fromdocname, obj[0], name, contnode, name) def get_objects(self): for modname, info in self.data['modules'].iteritems(): yield (modname, modname, 'module', info[0], 'module-' + modname, 0) for refname, (docname, type) in self.data['objects'].iteritems(): if type != 'module': # modules are already handled yield (refname, refname, type, docname, refname, 1) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/javascript.py�������������������������������������������������0000644�0000000�0000000�00000017474�12304304673�021103� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.javascript ~~~~~~~~~~~~~~~~~~~~~~~~~ The JavaScript domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from sphinx import addnodes from sphinx.domains import Domain, ObjType from sphinx.locale import l_, _ from sphinx.directives import ObjectDescription from sphinx.roles import XRefRole from sphinx.domains.python import _pseudo_parse_arglist from sphinx.util.nodes import make_refnode from sphinx.util.docfields import Field, GroupedField, TypedField class JSObject(ObjectDescription): """ Description of a JavaScript object. """ #: If set to ``True`` this object is callable and a `desc_parameterlist` is #: added has_arguments = False #: what is displayed right before the documentation entry display_prefix = None def handle_signature(self, sig, signode): sig = sig.strip() if '(' in sig and sig[-1:] == ')': prefix, arglist = sig.split('(', 1) prefix = prefix.strip() arglist = arglist[:-1].strip() else: prefix = sig arglist = None if '.' in prefix: nameprefix, name = prefix.rsplit('.', 1) else: nameprefix = None name = prefix objectname = self.env.temp_data.get('js:object') if nameprefix: if objectname: # someone documenting the method of an attribute of the current # object? shouldn't happen but who knows... nameprefix = objectname + '.' + nameprefix fullname = nameprefix + '.' + name elif objectname: fullname = objectname + '.' + name else: # just a function or constructor objectname = '' fullname = name signode['object'] = objectname signode['fullname'] = fullname if self.display_prefix: signode += addnodes.desc_annotation(self.display_prefix, self.display_prefix) if nameprefix: signode += addnodes.desc_addname(nameprefix + '.', nameprefix + '.') signode += addnodes.desc_name(name, name) if self.has_arguments: if not arglist: signode += addnodes.desc_parameterlist() else: _pseudo_parse_arglist(signode, arglist) return fullname, nameprefix def add_target_and_index(self, name_obj, sig, signode): objectname = self.options.get( 'object', self.env.temp_data.get('js:object')) fullname = name_obj[0] if fullname not in self.state.document.ids: signode['names'].append(fullname) signode['ids'].append(fullname.replace('$', '_S_')) signode['first'] = not self.names self.state.document.note_explicit_target(signode) objects = self.env.domaindata['js']['objects'] if fullname in objects: self.state_machine.reporter.warning( 'duplicate object description of %s, ' % fullname + 'other instance in ' + self.env.doc2path(objects[fullname][0]), line=self.lineno) objects[fullname] = self.env.docname, self.objtype indextext = self.get_index_text(objectname, name_obj) if indextext: self.indexnode['entries'].append(('single', indextext, fullname.replace('$', '_S_'), '')) def get_index_text(self, objectname, name_obj): name, obj = name_obj if self.objtype == 'function': if not obj: return _('%s() (built-in function)') % name return _('%s() (%s method)') % (name, obj) elif self.objtype == 'class': return _('%s() (class)') % name elif self.objtype == 'data': return _('%s (global variable or constant)') % name elif self.objtype == 'attribute': return _('%s (%s attribute)') % (name, obj) return '' class JSCallable(JSObject): """Description of a JavaScript function, method or constructor.""" has_arguments = True doc_field_types = [ TypedField('arguments', label=l_('Arguments'), names=('argument', 'arg', 'parameter', 'param'), typerolename='func', typenames=('paramtype', 'type')), GroupedField('errors', label=l_('Throws'), rolename='err', names=('throws', ), can_collapse=True), Field('returnvalue', label=l_('Returns'), has_arg=False, names=('returns', 'return')), Field('returntype', label=l_('Return type'), has_arg=False, names=('rtype',)), ] class JSConstructor(JSCallable): """Like a callable but with a different prefix.""" display_prefix = 'class ' class JSXRefRole(XRefRole): def process_link(self, env, refnode, has_explicit_title, title, target): # basically what sphinx.domains.python.PyXRefRole does refnode['js:object'] = env.temp_data.get('js:object') if not has_explicit_title: title = title.lstrip('.') target = target.lstrip('~') if title[0:1] == '~': title = title[1:] dot = title.rfind('.') if dot != -1: title = title[dot+1:] if target[0:1] == '.': target = target[1:] refnode['refspecific'] = True return title, target class JavaScriptDomain(Domain): """JavaScript language domain.""" name = 'js' label = 'JavaScript' # if you add a new object type make sure to edit JSObject.get_index_string object_types = { 'function': ObjType(l_('function'), 'func'), 'class': ObjType(l_('class'), 'class'), 'data': ObjType(l_('data'), 'data'), 'attribute': ObjType(l_('attribute'), 'attr'), } directives = { 'function': JSCallable, 'class': JSConstructor, 'data': JSObject, 'attribute': JSObject, } roles = { 'func': JSXRefRole(fix_parens=True), 'class': JSXRefRole(fix_parens=True), 'data': JSXRefRole(), 'attr': JSXRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype } def clear_doc(self, docname): for fullname, (fn, _) in self.data['objects'].items(): if fn == docname: del self.data['objects'][fullname] def find_obj(self, env, obj, name, typ, searchorder=0): if name[-2:] == '()': name = name[:-2] objects = self.data['objects'] newname = None if searchorder == 1: if obj and obj + '.' + name in objects: newname = obj + '.' + name else: newname = name else: if name in objects: newname = name elif obj and obj + '.' + name in objects: newname = obj + '.' + name return newname, objects.get(newname) def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): objectname = node.get('js:object') searchorder = node.hasattr('refspecific') and 1 or 0 name, obj = self.find_obj(env, objectname, target, typ, searchorder) if not obj: return None return make_refnode(builder, fromdocname, obj[0], name.replace('$', '_S_'), contnode, name) def get_objects(self): for refname, (docname, type) in self.data['objects'].iteritems(): yield refname, refname, type, docname, \ refname.replace('$', '_S_'), 1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/__init__.py���������������������������������������������������0000644�0000000�0000000�00000023635�12304304673�020470� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains ~~~~~~~~~~~~~~ Support for domains, which are groupings of description directives and roles describing e.g. constructs of one programming language. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from sphinx.errors import SphinxError from sphinx.locale import _ class ObjType(object): """ An ObjType is the description for a type of object that a domain can document. In the object_types attribute of Domain subclasses, object type names are mapped to instances of this class. Constructor arguments: - *lname*: localized name of the type (do not include domain name) - *roles*: all the roles that can refer to an object of this type - *attrs*: object attributes -- currently only "searchprio" is known, which defines the object's priority in the full-text search index, see :meth:`Domain.get_objects()`. """ known_attrs = { 'searchprio': 1, } def __init__(self, lname, *roles, **attrs): self.lname = lname self.roles = roles self.attrs = self.known_attrs.copy() self.attrs.update(attrs) class Index(object): """ An Index is the description for a domain-specific index. To add an index to a domain, subclass Index, overriding the three name attributes: * `name` is an identifier used for generating file names. * `localname` is the section title for the index. * `shortname` is a short name for the index, for use in the relation bar in HTML output. Can be empty to disable entries in the relation bar. and providing a :meth:`generate()` method. Then, add the index class to your domain's `indices` list. Extensions can add indices to existing domains using :meth:`~sphinx.application.Sphinx.add_index_to_domain()`. """ name = None localname = None shortname = None def __init__(self, domain): if self.name is None or self.localname is None: raise SphinxError('Index subclass %s has no valid name or localname' % self.__class__.__name__) self.domain = domain def generate(self, docnames=None): """Return entries for the index given by *name*. If *docnames* is given, restrict to entries referring to these docnames. The return value is a tuple of ``(content, collapse)``, where *collapse* is a boolean that determines if sub-entries should start collapsed (for output formats that support collapsing sub-entries). *content* is a sequence of ``(letter, entries)`` tuples, where *letter* is the "heading" for the given *entries*, usually the starting letter. *entries* is a sequence of single entries, where a single entry is a sequence ``[name, subtype, docname, anchor, extra, qualifier, descr]``. The items in this sequence have the following meaning: - `name` -- the name of the index entry to be displayed - `subtype` -- sub-entry related type: 0 -- normal entry 1 -- entry with sub-entries 2 -- sub-entry - `docname` -- docname where the entry is located - `anchor` -- anchor for the entry within `docname` - `extra` -- extra info for the entry - `qualifier` -- qualifier for the description - `descr` -- description for the entry Qualifier and description are not rendered e.g. in LaTeX output. """ return [] class Domain(object): """ A Domain is meant to be a group of "object" description directives for objects of a similar nature, and corresponding roles to create references to them. Examples would be Python modules, classes, functions etc., elements of a templating language, Sphinx roles and directives, etc. Each domain has a separate storage for information about existing objects and how to reference them in `self.data`, which must be a dictionary. It also must implement several functions that expose the object information in a uniform way to parts of Sphinx that allow the user to reference or search for objects in a domain-agnostic way. About `self.data`: since all object and cross-referencing information is stored on a BuildEnvironment instance, the `domain.data` object is also stored in the `env.domaindata` dict under the key `domain.name`. Before the build process starts, every active domain is instantiated and given the environment object; the `domaindata` dict must then either be nonexistent or a dictionary whose 'version' key is equal to the domain class' :attr:`data_version` attribute. Otherwise, `IOError` is raised and the pickled environment is discarded. """ #: domain name: should be short, but unique name = '' #: domain label: longer, more descriptive (used in messages) label = '' #: type (usually directive) name -> ObjType instance object_types = {} #: directive name -> directive class directives = {} #: role name -> role callable roles = {} #: a list of Index subclasses indices = [] #: role name -> a warning message if reference is missing dangling_warnings = {} #: data value for a fresh environment initial_data = {} #: data version, bump this when the format of `self.data` changes data_version = 0 def __init__(self, env): self.env = env if self.name not in env.domaindata: assert isinstance(self.initial_data, dict) new_data = self.initial_data.copy() new_data['version'] = self.data_version self.data = env.domaindata[self.name] = new_data else: self.data = env.domaindata[self.name] if self.data['version'] != self.data_version: raise IOError('data of %r domain out of date' % self.label) self._role_cache = {} self._directive_cache = {} self._role2type = {} for name, obj in self.object_types.iteritems(): for rolename in obj.roles: self._role2type.setdefault(rolename, []).append(name) self.objtypes_for_role = self._role2type.get def role(self, name): """Return a role adapter function that always gives the registered role its full name ('domain:name') as the first argument. """ if name in self._role_cache: return self._role_cache[name] if name not in self.roles: return None fullname = '%s:%s' % (self.name, name) def role_adapter(typ, rawtext, text, lineno, inliner, options={}, content=[]): return self.roles[name](fullname, rawtext, text, lineno, inliner, options, content) self._role_cache[name] = role_adapter return role_adapter def directive(self, name): """Return a directive adapter class that always gives the registered directive its full name ('domain:name') as ``self.name``. """ if name in self._directive_cache: return self._directive_cache[name] if name not in self.directives: return None fullname = '%s:%s' % (self.name, name) BaseDirective = self.directives[name] class DirectiveAdapter(BaseDirective): def run(self): self.name = fullname return BaseDirective.run(self) self._directive_cache[name] = DirectiveAdapter return DirectiveAdapter # methods that should be overwritten def clear_doc(self, docname): """Remove traces of a document in the domain-specific inventories.""" pass def process_doc(self, env, docname, document): """Process a document after it is read by the environment.""" pass def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): """Resolve the pending_xref *node* with the given *typ* and *target*. This method should return a new node, to replace the xref node, containing the *contnode* which is the markup content of the cross-reference. If no resolution can be found, None can be returned; the xref node will then given to the 'missing-reference' event, and if that yields no resolution, replaced by *contnode*. The method can also raise :exc:`sphinx.environment.NoUri` to suppress the 'missing-reference' event being emitted. """ pass def get_objects(self): """Return an iterable of "object descriptions", which are tuples with five items: * `name` -- fully qualified name * `dispname` -- name to display when searching/linking * `type` -- object type, a key in ``self.object_types`` * `docname` -- the document where it is to be found * `anchor` -- the anchor name for the object * `priority` -- how "important" the object is (determines placement in search results) - 1: default priority (placed before full-text matches) - 0: object is important (placed before default-priority objects) - 2: object is unimportant (placed after full-text matches) - -1: object should not show up in search at all """ return [] def get_type_name(self, type, primary=False): """Return full name for given ObjType.""" if primary: return type.lname return _('%s %s') % (self.label, type.lname) from sphinx.domains.c import CDomain from sphinx.domains.cpp import CPPDomain from sphinx.domains.std import StandardDomain from sphinx.domains.python import PythonDomain from sphinx.domains.javascript import JavaScriptDomain from sphinx.domains.rst import ReSTDomain BUILTIN_DOMAINS = { 'std': StandardDomain, 'py': PythonDomain, 'c': CDomain, 'cpp': CPPDomain, 'js': JavaScriptDomain, 'rst': ReSTDomain, } ���������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/domains/cpp.py��������������������������������������������������������0000644�0000000�0000000�00000123410�12304557741�017511� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.domains.cpp ~~~~~~~~~~~~~~~~~~ The C++ language domain. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from copy import deepcopy from docutils import nodes from sphinx import addnodes from sphinx.roles import XRefRole from sphinx.locale import l_, _ from sphinx.domains import Domain, ObjType from sphinx.directives import ObjectDescription from sphinx.util.nodes import make_refnode from sphinx.util.compat import Directive from sphinx.util.docfields import Field, GroupedField _identifier_re = re.compile(r'(~?\b[a-zA-Z_][a-zA-Z0-9_]*)\b') _whitespace_re = re.compile(r'\s+(?u)') _string_re = re.compile(r"[LuU8]?('([^'\\]*(?:\\.[^'\\]*)*)'" r'|"([^"\\]*(?:\\.[^"\\]*)*)")', re.S) _visibility_re = re.compile(r'\b(public|private|protected)\b') _array_def_re = re.compile(r'\[\s*([^\]]+?)?\s*\]') _template_arg_re = re.compile(r'(%s)|([^,>]+)' % _string_re.pattern, re.S) _operator_re = re.compile(r'''(?x) \[\s*\] | \(\s*\) | \+\+ | -- | ->\*? | \, | (<<|>>)=? | && | \|\| | [!<>=/*%+|&^~-]=? ''') _id_shortwords = { 'char': 'c', 'signed char': 'c', 'unsigned char': 'C', 'int': 'i', 'signed int': 'i', 'unsigned int': 'U', 'long': 'l', 'signed long': 'l', 'unsigned long': 'L', 'bool': 'b', 'size_t': 's', 'std::string': 'ss', 'std::ostream': 'os', 'std::istream': 'is', 'std::iostream': 'ios', 'std::vector': 'v', 'std::map': 'm', 'operator[]': 'subscript-operator', 'operator()': 'call-operator', 'operator!': 'not-operator', 'operator<': 'lt-operator', 'operator<=': 'lte-operator', 'operator>': 'gt-operator', 'operator>=': 'gte-operator', 'operator=': 'assign-operator', 'operator/': 'div-operator', 'operator*': 'mul-operator', 'operator%': 'mod-operator', 'operator+': 'add-operator', 'operator-': 'sub-operator', 'operator|': 'or-operator', 'operator&': 'and-operator', 'operator^': 'xor-operator', 'operator&&': 'sand-operator', 'operator||': 'sor-operator', 'operator==': 'eq-operator', 'operator!=': 'neq-operator', 'operator<<': 'lshift-operator', 'operator>>': 'rshift-operator', 'operator-=': 'sub-assign-operator', 'operator+=': 'add-assign-operator', 'operator*-': 'mul-assign-operator', 'operator/=': 'div-assign-operator', 'operator%=': 'mod-assign-operator', 'operator&=': 'and-assign-operator', 'operator|=': 'or-assign-operator', 'operator<<=': 'lshift-assign-operator', 'operator>>=': 'rshift-assign-operator', 'operator^=': 'xor-assign-operator', 'operator,': 'comma-operator', 'operator->': 'pointer-operator', 'operator->*': 'pointer-by-pointer-operator', 'operator~': 'inv-operator', 'operator++': 'inc-operator', 'operator--': 'dec-operator', 'operator new': 'new-operator', 'operator new[]': 'new-array-operator', 'operator delete': 'delete-operator', 'operator delete[]': 'delete-array-operator' } class DefinitionError(Exception): def __init__(self, description): self.description = description def __str__(self): return unicode(self).encode('utf-8') def __unicode__(self): return self.description class DefExpr(object): def __eq__(self, other): if type(self) is not type(other): return False try: for key, value in self.__dict__.iteritems(): if value != getattr(other, key): return False except AttributeError: return False return True def __ne__(self, other): return not self.__eq__(other) __hash__ = None def clone(self): """Clone a definition expression node.""" return deepcopy(self) def get_id(self): """Return the id for the node.""" return u'' def get_name(self): """Return the name. Returns either `None` or a node with a name you might call :meth:`split_owner` on. """ return None def split_owner(self): """Nodes returned by :meth:`get_name` can split off their owning parent. This function returns the owner and the name as a tuple of two items. If a node does not support it, it returns None as owner and self as name. """ return None, self def prefix(self, prefix): """Prefix a name node (a node returned by :meth:`get_name`).""" raise NotImplementedError() def __str__(self): return unicode(self).encode('utf-8') def __unicode__(self): raise NotImplementedError() def __repr__(self): return '<%s %s>' % (self.__class__.__name__, self) class PrimaryDefExpr(DefExpr): def get_name(self): return self def prefix(self, prefix): if isinstance(prefix, PathDefExpr): prefix = prefix.clone() prefix.path.append(self) return prefix return PathDefExpr([prefix, self]) class NameDefExpr(PrimaryDefExpr): def __init__(self, name): self.name = name def get_id(self): name = _id_shortwords.get(self.name) if name is not None: return name return self.name.replace(u' ', u'-') def __unicode__(self): return unicode(self.name) class PathDefExpr(PrimaryDefExpr): def __init__(self, parts): self.path = parts def get_id(self): rv = u'::'.join(x.get_id() for x in self.path) return _id_shortwords.get(rv, rv) def split_owner(self): if len(self.path) > 1: return PathDefExpr(self.path[:-1]), self.path[-1] return None, self def prefix(self, prefix): if isinstance(prefix, PathDefExpr): prefix = prefix.clone() prefix.path.extend(self.path) return prefix return PathDefExpr([prefix] + self.path) def __unicode__(self): return u'::'.join(map(unicode, self.path)) class ArrayTypeSuffixDefExpr(object): def __init__(self, size_hint=None): self.size_hint = size_hint def get_id_suffix(self): return 'A' def __unicode__(self): return u'[%s]' % ( self.size_hint is not None and unicode(self.size_hint) or u'', ) class TemplateDefExpr(PrimaryDefExpr): def __init__(self, typename, args): self.typename = typename self.args = args def split_owner(self): owner, typename = self.typename.split_owner() return owner, TemplateDefExpr(typename, self.args) def get_id(self): return u'%s:%s:' % (self.typename.get_id(), u'.'.join(x.get_id() for x in self.args)) def __unicode__(self): return u'%s<%s>' % (self.typename, u', '.join(map(unicode, self.args))) class ConstantTemplateArgExpr(PrimaryDefExpr): def __init__(self, arg): self.arg = arg def get_id(self): return self.arg.replace(u' ', u'-') def __unicode__(self): return unicode(self.arg) class WrappingDefExpr(DefExpr): def __init__(self, typename): self.typename = typename def get_name(self): return self.typename.get_name() class ModifierDefExpr(WrappingDefExpr): def __init__(self, typename, modifiers): WrappingDefExpr.__init__(self, typename) self.modifiers = modifiers def get_id(self): pieces = [_id_shortwords.get(unicode(x), unicode(x)) for x in self.modifiers] pieces.append(self.typename.get_id()) return u'-'.join(pieces) def __unicode__(self): return u' '.join(map(unicode, list(self.modifiers) + [self.typename])) class PtrDefExpr(WrappingDefExpr): def get_id(self): return self.typename.get_id() + u'P' def __unicode__(self): return u'%s*' % self.typename class LValRefDefExpr(WrappingDefExpr): def get_id(self): return self.typename.get_id() + u'R' def __unicode__(self): return u'%s&' % self.typename class RValRefDefExpr(WrappingDefExpr): def get_id(self): return self.typename.get_id() + u'RR' def __unicode__(self): return u'%s&&' % self.typename class ConstDefExpr(WrappingDefExpr): def __init__(self, typename, prefix=False): WrappingDefExpr.__init__(self, typename) self.prefix = prefix def get_id(self): return self.typename.get_id() + u'C' def __unicode__(self): return (self.prefix and u'const %s' or u'%s const') % self.typename class CastOpDefExpr(PrimaryDefExpr): def __init__(self, typename): self.typename = typename def get_id(self): return u'castto-%s-operator' % self.typename.get_id() def __unicode__(self): return u'operator %s' % self.typename class ArgumentDefExpr(DefExpr): def __init__(self, type, name, type_suffixes, default=None): self.name = name self.type = type self.type_suffixes = type_suffixes self.default = default def get_name(self): return self.name.get_name() def get_id(self): buf = [] buf.append(self.type and self.type.get_id() or 'X') for suffix in self.type_suffixes: buf.append(suffix.get_id_suffix()) return u''.join(buf) def __unicode__(self): buf = [(u'%s %s' % (self.type or u'', self.name or u'')).strip()] if self.default is not None: buf.append('=%s' % self.default) for suffix in self.type_suffixes: buf.append(unicode(suffix)) return u''.join(buf) class NamedDefExpr(DefExpr): def __init__(self, name, visibility, static): self.name = name self.visibility = visibility self.static = static def get_name(self): return self.name.get_name() def get_modifiers(self, visibility='public'): rv = [] if self.visibility != visibility: rv.append(self.visibility) if self.static: rv.append(u'static') return rv class TypeObjDefExpr(NamedDefExpr): def __init__(self, name, visibility, static, typename, type_suffixes): NamedDefExpr.__init__(self, name, visibility, static) self.typename = typename self.type_suffixes = type_suffixes def get_id(self): if self.typename is None: buf = [self.name.get_id()] else: buf = [u'%s__%s' % (self.name.get_id(), self.typename.get_id())] for suffix in self.type_suffixes: buf.append(suffix.get_id_suffix()) return u''.join(buf) def __unicode__(self): buf = self.get_modifiers() if self.typename is None: buf.append(unicode(self.name)) else: buf.extend(map(unicode, (self.typename, self.name))) buf = [u' '.join(buf)] for suffix in self.type_suffixes: buf.append(unicode(suffix)) return u''.join(buf) class MemberObjDefExpr(NamedDefExpr): def __init__(self, name, visibility, static, typename, type_suffixes, value): NamedDefExpr.__init__(self, name, visibility, static) self.typename = typename self.type_suffixes = type_suffixes self.value = value def get_id(self): buf = [u'%s__%s' % (self.name.get_id(), self.typename.get_id())] for suffix in self.type_suffixes: buf.append(suffix.get_id_suffix()) return u''.join(buf) def __unicode__(self): buf = self.get_modifiers() buf.extend((unicode(self.typename), unicode(self.name))) buf = [u' '.join(buf)] for suffix in self.type_suffixes: buf.append(unicode(suffix)) if self.value is not None: buf.append(u' = %s' % self.value) return u''.join(buf) class FuncDefExpr(NamedDefExpr): def __init__(self, name, visibility, static, explicit, constexpr, rv, signature, **kwargs): NamedDefExpr.__init__(self, name, visibility, static) self.rv = rv self.signature = signature self.explicit = explicit self.constexpr = constexpr self.const = kwargs.get('const', False) self.volatile = kwargs.get('volatile', False) self.noexcept = kwargs.get('noexcept', False) self.override = kwargs.get('override', False) self.rvalue_this = kwargs.get('rvalue_this', False) self.lvalue_this = kwargs.get('lvalue_this', False) self.pure_virtual = kwargs.get('pure_virtual', False) self.delete = kwargs.get('delete', False) self.default = kwargs.get('default', False) def get_id(self): return u'%s%s%s%s' % ( self.name.get_id(), self.signature and u'__' + u'.'.join(x.get_id() for x in self.signature) or u'', self.const and u'C' or u'', self.constexpr and 'CE' or '' ) def __unicode__(self): buf = self.get_modifiers() if self.explicit: buf.append(u'explicit') if self.constexpr: buf.append(u'constexpr') if self.rv is not None: buf.append(unicode(self.rv)) buf.append(u'%s(%s)' % (self.name, u', '.join( map(unicode, self.signature)))) if self.const: buf.append(u'const') if self.volatile: buf.append(u'volatile') if self.rvalue_this: buf.append(u'&&') if self.lvalue_this: buf.append(u'&') if self.noexcept: buf.append(u'noexcept') if self.override: buf.append(u'override') if self.pure_virtual: buf.append(u'= 0') if self.default: buf.append(u'= default') if self.delete: buf.append(u'= delete') return u' '.join(buf) class ClassDefExpr(NamedDefExpr): def __init__(self, name, visibility, static, bases): NamedDefExpr.__init__(self, name, visibility, static) self.bases = bases def get_id(self): return self.name.get_id() def _tostring(self, visibility='public'): buf = self.get_modifiers(visibility) buf.append(unicode(self.name)) if self.bases: buf.append(u':') buf.append(u', '.join(base._tostring('private') for base in self.bases)) return u' '.join(buf) def __unicode__(self): return self._tostring('public') class DefinitionParser(object): # mapping of valid type modifiers. if the set is None it means # the modifier can prefix all types, otherwise only the types # (actually more keywords) in the set. Also check # _guess_typename when changing this. _modifiers = { 'volatile': None, 'register': None, 'mutable': None, 'const': None, 'typename': None, 'struct': None, 'unsigned': set(('char', 'short', 'int', 'long')), 'signed': set(('char', 'short', 'int', 'long')), 'short': set(('int',)), 'long': set(('int', 'long', 'double')) } def __init__(self, definition): self.definition = definition.strip() self.pos = 0 self.end = len(self.definition) self.last_match = None self._previous_state = (0, None) def fail(self, msg): raise DefinitionError('Invalid definition: %s [error at %d]\n %s' % (msg, self.pos, self.definition)) def match(self, regex): match = regex.match(self.definition, self.pos) if match is not None: self._previous_state = (self.pos, self.last_match) self.pos = match.end() self.last_match = match return True return False def backout(self): self.pos, self.last_match = self._previous_state def skip_string(self, string): strlen = len(string) if self.definition[self.pos:self.pos + strlen] == string: self.pos += strlen return True return False def skip_word(self, word): return self.match(re.compile(r'\b%s\b' % re.escape(word))) def skip_ws(self): return self.match(_whitespace_re) def skip_word_and_ws(self, word): if self.skip_word(word): self.skip_ws() return True return False @property def eof(self): return self.pos >= self.end @property def current_char(self): try: return self.definition[self.pos] except IndexError: return 'EOF' @property def matched_text(self): if self.last_match is not None: return self.last_match.group() def _parse_operator(self): self.skip_ws() # thank god, a regular operator definition if self.match(_operator_re): return NameDefExpr('operator' + _whitespace_re.sub('', self.matched_text)) # new/delete operator? for allocop in 'new', 'delete': if not self.skip_word(allocop): continue self.skip_ws() if self.skip_string('['): self.skip_ws() if not self.skip_string(']'): self.fail('expected "]" for ' + allocop) allocop += '[]' return NameDefExpr('operator ' + allocop) # oh well, looks like a cast operator definition. # In that case, eat another type. type = self._parse_type() return CastOpDefExpr(type) def _parse_name(self): return self._parse_name_or_template_arg(False) def _parse_name_or_template_arg(self, in_template): if not self.match(_identifier_re): if not in_template: self.fail('expected name') if not self.match(_template_arg_re): self.fail('expected name or constant template argument') return ConstantTemplateArgExpr(self.matched_text.strip()) identifier = self.matched_text # strictly speaking, operators are not regular identifiers # but because operator is a keyword, it might not be used # for variable names anyways, so we can safely parse the # operator here as identifier if identifier == 'operator': return self._parse_operator() return NameDefExpr(identifier) def _guess_typename(self, path): if not path: return [], 'int' # for the long type, we don't want the int in there if 'long' in path: path = [x for x in path if x != 'int'] # remove one long path.remove('long') return path, 'long' if path[-1] in ('int', 'char'): return path[:-1], path[-1] return path, 'int' def _attach_crefptr(self, expr, is_const=False): if is_const: expr = ConstDefExpr(expr, prefix=True) while 1: self.skip_ws() if self.skip_word('const'): expr = ConstDefExpr(expr) elif self.skip_string('*'): expr = PtrDefExpr(expr) elif self.skip_string('&'): if self.skip_string('&'): expr = RValRefDefExpr(expr) else: expr = LValRefDefExpr(expr) else: return expr def _try_parse_type_suffixes(self): rv = [] while self.match(_array_def_re): rv.append(ArrayTypeSuffixDefExpr(self.last_match.group(1))) self.skip_ws() return rv def _peek_const(self, path): try: path.remove('const') return True except ValueError: return False def _parse_builtin(self, modifiers): modifier = modifiers[-1] path = modifiers following = self._modifiers[modifier] while 1: self.skip_ws() if not self.match(_identifier_re): break identifier = self.matched_text if identifier in following: path.append(identifier) following = self._modifiers[modifier] assert following else: self.backout() break is_const = self._peek_const(path) modifiers, typename = self._guess_typename(path) rv = ModifierDefExpr(NameDefExpr(typename), modifiers) return self._attach_crefptr(rv, is_const) def _parse_type_expr(self, in_template=False): typename = self._parse_name_or_template_arg(in_template) self.skip_ws() if not self.skip_string('<'): return typename args = [] while 1: self.skip_ws() if self.skip_string('>'): break if args: if not self.skip_string(','): self.fail('"," or ">" in template expected') self.skip_ws() args.append(self._parse_type(True)) return TemplateDefExpr(typename, args) def _parse_type(self, in_template=False): self.skip_ws() result = [] modifiers = [] # if there is a leading :: or not, we don't care because we # treat them exactly the same. Buf *if* there is one, we # don't have to check for type modifiers if not self.skip_string('::'): self.skip_ws() while self.match(_identifier_re): modifier = self.matched_text if modifier in self._modifiers: following = self._modifiers[modifier] # if the set is not none, there is a limited set # of types that might follow. It is technically # impossible for a template to follow, so what # we do is go to a different function that just # eats types modifiers.append(modifier) if following is not None: return self._parse_builtin(modifiers) self.skip_ws() else: self.backout() break while 1: self.skip_ws() if (in_template and self.current_char in ',>') or \ (result and not self.skip_string('::')) or \ self.eof: break result.append(self._parse_type_expr(in_template)) if not result: self.fail('expected type') if len(result) == 1: rv = result[0] else: rv = PathDefExpr(result) is_const = self._peek_const(modifiers) if modifiers: rv = ModifierDefExpr(rv, modifiers) return self._attach_crefptr(rv, is_const) def _parse_default_expr(self): self.skip_ws() if self.match(_string_re): return self.matched_text paren_stack_depth = 0 max_pos = len(self.definition) rv_start = self.pos while 1: idx0 = self.definition.find('(', self.pos) idx1 = self.definition.find(',', self.pos) idx2 = self.definition.find(')', self.pos) if idx0 < 0: idx0 = max_pos if idx1 < 0: idx1 = max_pos if idx2 < 0: idx2 = max_pos idx = min(idx0, idx1, idx2) if idx >= max_pos: self.fail('unexpected end in default expression') if idx == idx0: paren_stack_depth += 1 elif idx == idx2: paren_stack_depth -= 1 if paren_stack_depth < 0: break elif paren_stack_depth == 0: break self.pos = idx+1 rv = self.definition[rv_start:idx] self.pos = idx return rv def _parse_signature(self): self.skip_ws() if not self.skip_string('('): self.fail('expected parentheses for function') args = [] while 1: self.skip_ws() if self.eof: self.fail('missing closing parentheses') if self.skip_string(')'): break if args: if not self.skip_string(','): self.fail('expected comma between arguments') self.skip_ws() if self.skip_string('...'): args.append(ArgumentDefExpr(None, '...', [], None)) if self.skip_string(')'): break else: self.fail('expected closing parenthesis after ellipses') argname = default = None argtype = self._parse_type() self.skip_ws() type_suffixes = self._try_parse_type_suffixes() if self.skip_string('='): default = self._parse_default_expr() elif self.current_char not in ',)': argname = self._parse_name() self.skip_ws() type_suffixes.extend(self._try_parse_type_suffixes()) if self.skip_string('='): default = self._parse_default_expr() if argname is None: argname = argtype argtype = None args.append(ArgumentDefExpr(argtype, argname, type_suffixes, default)) self.skip_ws() attributes = dict( signature=args, const=self.skip_word_and_ws('const'), volatile=self.skip_word_and_ws('volatile'), noexcept=self.skip_word_and_ws('noexcept'), override=self.skip_word_and_ws('override'), pure_virtual=False, lvalue_this=False, rvalue_this=False, delete=False, default=False) if self.skip_string('&&'): attributes['rvalue_this'] = True if self.skip_string('&'): attributes['lvalue_this'] = True if attributes['lvalue_this'] and attributes['rvalue_this']: self.fail('rvalue reference for *this specifier must be one of' '"&&" or "&"') if self.skip_string('='): self.skip_ws() if self.skip_string('0'): attributes['pure_virtual'] = True return attributes if self.skip_word('NULL') or self.skip_word('nullptr'): attributes['pure_virtual'] = True return attributes if self.skip_word('delete'): attributes['delete'] = True return attributes if self.skip_word('default'): attributes['default'] = True return attributes self.fail('functions must be defined with ' 'either 0, NULL, nullptr, default or delete, other' 'macros are not allowed') return attributes def _parse_visibility_static(self): visibility = 'public' if self.match(_visibility_re): visibility = self.matched_text static = self.skip_word_and_ws('static') return visibility, static def parse_type(self): return self._parse_type() def parse_type_object(self): visibility, static = self._parse_visibility_static() typename = self._parse_type() self.skip_ws() if not self.eof: name = self._parse_type() type_suffixes = self._try_parse_type_suffixes() else: name = typename typename = None type_suffixes = [] return TypeObjDefExpr(name, visibility, static, typename, type_suffixes) def parse_member_object(self): visibility, static = self._parse_visibility_static() typename = self._parse_type() name = self._parse_type() type_suffixes = self._try_parse_type_suffixes() self.skip_ws() if self.skip_string('='): value = self.read_rest().strip() else: value = None return MemberObjDefExpr(name, visibility, static, typename, type_suffixes, value) def parse_function(self): visibility, static = self._parse_visibility_static() explicit = self.skip_word_and_ws('explicit') constexpr = self.skip_word_and_ws('constexpr') rv = self._parse_type() self.skip_ws() # some things just don't have return values if self.current_char == '(': name = rv rv = None else: name = self._parse_type() return FuncDefExpr(name, visibility, static, explicit, constexpr, rv, **self._parse_signature()) def parse_class(self): visibility, static = self._parse_visibility_static() name = self._parse_type() bases = [] if self.skip_string(':'): self.skip_ws() while 1: access = 'private' if self.match(_visibility_re): access = self.matched_text base = self._parse_type() bases.append(ClassDefExpr(base, access, False, [])) if self.skip_string(','): self.skip_ws() else: break return ClassDefExpr(name, visibility, static, bases) def read_rest(self): rv = self.definition[self.pos:] self.pos = self.end return rv def assert_end(self): self.skip_ws() if not self.eof: self.fail('expected end of definition, got %r' % self.definition[self.pos:]) class CPPObject(ObjectDescription): """Description of a C++ language object.""" doc_field_types = [ GroupedField('parameter', label=l_('Parameters'), names=('param', 'parameter', 'arg', 'argument'), can_collapse=True), GroupedField('exceptions', label=l_('Throws'), rolename='cpp:class', names=('throws', 'throw', 'exception'), can_collapse=True), Field('returnvalue', label=l_('Returns'), has_arg=False, names=('returns', 'return')), ] def attach_name(self, node, name): owner, name = name.split_owner() varname = unicode(name) if owner is not None: owner = unicode(owner) + '::' node += addnodes.desc_addname(owner, owner) node += addnodes.desc_name(varname, varname) def attach_type_suffixes(self, node, suffixes): for suffix in suffixes: node += nodes.Text(unicode(suffix)) def attach_type(self, node, type): # XXX: link to c? text = unicode(type) pnode = addnodes.pending_xref( '', refdomain='cpp', reftype='type', reftarget=text, modname=None, classname=None) pnode['cpp:parent'] = self.env.temp_data.get('cpp:parent') pnode += nodes.Text(text) node += pnode def attach_modifiers(self, node, obj, visibility='public'): if obj.visibility != visibility: node += addnodes.desc_annotation(obj.visibility, obj.visibility) node += nodes.Text(' ') if obj.static: node += addnodes.desc_annotation('static', 'static') node += nodes.Text(' ') if getattr(obj, 'constexpr', False): node += addnodes.desc_annotation('constexpr', 'constexpr') node += nodes.Text(' ') def add_target_and_index(self, sigobj, sig, signode): theid = sigobj.get_id() name = unicode(sigobj.name) if theid not in self.state.document.ids: signode['names'].append(theid) signode['ids'].append(theid) signode['first'] = (not self.names) self.state.document.note_explicit_target(signode) self.env.domaindata['cpp']['objects'].setdefault(name, (self.env.docname, self.objtype, theid)) indextext = self.get_index_text(name) if indextext: self.indexnode['entries'].append(('single', indextext, theid, '')) def before_content(self): lastname = self.names and self.names[-1] if lastname and not self.env.temp_data.get('cpp:parent'): assert isinstance(lastname, NamedDefExpr) self.env.temp_data['cpp:parent'] = lastname.name self.parentname_set = True else: self.parentname_set = False def after_content(self): if self.parentname_set: self.env.temp_data['cpp:parent'] = None def parse_definition(self, parser): raise NotImplementedError() def describe_signature(self, signode, arg): raise NotImplementedError() def handle_signature(self, sig, signode): parser = DefinitionParser(sig) try: rv = self.parse_definition(parser) parser.assert_end() except DefinitionError, e: self.state_machine.reporter.warning(e.description, line=self.lineno) raise ValueError self.describe_signature(signode, rv) parent = self.env.temp_data.get('cpp:parent') if parent is not None: rv = rv.clone() rv.name = rv.name.prefix(parent) return rv class CPPClassObject(CPPObject): def get_index_text(self, name): return _('%s (C++ class)') % name def parse_definition(self, parser): return parser.parse_class() def describe_signature(self, signode, cls): self.attach_modifiers(signode, cls) signode += addnodes.desc_annotation('class ', 'class ') self.attach_name(signode, cls.name) if cls.bases: signode += nodes.Text(' : ') for base in cls.bases: self.attach_modifiers(signode, base, 'private') signode += nodes.emphasis(unicode(base.name), unicode(base.name)) signode += nodes.Text(', ') signode.pop() # remove the trailing comma class CPPTypeObject(CPPObject): def get_index_text(self, name): if self.objtype == 'type': return _('%s (C++ type)') % name return '' def parse_definition(self, parser): return parser.parse_type_object() def describe_signature(self, signode, obj): self.attach_modifiers(signode, obj) signode += addnodes.desc_annotation('type ', 'type ') if obj.typename is not None: self.attach_type(signode, obj.typename) signode += nodes.Text(' ') self.attach_name(signode, obj.name) self.attach_type_suffixes(signode, obj.type_suffixes) class CPPMemberObject(CPPObject): def get_index_text(self, name): if self.objtype == 'member': return _('%s (C++ member)') % name return '' def parse_definition(self, parser): return parser.parse_member_object() def describe_signature(self, signode, obj): self.attach_modifiers(signode, obj) self.attach_type(signode, obj.typename) signode += nodes.Text(' ') self.attach_name(signode, obj.name) self.attach_type_suffixes(signode, obj.type_suffixes) if obj.value is not None: signode += nodes.Text(u' = ' + obj.value) class CPPFunctionObject(CPPObject): def attach_function(self, node, func): owner, name = func.name.split_owner() if owner is not None: owner = unicode(owner) + '::' node += addnodes.desc_addname(owner, owner) # cast operator is special. in this case the return value # is reversed. if isinstance(name, CastOpDefExpr): node += addnodes.desc_name('operator', 'operator') node += nodes.Text(u' ') self.attach_type(node, name.typename) else: funcname = unicode(name) node += addnodes.desc_name(funcname, funcname) paramlist = addnodes.desc_parameterlist() for arg in func.signature: param = addnodes.desc_parameter('', '', noemph=True) if arg.type is not None: self.attach_type(param, arg.type) param += nodes.Text(u' ') param += nodes.emphasis(unicode(arg.name), unicode(arg.name)) self.attach_type_suffixes(param, arg.type_suffixes) if arg.default is not None: def_ = u'=' + unicode(arg.default) param += nodes.emphasis(def_, def_) paramlist += param node += paramlist if func.const: node += addnodes.desc_addname(' const', ' const') if func.noexcept: node += addnodes.desc_addname(' noexcept', ' noexcept') if func.pure_virtual: node += addnodes.desc_addname(' = 0', ' = 0') def get_index_text(self, name): return _('%s (C++ function)') % name def parse_definition(self, parser): return parser.parse_function() def describe_signature(self, signode, func): self.attach_modifiers(signode, func) if func.explicit: signode += addnodes.desc_annotation('explicit', 'explicit') signode += nodes.Text(' ') # return value is None for things with a reverse return value # such as casting operator definitions or constructors # and destructors. if func.rv is not None: self.attach_type(signode, func.rv) signode += nodes.Text(u' ') self.attach_function(signode, func) class CPPCurrentNamespace(Directive): """ This directive is just to tell Sphinx that we're documenting stuff in namespace foo. """ has_content = False required_arguments = 1 optional_arguments = 0 final_argument_whitespace = True option_spec = {} def run(self): env = self.state.document.settings.env if self.arguments[0].strip() in ('NULL', '0', 'nullptr'): env.temp_data['cpp:prefix'] = None else: parser = DefinitionParser(self.arguments[0]) try: prefix = parser.parse_type() parser.assert_end() except DefinitionError, e: self.state_machine.reporter.warning(e.description, line=self.lineno) else: env.temp_data['cpp:prefix'] = prefix return [] class CPPXRefRole(XRefRole): def process_link(self, env, refnode, has_explicit_title, title, target): refnode['cpp:parent'] = env.temp_data.get('cpp:parent') if not has_explicit_title: target = target.lstrip('~') # only has a meaning for the title # if the first character is a tilde, don't display the module/class # parts of the contents if title[:1] == '~': title = title[1:] dcolon = title.rfind('::') if dcolon != -1: title = title[dcolon + 2:] return title, target class CPPDomain(Domain): """C++ language domain.""" name = 'cpp' label = 'C++' object_types = { 'class': ObjType(l_('class'), 'class'), 'function': ObjType(l_('function'), 'func'), 'member': ObjType(l_('member'), 'member'), 'type': ObjType(l_('type'), 'type') } directives = { 'class': CPPClassObject, 'function': CPPFunctionObject, 'member': CPPMemberObject, 'type': CPPTypeObject, 'namespace': CPPCurrentNamespace } roles = { 'class': CPPXRefRole(), 'func' : CPPXRefRole(fix_parens=True), 'member': CPPXRefRole(), 'type': CPPXRefRole() } initial_data = { 'objects': {}, # fullname -> docname, objtype } def clear_doc(self, docname): for fullname, (fn, _, _) in self.data['objects'].items(): if fn == docname: del self.data['objects'][fullname] def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode): def _create_refnode(expr): name = unicode(expr) if name not in self.data['objects']: return None obj = self.data['objects'][name] if obj[1] not in self.objtypes_for_role(typ): return None return make_refnode(builder, fromdocname, obj[0], obj[2], contnode, name) parser = DefinitionParser(target) try: expr = parser.parse_type().get_name() parser.skip_ws() if not parser.eof or expr is None: raise DefinitionError('') except DefinitionError: env.warn_node('unparseable C++ definition: %r' % target, node) return None parent = node.get('cpp:parent', None) rv = _create_refnode(expr) if rv is not None or parent is None: return rv parent = parent.get_name() rv = _create_refnode(expr.prefix(parent)) if rv is not None: return rv parent, name = parent.split_owner() return _create_refnode(expr.prefix(parent)) def get_objects(self): for refname, (docname, type, theid) in self.data['objects'].iteritems(): yield (refname, refname, type, docname, refname, 1) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/search/���������������������������������������������������������������0000755�0000000�0000000�00000000000�12304560277�016165� 5����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/search/en.py����������������������������������������������������������0000644�0000000�0000000�00000012773�12304304673�017147� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.search.en ~~~~~~~~~~~~~~~~ English search language: includes the JS porter stemmer. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from sphinx.search import SearchLanguage try: # http://bitbucket.org/methane/porterstemmer/ from porterstemmer import Stemmer as CStemmer CSTEMMER = True except ImportError: from sphinx.util.stemmer import PorterStemmer CSTEMMER = False english_stopwords = set(""" a and are as at be but by for if in into is it near no not of on or such that the their then there these they this to was will with """.split()) js_porter_stemmer = """ /** * Porter Stemmer */ var Stemmer = function() { var step2list = { ational: 'ate', tional: 'tion', enci: 'ence', anci: 'ance', izer: 'ize', bli: 'ble', alli: 'al', entli: 'ent', eli: 'e', ousli: 'ous', ization: 'ize', ation: 'ate', ator: 'ate', alism: 'al', iveness: 'ive', fulness: 'ful', ousness: 'ous', aliti: 'al', iviti: 'ive', biliti: 'ble', logi: 'log' }; var step3list = { icate: 'ic', ative: '', alize: 'al', iciti: 'ic', ical: 'ic', ful: '', ness: '' }; var c = "[^aeiou]"; // consonant var v = "[aeiouy]"; // vowel var C = c + "[^aeiouy]*"; // consonant sequence var V = v + "[aeiou]*"; // vowel sequence var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 var s_v = "^(" + C + ")?" + v; // vowel in stem this.stemWord = function (w) { var stem; var suffix; var firstch; var origword = w; if (w.length < 3) return w; var re; var re2; var re3; var re4; firstch = w.substr(0,1); if (firstch == "y") w = firstch.toUpperCase() + w.substr(1); // Step 1a re = /^(.+?)(ss|i)es$/; re2 = /^(.+?)([^s])s$/; if (re.test(w)) w = w.replace(re,"$1$2"); else if (re2.test(w)) w = w.replace(re2,"$1$2"); // Step 1b re = /^(.+?)eed$/; re2 = /^(.+?)(ed|ing)$/; if (re.test(w)) { var fp = re.exec(w); re = new RegExp(mgr0); if (re.test(fp[1])) { re = /.$/; w = w.replace(re,""); } } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1]; re2 = new RegExp(s_v); if (re2.test(stem)) { w = stem; re2 = /(at|bl|iz)$/; re3 = new RegExp("([^aeiouylsz])\\\\1$"); re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re2.test(w)) w = w + "e"; else if (re3.test(w)) { re = /.$/; w = w.replace(re,""); } else if (re4.test(w)) w = w + "e"; } } // Step 1c re = /^(.+?)y$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(s_v); if (re.test(stem)) w = stem + "i"; } // Step 2 re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|\ ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step2list[suffix]; } // Step 3 re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; suffix = fp[2]; re = new RegExp(mgr0); if (re.test(stem)) w = stem + step3list[suffix]; } // Step 4 re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|\ iti|ous|ive|ize)$/; re2 = /^(.+?)(s|t)(ion)$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); if (re.test(stem)) w = stem; } else if (re2.test(w)) { var fp = re2.exec(w); stem = fp[1] + fp[2]; re2 = new RegExp(mgr1); if (re2.test(stem)) w = stem; } // Step 5 re = /^(.+?)e$/; if (re.test(w)) { var fp = re.exec(w); stem = fp[1]; re = new RegExp(mgr1); re2 = new RegExp(meq1); re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) w = stem; } re = /ll$/; re2 = new RegExp(mgr1); if (re.test(w) && re2.test(w)) { re = /.$/; w = w.replace(re,""); } // and turn initial Y back to y if (firstch == "y") w = firstch.toLowerCase() + w.substr(1); return w; } } """ class SearchEnglish(SearchLanguage): lang = 'en' js_stemmer_code = js_porter_stemmer stopwords = english_stopwords def init(self, options): if CSTEMMER: class Stemmer(CStemmer): def stem(self, word): return self(word.lower()) else: class Stemmer(PorterStemmer): """All those porter stemmer implementations look hideous; make at least the stem method nicer. """ def stem(self, word): word = word.lower() return PorterStemmer.stem(self, word, 0, len(word) - 1) self.stemmer = Stemmer() def stem(self, word): return self.stemmer.stem(word) �����sphinx-1.2.2+dfsg.orig/sphinx/search/ja.py����������������������������������������������������������0000644�0000000�0000000�00000061351�12304304673�017133� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.search.ja ~~~~~~~~~~~~~~~~ Japanese search language: includes routine to split words. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ # Python Version of TinySegmenter # (http://chasen.org/~taku/software/TinySegmenter/) # TinySegmenter is super compact Japanese tokenizer. # # TinySegmenter was originally developed by Taku Kudo <taku(at)chasen.org>. # Python Version was developed by xnights <programming.magic(at)gmail.com>. # For details, see http://programming-magic.com/?id=170 import os import re import sys try: import MeCab native_module = True except ImportError: native_module = False from sphinx.search import SearchLanguage class MecabBinder(object): def __init__(self, options): self.ctypes_libmecab = None self.ctypes_mecab = None if not native_module: self.init_ctypes(options) else: self.init_native(options) self.dict_encode = options.get('dic_enc', 'utf-8') def split(self, input): input2 = input.encode(self.dict_encode) if native_module: result = self.native.parse(input2) else: result = self.ctypes_libmecab.mecab_sparse_tostr( self.ctypes_mecab, input) return result.decode(self.dict_encode).split(' ') def init_native(self, options): param = '-Owakati' dict = options.get('dict') if dict: param += ' -d %s' % dict self.native = MeCab.Tagger(param) def init_ctypes(self, options): import ctypes.util lib = options.get('lib') if lib is None: if sys.platform.startswith('win'): libname = 'libmecab.dll' else: libname = 'mecab' libpath = ctypes.util.find_library(libname) elif os.path.basename(lib) == lib: libpath = ctypes.util.find_library(lib) else: libpath = None if os.path.exists(lib): libpath = lib if libpath is None: raise RuntimeError('MeCab dynamic library is not available') param = 'mecab -Owakati' dict = options.get('dict') if dict: param += ' -d %s' % dict self.ctypes_libmecab = ctypes.CDLL(libpath) self.ctypes_libmecab.mecab_sparse_tostr.restype = ctypes.c_char_p self.ctypes_mecab = self.libmecab.mecab_new2(param) def __del__(self): if self.ctypes_libmecab: self.ctypes_libmecab.mecab_destroy(self.ctypes_mecab) class TinySegmenter(object): patterns_ = dict([(re.compile(pattern), value) for pattern, value in { u'[一二三四五六七八九十百千万億兆]': u'M', u'[一-龠々〆ヵヶ]': u'H', u'[ぁ-ん]': u'I', u'[ァ-ヴーア-ン゙ー]': u'K', u'[a-zA-Za-zA-Z]': u'A', u'[0-90-9]': u'N', }.iteritems()]) BIAS__ = -332 BC1__ = {u'HH':6,u'II':2461,u'KH':406,u'OH':-1378} BC2__ = {u'AA':-3267,u'AI':2744,u'AN':-878,u'HH':-4070,u'HM':-1711,u'HN':4012,u'HO':3761,u'IA':1327,u'IH':-1184,u'II':-1332,u'IK':1721,u'IO':5492,u'KI':3831,u'KK':-8741,u'MH':-3132,u'MK':3334,u'OO':-2920} BC3__ = {u'HH':996,u'HI':626,u'HK':-721,u'HN':-1307,u'HO':-836,u'IH':-301,u'KK':2762,u'MK':1079,u'MM':4034,u'OA':-1652,u'OH':266} BP1__ = {u'BB':295,u'OB':304,u'OO':-125,u'UB':352} BP2__ = {u'BO':60,u'OO':-1762} BQ1__ = {u'BHH':1150,u'BHM':1521,u'BII':-1158,u'BIM':886,u'BMH':1208,u'BNH':449,u'BOH':-91,u'BOO':-2597,u'OHI':451,u'OIH':-296,u'OKA':1851,u'OKH':-1020,u'OKK':904,u'OOO':2965} BQ2__ = {u'BHH':118,u'BHI':-1159,u'BHM':466,u'BIH':-919,u'BKK':-1720,u'BKO':864,u'OHH':-1139,u'OHM':-181,u'OIH':153,u'UHI':-1146} BQ3__ = {u'BHH':-792,u'BHI':2664,u'BII':-299,u'BKI':419,u'BMH':937,u'BMM':8335,u'BNN':998,u'BOH':775,u'OHH':2174,u'OHM':439,u'OII':280,u'OKH':1798,u'OKI':-793,u'OKO':-2242,u'OMH':-2402,u'OOO':11699} BQ4__ = {u'BHH':-3895,u'BIH':3761,u'BII':-4654,u'BIK':1348,u'BKK':-1806,u'BMI':-3385,u'BOO':-12396,u'OAH':926,u'OHH':266,u'OHK':-2036,u'ONN':-973} BW1__ = {u',と':660,u',同':727,u'B1あ':1404,u'B1同':542,u'、と':660,u'、同':727,u'」と':1682,u'あっ':1505,u'いう':1743,u'いっ':-2055,u'いる':672,u'うし':-4817,u'うん':665,u'から':3472,u'がら':600,u'こう':-790,u'こと':2083,u'こん':-1262,u'さら':-4143,u'さん':4573,u'した':2641,u'して':1104,u'すで':-3399,u'そこ':1977,u'それ':-871,u'たち':1122,u'ため':601,u'った':3463,u'つい':-802,u'てい':805,u'てき':1249,u'でき':1127,u'です':3445,u'では':844,u'とい':-4915,u'とみ':1922,u'どこ':3887,u'ない':5713,u'なっ':3015,u'など':7379,u'なん':-1113,u'にし':2468,u'には':1498,u'にも':1671,u'に対':-912,u'の一':-501,u'の中':741,u'ませ':2448,u'まで':1711,u'まま':2600,u'まる':-2155,u'やむ':-1947,u'よっ':-2565,u'れた':2369,u'れで':-913,u'をし':1860,u'を見':731,u'亡く':-1886,u'京都':2558,u'取り':-2784,u'大き':-2604,u'大阪':1497,u'平方':-2314,u'引き':-1336,u'日本':-195,u'本当':-2423,u'毎日':-2113,u'目指':-724,u'B1あ':1404,u'B1同':542,u'」と':1682} BW2__ = {u'..':-11822,u'11':-669,u'――':-5730,u'−−':-13175,u'いう':-1609,u'うか':2490,u'かし':-1350,u'かも':-602,u'から':-7194,u'かれ':4612,u'がい':853,u'がら':-3198,u'きた':1941,u'くな':-1597,u'こと':-8392,u'この':-4193,u'させ':4533,u'され':13168,u'さん':-3977,u'しい':-1819,u'しか':-545,u'した':5078,u'して':972,u'しな':939,u'その':-3744,u'たい':-1253,u'たた':-662,u'ただ':-3857,u'たち':-786,u'たと':1224,u'たは':-939,u'った':4589,u'って':1647,u'っと':-2094,u'てい':6144,u'てき':3640,u'てく':2551,u'ては':-3110,u'ても':-3065,u'でい':2666,u'でき':-1528,u'でし':-3828,u'です':-4761,u'でも':-4203,u'とい':1890,u'とこ':-1746,u'とと':-2279,u'との':720,u'とみ':5168,u'とも':-3941,u'ない':-2488,u'なが':-1313,u'など':-6509,u'なの':2614,u'なん':3099,u'にお':-1615,u'にし':2748,u'にな':2454,u'によ':-7236,u'に対':-14943,u'に従':-4688,u'に関':-11388,u'のか':2093,u'ので':-7059,u'のに':-6041,u'のの':-6125,u'はい':1073,u'はが':-1033,u'はず':-2532,u'ばれ':1813,u'まし':-1316,u'まで':-6621,u'まれ':5409,u'めて':-3153,u'もい':2230,u'もの':-10713,u'らか':-944,u'らし':-1611,u'らに':-1897,u'りし':651,u'りま':1620,u'れた':4270,u'れて':849,u'れば':4114,u'ろう':6067,u'われ':7901,u'を通':-11877,u'んだ':728,u'んな':-4115,u'一人':602,u'一方':-1375,u'一日':970,u'一部':-1051,u'上が':-4479,u'会社':-1116,u'出て':2163,u'分の':-7758,u'同党':970,u'同日':-913,u'大阪':-2471,u'委員':-1250,u'少な':-1050,u'年度':-8669,u'年間':-1626,u'府県':-2363,u'手権':-1982,u'新聞':-4066,u'日新':-722,u'日本':-7068,u'日米':3372,u'曜日':-601,u'朝鮮':-2355,u'本人':-2697,u'東京':-1543,u'然と':-1384,u'社会':-1276,u'立て':-990,u'第に':-1612,u'米国':-4268,u'11':-669} BW3__ = {u'あた':-2194,u'あり':719,u'ある':3846,u'い.':-1185,u'い。':-1185,u'いい':5308,u'いえ':2079,u'いく':3029,u'いた':2056,u'いっ':1883,u'いる':5600,u'いわ':1527,u'うち':1117,u'うと':4798,u'えと':1454,u'か.':2857,u'か。':2857,u'かけ':-743,u'かっ':-4098,u'かに':-669,u'から':6520,u'かり':-2670,u'が,':1816,u'が、':1816,u'がき':-4855,u'がけ':-1127,u'がっ':-913,u'がら':-4977,u'がり':-2064,u'きた':1645,u'けど':1374,u'こと':7397,u'この':1542,u'ころ':-2757,u'さい':-714,u'さを':976,u'し,':1557,u'し、':1557,u'しい':-3714,u'した':3562,u'して':1449,u'しな':2608,u'しま':1200,u'す.':-1310,u'す。':-1310,u'する':6521,u'ず,':3426,u'ず、':3426,u'ずに':841,u'そう':428,u'た.':8875,u'た。':8875,u'たい':-594,u'たの':812,u'たり':-1183,u'たる':-853,u'だ.':4098,u'だ。':4098,u'だっ':1004,u'った':-4748,u'って':300,u'てい':6240,u'てお':855,u'ても':302,u'です':1437,u'でに':-1482,u'では':2295,u'とう':-1387,u'とし':2266,u'との':541,u'とも':-3543,u'どう':4664,u'ない':1796,u'なく':-903,u'など':2135,u'に,':-1021,u'に、':-1021,u'にし':1771,u'にな':1906,u'には':2644,u'の,':-724,u'の、':-724,u'の子':-1000,u'は,':1337,u'は、':1337,u'べき':2181,u'まし':1113,u'ます':6943,u'まっ':-1549,u'まで':6154,u'まれ':-793,u'らし':1479,u'られ':6820,u'るる':3818,u'れ,':854,u'れ、':854,u'れた':1850,u'れて':1375,u'れば':-3246,u'れる':1091,u'われ':-605,u'んだ':606,u'んで':798,u'カ月':990,u'会議':860,u'入り':1232,u'大会':2217,u'始め':1681,u'市':965,u'新聞':-5055,u'日,':974,u'日、':974,u'社会':2024,u'カ月':990} TC1__ = {u'AAA':1093,u'HHH':1029,u'HHM':580,u'HII':998,u'HOH':-390,u'HOM':-331,u'IHI':1169,u'IOH':-142,u'IOI':-1015,u'IOM':467,u'MMH':187,u'OOI':-1832} TC2__ = {u'HHO':2088,u'HII':-1023,u'HMM':-1154,u'IHI':-1965,u'KKH':703,u'OII':-2649} TC3__ = {u'AAA':-294,u'HHH':346,u'HHI':-341,u'HII':-1088,u'HIK':731,u'HOH':-1486,u'IHH':128,u'IHI':-3041,u'IHO':-1935,u'IIH':-825,u'IIM':-1035,u'IOI':-542,u'KHH':-1216,u'KKA':491,u'KKH':-1217,u'KOK':-1009,u'MHH':-2694,u'MHM':-457,u'MHO':123,u'MMH':-471,u'NNH':-1689,u'NNO':662,u'OHO':-3393} TC4__ = {u'HHH':-203,u'HHI':1344,u'HHK':365,u'HHM':-122,u'HHN':182,u'HHO':669,u'HIH':804,u'HII':679,u'HOH':446,u'IHH':695,u'IHO':-2324,u'IIH':321,u'III':1497,u'IIO':656,u'IOO':54,u'KAK':4845,u'KKA':3386,u'KKK':3065,u'MHH':-405,u'MHI':201,u'MMH':-241,u'MMM':661,u'MOM':841} TQ1__ = {u'BHHH':-227,u'BHHI':316,u'BHIH':-132,u'BIHH':60,u'BIII':1595,u'BNHH':-744,u'BOHH':225,u'BOOO':-908,u'OAKK':482,u'OHHH':281,u'OHIH':249,u'OIHI':200,u'OIIH':-68} TQ2__ = {u'BIHH':-1401,u'BIII':-1033,u'BKAK':-543,u'BOOO':-5591} TQ3__ = {u'BHHH':478,u'BHHM':-1073,u'BHIH':222,u'BHII':-504,u'BIIH':-116,u'BIII':-105,u'BMHI':-863,u'BMHM':-464,u'BOMH':620,u'OHHH':346,u'OHHI':1729,u'OHII':997,u'OHMH':481,u'OIHH':623,u'OIIH':1344,u'OKAK':2792,u'OKHH':587,u'OKKA':679,u'OOHH':110,u'OOII':-685} TQ4__ = {u'BHHH':-721,u'BHHM':-3604,u'BHII':-966,u'BIIH':-607,u'BIII':-2181,u'OAAA':-2763,u'OAKK':180,u'OHHH':-294,u'OHHI':2446,u'OHHO':480,u'OHIH':-1573,u'OIHH':1935,u'OIHI':-493,u'OIIH':626,u'OIII':-4007,u'OKAK':-8156} TW1__ = {u'につい':-4681,u'東京都':2026} TW2__ = {u'ある程':-2049,u'いった':-1256,u'ころが':-2434,u'しょう':3873,u'その後':-4430,u'だって':-1049,u'ていた':1833,u'として':-4657,u'ともに':-4517,u'もので':1882,u'一気に':-792,u'初めて':-1512,u'同時に':-8097,u'大きな':-1255,u'対して':-2721,u'社会党':-3216} TW3__ = {u'いただ':-1734,u'してい':1314,u'として':-4314,u'につい':-5483,u'にとっ':-5989,u'に当た':-6247,u'ので,':-727,u'ので、':-727,u'のもの':-600,u'れから':-3752,u'十二月':-2287} TW4__ = {u'いう.':8576,u'いう。':8576,u'からな':-2348,u'してい':2958,u'たが,':1516,u'たが、':1516,u'ている':1538,u'という':1349,u'ました':5543,u'ません':1097,u'ようと':-4258,u'よると':5865} UC1__ = {u'A':484,u'K':93,u'M':645,u'O':-505} UC2__ = {u'A':819,u'H':1059,u'I':409,u'M':3987,u'N':5775,u'O':646} UC3__ = {u'A':-1370,u'I':2311} UC4__ = {u'A':-2643,u'H':1809,u'I':-1032,u'K':-3450,u'M':3565,u'N':3876,u'O':6646} UC5__ = {u'H':313,u'I':-1238,u'K':-799,u'M':539,u'O':-831} UC6__ = {u'H':-506,u'I':-253,u'K':87,u'M':247,u'O':-387} UP1__ = {u'O':-214} UP2__ = {u'B':69,u'O':935} UP3__ = {u'B':189} UQ1__ = {u'BH':21,u'BI':-12,u'BK':-99,u'BN':142,u'BO':-56,u'OH':-95,u'OI':477,u'OK':410,u'OO':-2422} UQ2__ = {u'BH':216,u'BI':113,u'OK':1759} UQ3__ = {u'BA':-479,u'BH':42,u'BI':1913,u'BK':-7198,u'BM':3160,u'BN':6427,u'BO':14761,u'OI':-827,u'ON':-3212} UW1__ = {u',':156,u'、':156,u'「':-463,u'あ':-941,u'う':-127,u'が':-553,u'き':121,u'こ':505,u'で':-201,u'と':-547,u'ど':-123,u'に':-789,u'の':-185,u'は':-847,u'も':-466,u'や':-470,u'よ':182,u'ら':-292,u'り':208,u'れ':169,u'を':-446,u'ん':-137,u'・':-135,u'主':-402,u'京':-268,u'区':-912,u'午':871,u'国':-460,u'大':561,u'委':729,u'市':-411,u'日':-141,u'理':361,u'生':-408,u'県':-386,u'都':-718,u'「':-463,u'・':-135} UW2__ = {u',':-829,u'、':-829,u'〇':892,u'「':-645,u'」':3145,u'あ':-538,u'い':505,u'う':134,u'お':-502,u'か':1454,u'が':-856,u'く':-412,u'こ':1141,u'さ':878,u'ざ':540,u'し':1529,u'す':-675,u'せ':300,u'そ':-1011,u'た':188,u'だ':1837,u'つ':-949,u'て':-291,u'で':-268,u'と':-981,u'ど':1273,u'な':1063,u'に':-1764,u'の':130,u'は':-409,u'ひ':-1273,u'べ':1261,u'ま':600,u'も':-1263,u'や':-402,u'よ':1639,u'り':-579,u'る':-694,u'れ':571,u'を':-2516,u'ん':2095,u'ア':-587,u'カ':306,u'キ':568,u'ッ':831,u'三':-758,u'不':-2150,u'世':-302,u'中':-968,u'主':-861,u'事':492,u'人':-123,u'会':978,u'保':362,u'入':548,u'初':-3025,u'副':-1566,u'北':-3414,u'区':-422,u'大':-1769,u'天':-865,u'太':-483,u'子':-1519,u'学':760,u'実':1023,u'小':-2009,u'市':-813,u'年':-1060,u'強':1067,u'手':-1519,u'揺':-1033,u'政':1522,u'文':-1355,u'新':-1682,u'日':-1815,u'明':-1462,u'最':-630,u'朝':-1843,u'本':-1650,u'東':-931,u'果':-665,u'次':-2378,u'民':-180,u'気':-1740,u'理':752,u'発':529,u'目':-1584,u'相':-242,u'県':-1165,u'立':-763,u'第':810,u'米':509,u'自':-1353,u'行':838,u'西':-744,u'見':-3874,u'調':1010,u'議':1198,u'込':3041,u'開':1758,u'間':-1257,u'「':-645,u'」':3145,u'ッ':831,u'ア':-587,u'カ':306,u'キ':568} UW3__ = {u',':4889,u'1':-800,u'−':-1723,u'、':4889,u'々':-2311,u'〇':5827,u'」':2670,u'〓':-3573,u'あ':-2696,u'い':1006,u'う':2342,u'え':1983,u'お':-4864,u'か':-1163,u'が':3271,u'く':1004,u'け':388,u'げ':401,u'こ':-3552,u'ご':-3116,u'さ':-1058,u'し':-395,u'す':584,u'せ':3685,u'そ':-5228,u'た':842,u'ち':-521,u'っ':-1444,u'つ':-1081,u'て':6167,u'で':2318,u'と':1691,u'ど':-899,u'な':-2788,u'に':2745,u'の':4056,u'は':4555,u'ひ':-2171,u'ふ':-1798,u'へ':1199,u'ほ':-5516,u'ま':-4384,u'み':-120,u'め':1205,u'も':2323,u'や':-788,u'よ':-202,u'ら':727,u'り':649,u'る':5905,u'れ':2773,u'わ':-1207,u'を':6620,u'ん':-518,u'ア':551,u'グ':1319,u'ス':874,u'ッ':-1350,u'ト':521,u'ム':1109,u'ル':1591,u'ロ':2201,u'ン':278,u'・':-3794,u'一':-1619,u'下':-1759,u'世':-2087,u'両':3815,u'中':653,u'主':-758,u'予':-1193,u'二':974,u'人':2742,u'今':792,u'他':1889,u'以':-1368,u'低':811,u'何':4265,u'作':-361,u'保':-2439,u'元':4858,u'党':3593,u'全':1574,u'公':-3030,u'六':755,u'共':-1880,u'円':5807,u'再':3095,u'分':457,u'初':2475,u'別':1129,u'前':2286,u'副':4437,u'力':365,u'動':-949,u'務':-1872,u'化':1327,u'北':-1038,u'区':4646,u'千':-2309,u'午':-783,u'協':-1006,u'口':483,u'右':1233,u'各':3588,u'合':-241,u'同':3906,u'和':-837,u'員':4513,u'国':642,u'型':1389,u'場':1219,u'外':-241,u'妻':2016,u'学':-1356,u'安':-423,u'実':-1008,u'家':1078,u'小':-513,u'少':-3102,u'州':1155,u'市':3197,u'平':-1804,u'年':2416,u'広':-1030,u'府':1605,u'度':1452,u'建':-2352,u'当':-3885,u'得':1905,u'思':-1291,u'性':1822,u'戸':-488,u'指':-3973,u'政':-2013,u'教':-1479,u'数':3222,u'文':-1489,u'新':1764,u'日':2099,u'旧':5792,u'昨':-661,u'時':-1248,u'曜':-951,u'最':-937,u'月':4125,u'期':360,u'李':3094,u'村':364,u'東':-805,u'核':5156,u'森':2438,u'業':484,u'氏':2613,u'民':-1694,u'決':-1073,u'法':1868,u'海':-495,u'無':979,u'物':461,u'特':-3850,u'生':-273,u'用':914,u'町':1215,u'的':7313,u'直':-1835,u'省':792,u'県':6293,u'知':-1528,u'私':4231,u'税':401,u'立':-960,u'第':1201,u'米':7767,u'系':3066,u'約':3663,u'級':1384,u'統':-4229,u'総':1163,u'線':1255,u'者':6457,u'能':725,u'自':-2869,u'英':785,u'見':1044,u'調':-562,u'財':-733,u'費':1777,u'車':1835,u'軍':1375,u'込':-1504,u'通':-1136,u'選':-681,u'郎':1026,u'郡':4404,u'部':1200,u'金':2163,u'長':421,u'開':-1432,u'間':1302,u'関':-1282,u'雨':2009,u'電':-1045,u'非':2066,u'駅':1620,u'1':-800,u'」':2670,u'・':-3794,u'ッ':-1350,u'ア':551,u'グ':1319,u'ス':874,u'ト':521,u'ム':1109,u'ル':1591,u'ロ':2201,u'ン':278} UW4__ = {u',':3930,u'.':3508,u'―':-4841,u'、':3930,u'。':3508,u'〇':4999,u'「':1895,u'」':3798,u'〓':-5156,u'あ':4752,u'い':-3435,u'う':-640,u'え':-2514,u'お':2405,u'か':530,u'が':6006,u'き':-4482,u'ぎ':-3821,u'く':-3788,u'け':-4376,u'げ':-4734,u'こ':2255,u'ご':1979,u'さ':2864,u'し':-843,u'じ':-2506,u'す':-731,u'ず':1251,u'せ':181,u'そ':4091,u'た':5034,u'だ':5408,u'ち':-3654,u'っ':-5882,u'つ':-1659,u'て':3994,u'で':7410,u'と':4547,u'な':5433,u'に':6499,u'ぬ':1853,u'ね':1413,u'の':7396,u'は':8578,u'ば':1940,u'ひ':4249,u'び':-4134,u'ふ':1345,u'へ':6665,u'べ':-744,u'ほ':1464,u'ま':1051,u'み':-2082,u'む':-882,u'め':-5046,u'も':4169,u'ゃ':-2666,u'や':2795,u'ょ':-1544,u'よ':3351,u'ら':-2922,u'り':-9726,u'る':-14896,u'れ':-2613,u'ろ':-4570,u'わ':-1783,u'を':13150,u'ん':-2352,u'カ':2145,u'コ':1789,u'セ':1287,u'ッ':-724,u'ト':-403,u'メ':-1635,u'ラ':-881,u'リ':-541,u'ル':-856,u'ン':-3637,u'・':-4371,u'ー':-11870,u'一':-2069,u'中':2210,u'予':782,u'事':-190,u'井':-1768,u'人':1036,u'以':544,u'会':950,u'体':-1286,u'作':530,u'側':4292,u'先':601,u'党':-2006,u'共':-1212,u'内':584,u'円':788,u'初':1347,u'前':1623,u'副':3879,u'力':-302,u'動':-740,u'務':-2715,u'化':776,u'区':4517,u'協':1013,u'参':1555,u'合':-1834,u'和':-681,u'員':-910,u'器':-851,u'回':1500,u'国':-619,u'園':-1200,u'地':866,u'場':-1410,u'塁':-2094,u'士':-1413,u'多':1067,u'大':571,u'子':-4802,u'学':-1397,u'定':-1057,u'寺':-809,u'小':1910,u'屋':-1328,u'山':-1500,u'島':-2056,u'川':-2667,u'市':2771,u'年':374,u'庁':-4556,u'後':456,u'性':553,u'感':916,u'所':-1566,u'支':856,u'改':787,u'政':2182,u'教':704,u'文':522,u'方':-856,u'日':1798,u'時':1829,u'最':845,u'月':-9066,u'木':-485,u'来':-442,u'校':-360,u'業':-1043,u'氏':5388,u'民':-2716,u'気':-910,u'沢':-939,u'済':-543,u'物':-735,u'率':672,u'球':-1267,u'生':-1286,u'産':-1101,u'田':-2900,u'町':1826,u'的':2586,u'目':922,u'省':-3485,u'県':2997,u'空':-867,u'立':-2112,u'第':788,u'米':2937,u'系':786,u'約':2171,u'経':1146,u'統':-1169,u'総':940,u'線':-994,u'署':749,u'者':2145,u'能':-730,u'般':-852,u'行':-792,u'規':792,u'警':-1184,u'議':-244,u'谷':-1000,u'賞':730,u'車':-1481,u'軍':1158,u'輪':-1433,u'込':-3370,u'近':929,u'道':-1291,u'選':2596,u'郎':-4866,u'都':1192,u'野':-1100,u'銀':-2213,u'長':357,u'間':-2344,u'院':-2297,u'際':-2604,u'電':-878,u'領':-1659,u'題':-792,u'館':-1984,u'首':1749,u'高':2120,u'「':1895,u'」':3798,u'・':-4371,u'ッ':-724,u'ー':-11870,u'カ':2145,u'コ':1789,u'セ':1287,u'ト':-403,u'メ':-1635,u'ラ':-881,u'リ':-541,u'ル':-856,u'ン':-3637} UW5__ = {u',':465,u'.':-299,u'1':-514,u'E2':-32768,u']':-2762,u'、':465,u'。':-299,u'「':363,u'あ':1655,u'い':331,u'う':-503,u'え':1199,u'お':527,u'か':647,u'が':-421,u'き':1624,u'ぎ':1971,u'く':312,u'げ':-983,u'さ':-1537,u'し':-1371,u'す':-852,u'だ':-1186,u'ち':1093,u'っ':52,u'つ':921,u'て':-18,u'で':-850,u'と':-127,u'ど':1682,u'な':-787,u'に':-1224,u'の':-635,u'は':-578,u'べ':1001,u'み':502,u'め':865,u'ゃ':3350,u'ょ':854,u'り':-208,u'る':429,u'れ':504,u'わ':419,u'を':-1264,u'ん':327,u'イ':241,u'ル':451,u'ン':-343,u'中':-871,u'京':722,u'会':-1153,u'党':-654,u'務':3519,u'区':-901,u'告':848,u'員':2104,u'大':-1296,u'学':-548,u'定':1785,u'嵐':-1304,u'市':-2991,u'席':921,u'年':1763,u'思':872,u'所':-814,u'挙':1618,u'新':-1682,u'日':218,u'月':-4353,u'査':932,u'格':1356,u'機':-1508,u'氏':-1347,u'田':240,u'町':-3912,u'的':-3149,u'相':1319,u'省':-1052,u'県':-4003,u'研':-997,u'社':-278,u'空':-813,u'統':1955,u'者':-2233,u'表':663,u'語':-1073,u'議':1219,u'選':-1018,u'郎':-368,u'長':786,u'間':1191,u'題':2368,u'館':-689,u'1':-514,u'E2':-32768,u'「':363,u'イ':241,u'ル':451,u'ン':-343} UW6__ = {u',':227,u'.':808,u'1':-270,u'E1':306,u'、':227,u'。':808,u'あ':-307,u'う':189,u'か':241,u'が':-73,u'く':-121,u'こ':-200,u'じ':1782,u'す':383,u'た':-428,u'っ':573,u'て':-1014,u'で':101,u'と':-105,u'な':-253,u'に':-149,u'の':-417,u'は':-236,u'も':-206,u'り':187,u'る':-135,u'を':195,u'ル':-673,u'ン':-496,u'一':-277,u'中':201,u'件':-800,u'会':624,u'前':302,u'区':1792,u'員':-1212,u'委':798,u'学':-960,u'市':887,u'広':-695,u'後':535,u'業':-697,u'相':753,u'社':-507,u'福':974,u'空':-822,u'者':1811,u'連':463,u'郎':1082,u'1':-270,u'E1':306,u'ル':-673,u'ン':-496} # ctype_ def ctype_(self, char): for pattern, value in self.patterns_.iteritems(): if pattern.match(char): return value return u'O' # ts_ def ts_(self, dict, key): if key in dict: return dict[key] return 0 # segment def split(self, input): if not input: return [] result = [] seg = [u'B3',u'B2',u'B1'] ctype = [u'O',u'O',u'O'] for t in input: seg.append(t) ctype.append(self.ctype_(t)) seg.append(u'E1') seg.append(u'E2') seg.append(u'E3') ctype.append(u'O') ctype.append(u'O') ctype.append(u'O') word = seg[3] p1 = u'U' p2 = u'U' p3 = u'U' for i in range(4, len(seg) - 3): score = self.BIAS__ w1 = seg[i-3] w2 = seg[i-2] w3 = seg[i-1] w4 = seg[i] w5 = seg[i+1] w6 = seg[i+2] c1 = ctype[i-3] c2 = ctype[i-2] c3 = ctype[i-1] c4 = ctype[i] c5 = ctype[i+1] c6 = ctype[i+2] score += self.ts_(self.UP1__, p1) score += self.ts_(self.UP2__, p2) score += self.ts_(self.UP3__, p3) score += self.ts_(self.BP1__, p1 + p2) score += self.ts_(self.BP2__, p2 + p3) score += self.ts_(self.UW1__, w1) score += self.ts_(self.UW2__, w2) score += self.ts_(self.UW3__, w3) score += self.ts_(self.UW4__, w4) score += self.ts_(self.UW5__, w5) score += self.ts_(self.UW6__, w6) score += self.ts_(self.BW1__, w2 + w3) score += self.ts_(self.BW2__, w3 + w4) score += self.ts_(self.BW3__, w4 + w5) score += self.ts_(self.TW1__, w1 + w2 + w3) score += self.ts_(self.TW2__, w2 + w3 + w4) score += self.ts_(self.TW3__, w3 + w4 + w5) score += self.ts_(self.TW4__, w4 + w5 + w6) score += self.ts_(self.UC1__, c1) score += self.ts_(self.UC2__, c2) score += self.ts_(self.UC3__, c3) score += self.ts_(self.UC4__, c4) score += self.ts_(self.UC5__, c5) score += self.ts_(self.UC6__, c6) score += self.ts_(self.BC1__, c2 + c3) score += self.ts_(self.BC2__, c3 + c4) score += self.ts_(self.BC3__, c4 + c5) score += self.ts_(self.TC1__, c1 + c2 + c3) score += self.ts_(self.TC2__, c2 + c3 + c4) score += self.ts_(self.TC3__, c3 + c4 + c5) score += self.ts_(self.TC4__, c4 + c5 + c6) # score += self.ts_(self.TC5__, c4 + c5 + c6) score += self.ts_(self.UQ1__, p1 + c1) score += self.ts_(self.UQ2__, p2 + c2) score += self.ts_(self.UQ1__, p3 + c3) score += self.ts_(self.BQ1__, p2 + c2 + c3) score += self.ts_(self.BQ2__, p2 + c3 + c4) score += self.ts_(self.BQ3__, p3 + c2 + c3) score += self.ts_(self.BQ4__, p3 + c3 + c4) score += self.ts_(self.TQ1__, p2 + c1 + c2 + c3) score += self.ts_(self.TQ2__, p2 + c2 + c3 + c4) score += self.ts_(self.TQ3__, p3 + c1 + c2 + c3) score += self.ts_(self.TQ4__, p3 + c2 + c3 + c4) p = u'O' if score > 0: result.append(word.strip()) word = u'' p = u'B' p1 = p2 p2 = p3 p3 = p word += seg[i] result.append(word.strip()) return result class SearchJapanese(SearchLanguage): """ Japanese search implementation: uses no stemmer, but word splitting is quite complicated. """ lang = 'ja' def init(self, options): type = options.get('type', 'default') if type not in ('mecab', 'default'): raise ValueError(("Japanese tokenizer's type should be 'mecab'" " or 'default'")) self.libmecab = None if type == 'mecab': self.splitter = MecabBinder(options) else: self.splitter = TinySegmenter() def split(self, input): return self.splitter.split(input) def word_filter(self, stemmed_word): return len(stemmed_word) > 1 def stem(self, word): return word.lower() ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/search/__init__.py����������������������������������������������������0000644�0000000�0000000�00000026227�12304304673�020303� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.search ~~~~~~~~~~~~~ Create a full-text search index for offline search. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ from __future__ import with_statement import re import cPickle as pickle from docutils.nodes import raw, comment, title, Text, NodeVisitor, SkipNode from sphinx.util import jsdump, rpartition class SearchLanguage(object): """ This class is the base class for search natural language preprocessors. If you want to add support for a new language, you should override the methods of this class. You should override `lang` class property too (e.g. 'en', 'fr' and so on). .. attribute:: stopwords This is a set of stop words of the target language. Default `stopwords` is empty. This word is used for building index and embedded in JS. .. attribute:: js_stemmer_code Return stemmer class of JavaScript version. This class' name should be ``Stemmer`` and this class must have ``stemWord`` method. This string is embedded as-is in searchtools.js. This class is used to preprocess search word which Sphinx HTML readers type, before searching index. Default implementation does nothing. """ lang = None stopwords = set() js_stemmer_code = """ /** * Dummy stemmer for languages without stemming rules. */ var Stemmer = function() { this.stemWord = function(w) { return w; } } """ _word_re = re.compile(r'\w+(?u)') def __init__(self, options): self.options = options self.init(options) def init(self, options): """ Initialize the class with the options the user has given. """ def split(self, input): """ This method splits a sentence into words. Default splitter splits input at white spaces, which should be enough for most languages except CJK languages. """ return self._word_re.findall(input) def stem(self, word): """ This method implements stemming algorithm of the Python version. Default implementation does nothing. You should implement this if the language has any stemming rules. This class is used to preprocess search words before registering them in the search index. The stemming of the Python version and the JS version (given in the js_stemmer_code attribute) must be compatible. """ return word def word_filter(self, word): """ Return true if the target word should be registered in the search index. This method is called after stemming. """ return not (((len(word) < 3) and (12353 < ord(word[0]) < 12436)) or (ord(word[0]) < 256 and (len(word) < 3 or word in self.stopwords or word.isdigit()))) from sphinx.search import en, ja languages = { 'en': en.SearchEnglish, 'ja': ja.SearchJapanese, } class _JavaScriptIndex(object): """ The search index as javascript file that calls a function on the documentation search object to register the index. """ PREFIX = 'Search.setIndex(' SUFFIX = ')' def dumps(self, data): return self.PREFIX + jsdump.dumps(data) + self.SUFFIX def loads(self, s): data = s[len(self.PREFIX):-len(self.SUFFIX)] if not data or not s.startswith(self.PREFIX) or not \ s.endswith(self.SUFFIX): raise ValueError('invalid data') return jsdump.loads(data) def dump(self, data, f): f.write(self.dumps(data)) def load(self, f): return self.loads(f.read()) js_index = _JavaScriptIndex() class WordCollector(NodeVisitor): """ A special visitor that collects words for the `IndexBuilder`. """ def __init__(self, document, lang): NodeVisitor.__init__(self, document) self.found_words = [] self.found_title_words = [] self.lang = lang def dispatch_visit(self, node): if node.__class__ is comment: raise SkipNode if node.__class__ is raw: # Some people might put content in raw HTML that should be searched, # so we just amateurishly strip HTML tags and index the remaining # content nodetext = re.sub(r'(?is)<style.*?</style>', '', node.astext()) nodetext = re.sub(r'(?is)<script.*?</script>', '', nodetext) nodetext = re.sub(r'<[^<]+?>', '', nodetext) self.found_words.extend(self.lang.split(nodetext)) raise SkipNode if node.__class__ is Text: self.found_words.extend(self.lang.split(node.astext())) elif node.__class__ is title: self.found_title_words.extend(self.lang.split(node.astext())) class IndexBuilder(object): """ Helper class that creates a searchindex based on the doctrees passed to the `feed` method. """ formats = { 'jsdump': jsdump, 'pickle': pickle } def __init__(self, env, lang, options, scoring): self.env = env # filename -> title self._titles = {} # stemmed word -> set(filenames) self._mapping = {} # stemmed words in titles -> set(filenames) self._title_mapping = {} # word -> stemmed word self._stem_cache = {} # objtype -> index self._objtypes = {} # objtype index -> (domain, type, objname (localized)) self._objnames = {} # add language-specific SearchLanguage instance self.lang = languages[lang](options) if scoring: with open(scoring, 'rb') as fp: self.js_scorer_code = fp.read().decode('utf-8') else: self.js_scorer_code = u'' def load(self, stream, format): """Reconstruct from frozen data.""" if isinstance(format, basestring): format = self.formats[format] frozen = format.load(stream) # if an old index is present, we treat it as not existing. if not isinstance(frozen, dict) or \ frozen.get('envversion') != self.env.version: raise ValueError('old format') index2fn = frozen['filenames'] self._titles = dict(zip(index2fn, frozen['titles'])) def load_terms(mapping): rv = {} for k, v in mapping.iteritems(): if isinstance(v, int): rv[k] = set([index2fn[v]]) else: rv[k] = set(index2fn[i] for i in v) return rv self._mapping = load_terms(frozen['terms']) self._title_mapping = load_terms(frozen['titleterms']) # no need to load keywords/objtypes def dump(self, stream, format): """Dump the frozen index to a stream.""" if isinstance(format, basestring): format = self.formats[format] format.dump(self.freeze(), stream) def get_objects(self, fn2index): rv = {} otypes = self._objtypes onames = self._objnames for domainname, domain in self.env.domains.iteritems(): for fullname, dispname, type, docname, anchor, prio in \ domain.get_objects(): # XXX use dispname? if docname not in fn2index: continue if prio < 0: continue prefix, name = rpartition(fullname, '.') pdict = rv.setdefault(prefix, {}) try: typeindex = otypes[domainname, type] except KeyError: typeindex = len(otypes) otypes[domainname, type] = typeindex otype = domain.object_types.get(type) if otype: # use unicode() to fire translation proxies onames[typeindex] = (domainname, type, unicode(domain.get_type_name(otype))) else: onames[typeindex] = (domainname, type, type) if anchor == fullname: shortanchor = '' elif anchor == type + '-' + fullname: shortanchor = '-' else: shortanchor = anchor pdict[name] = (fn2index[docname], typeindex, prio, shortanchor) return rv def get_terms(self, fn2index): rvs = {}, {} for rv, mapping in zip(rvs, (self._mapping, self._title_mapping)): for k, v in mapping.iteritems(): if len(v) == 1: fn, = v if fn in fn2index: rv[k] = fn2index[fn] else: rv[k] = [fn2index[fn] for fn in v if fn in fn2index] return rvs def freeze(self): """Create a usable data structure for serializing.""" filenames = self._titles.keys() titles = self._titles.values() fn2index = dict((f, i) for (i, f) in enumerate(filenames)) terms, title_terms = self.get_terms(fn2index) objects = self.get_objects(fn2index) # populates _objtypes objtypes = dict((v, k[0] + ':' + k[1]) for (k, v) in self._objtypes.iteritems()) objnames = self._objnames return dict(filenames=filenames, titles=titles, terms=terms, objects=objects, objtypes=objtypes, objnames=objnames, titleterms=title_terms, envversion=self.env.version) def prune(self, filenames): """Remove data for all filenames not in the list.""" new_titles = {} for filename in filenames: if filename in self._titles: new_titles[filename] = self._titles[filename] self._titles = new_titles for wordnames in self._mapping.itervalues(): wordnames.intersection_update(filenames) for wordnames in self._title_mapping.itervalues(): wordnames.intersection_update(filenames) def feed(self, filename, title, doctree): """Feed a doctree to the index.""" self._titles[filename] = title visitor = WordCollector(doctree, self.lang) doctree.walk(visitor) # memoize self.lang.stem def stem(word): try: return self._stem_cache[word] except KeyError: self._stem_cache[word] = self.lang.stem(word) return self._stem_cache[word] _filter = self.lang.word_filter for word in visitor.found_title_words: word = stem(word) if _filter(word): self._title_mapping.setdefault(word, set()).add(filename) for word in visitor.found_words: word = stem(word) if word not in self._title_mapping and _filter(word): self._mapping.setdefault(word, set()).add(filename) def context_for_searchtool(self): return dict( search_language_stemming_code = self.lang.js_stemmer_code, search_language_stop_words = jsdump.dumps(sorted(self.lang.stopwords)), search_scorer_tool = self.js_scorer_code, ) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/environment.py��������������������������������������������������������0000644�0000000�0000000�00000213131�12304557741�017641� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.environment ~~~~~~~~~~~~~~~~~~ Global creation environment. :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re import os import sys import time import types import codecs import imghdr import string import unicodedata import cPickle as pickle from os import path from glob import glob from itertools import izip, groupby from docutils import nodes from docutils.io import FileInput, NullOutput from docutils.core import Publisher from docutils.utils import Reporter, relative_path, get_source_line from docutils.readers import standalone from docutils.parsers.rst import roles, directives from docutils.parsers.rst.languages import en as english from docutils.parsers.rst.directives.html import MetaBody from docutils.writers import UnfilteredWriter from sphinx import addnodes from sphinx.util import url_re, get_matching_docs, docname_join, split_into, \ FilenameUniqDict from sphinx.util.nodes import clean_astext, make_refnode, WarningStream from sphinx.util.osutil import SEP, fs_encoding, find_catalog_files from sphinx.util.matching import compile_matchers from sphinx.util.pycompat import class_types from sphinx.util.websupport import is_commentable from sphinx.errors import SphinxError, ExtensionError from sphinx.locale import _ from sphinx.versioning import add_uids, merge_doctrees from sphinx.transforms import DefaultSubstitutions, MoveModuleTargets, \ HandleCodeBlocks, SortIds, CitationReferences, Locale, \ RemoveTranslatableInline, SphinxContentsFilter orig_role_function = roles.role orig_directive_function = directives.directive class ElementLookupError(Exception): pass default_settings = { 'embed_stylesheet': False, 'cloak_email_addresses': True, 'pep_base_url': 'http://www.python.org/dev/peps/', 'rfc_base_url': 'http://tools.ietf.org/html/', 'input_encoding': 'utf-8-sig', 'doctitle_xform': False, 'sectsubtitle_xform': False, 'halt_level': 5, 'file_insertion_enabled': True, } # This is increased every time an environment attribute is added # or changed to properly invalidate pickle files. ENV_VERSION = 42 + (sys.version_info[0] - 2) dummy_reporter = Reporter('', 4, 4) versioning_conditions = { 'none': False, 'text': nodes.TextElement, 'commentable': is_commentable, } class NoUri(Exception): """Raised by get_relative_uri if there is no URI available.""" pass class SphinxStandaloneReader(standalone.Reader): """ Add our own transforms. """ transforms = [Locale, CitationReferences, DefaultSubstitutions, MoveModuleTargets, HandleCodeBlocks, SortIds, RemoveTranslatableInline] def get_transforms(self): return standalone.Reader.get_transforms(self) + self.transforms class SphinxDummyWriter(UnfilteredWriter): supported = ('html',) # needed to keep "meta" nodes def translate(self): pass class BuildEnvironment: """ The environment in which the ReST files are translated. Stores an inventory of cross-file targets and provides doctree transformations to resolve links to them. """ # --------- ENVIRONMENT PERSISTENCE ---------------------------------------- @staticmethod def frompickle(config, filename): picklefile = open(filename, 'rb') try: env = pickle.load(picklefile) finally: picklefile.close() if env.version != ENV_VERSION: raise IOError('env version not current') env.config.values = config.values return env def topickle(self, filename): # remove unpicklable attributes warnfunc = self._warnfunc self.set_warnfunc(None) values = self.config.values del self.config.values domains = self.domains del self.domains picklefile = open(filename, 'wb') # remove potentially pickling-problematic values from config for key, val in vars(self.config).items(): if key.startswith('_') or \ isinstance(val, types.ModuleType) or \ isinstance(val, types.FunctionType) or \ isinstance(val, class_types): del self.config[key] try: pickle.dump(self, picklefile, pickle.HIGHEST_PROTOCOL) finally: picklefile.close() # reset attributes self.domains = domains self.config.values = values self.set_warnfunc(warnfunc) # --------- ENVIRONMENT INITIALIZATION ------------------------------------- def __init__(self, srcdir, doctreedir, config): self.doctreedir = doctreedir self.srcdir = srcdir self.config = config # the method of doctree versioning; see set_versioning_method self.versioning_condition = None # the application object; only set while update() runs self.app = None # all the registered domains, set by the application self.domains = {} # the docutils settings for building self.settings = default_settings.copy() self.settings['env'] = self # the function to write warning messages with self._warnfunc = None # this is to invalidate old pickles self.version = ENV_VERSION # All "docnames" here are /-separated and relative and exclude # the source suffix. self.found_docs = set() # contains all existing docnames self.all_docs = {} # docname -> mtime at the time of build # contains all built docnames self.dependencies = {} # docname -> set of dependent file # names, relative to documentation root self.reread_always = set() # docnames to re-read unconditionally on # next build # File metadata self.metadata = {} # docname -> dict of metadata items # TOC inventory self.titles = {} # docname -> title node self.longtitles = {} # docname -> title node; only different if # set differently with title directive self.tocs = {} # docname -> table of contents nodetree self.toc_num_entries = {} # docname -> number of real entries # used to determine when to show the TOC # in a sidebar (don't show if it's only one item) self.toc_secnumbers = {} # docname -> dict of sectionid -> number self.toctree_includes = {} # docname -> list of toctree includefiles self.files_to_rebuild = {} # docname -> set of files # (containing its TOCs) to rebuild too self.glob_toctrees = set() # docnames that have :glob: toctrees self.numbered_toctrees = set() # docnames that have :numbered: toctrees # domain-specific inventories, here to be pickled self.domaindata = {} # domainname -> domain-specific dict # Other inventories self.citations = {} # citation name -> docname, labelid self.indexentries = {} # docname -> list of # (type, string, target, aliasname) self.versionchanges = {} # version -> list of (type, docname, # lineno, module, descname, content) # these map absolute path -> (docnames, unique filename) self.images = FilenameUniqDict() self.dlfiles = FilenameUniqDict() # temporary data storage while reading a document self.temp_data = {} def set_warnfunc(self, func): self._warnfunc = func self.settings['warning_stream'] = WarningStream(func) def set_versioning_method(self, method): """This sets the doctree versioning method for this environment. Versioning methods are a builder property; only builders with the same versioning method can share the same doctree directory. Therefore, we raise an exception if the user tries to use an environment with an incompatible versioning method. """ if method not in versioning_conditions: raise ValueError('invalid versioning method: %r' % method) condition = versioning_conditions[method] if self.versioning_condition not in (None, condition): raise SphinxError('This environment is incompatible with the ' 'selected builder, please choose another ' 'doctree directory.') self.versioning_condition = condition def warn(self, docname, msg, lineno=None): """Emit a warning. This differs from using ``app.warn()`` in that the warning may not be emitted instantly, but collected for emitting all warnings after the update of the environment. """ # strange argument order is due to backwards compatibility self._warnfunc(msg, (docname, lineno)) def warn_node(self, msg, node): """Like :meth:`warn`, but with source information taken from *node*.""" self._warnfunc(msg, '%s:%s' % get_source_line(node)) def clear_doc(self, docname): """Remove all traces of a source file in the inventory.""" if docname in self.all_docs: self.all_docs.pop(docname, None) self.reread_always.discard(docname) self.metadata.pop(docname, None) self.dependencies.pop(docname, None) self.titles.pop(docname, None) self.longtitles.pop(docname, None) self.tocs.pop(docname, None) self.toc_secnumbers.pop(docname, None) self.toc_num_entries.pop(docname, None) self.toctree_includes.pop(docname, None) self.indexentries.pop(docname, None) self.glob_toctrees.discard(docname) self.numbered_toctrees.discard(docname) self.images.purge_doc(docname) self.dlfiles.purge_doc(docname) for subfn, fnset in self.files_to_rebuild.items(): fnset.discard(docname) if not fnset: del self.files_to_rebuild[subfn] for key, (fn, _) in self.citations.items(): if fn == docname: del self.citations[key] for version, changes in self.versionchanges.items(): new = [change for change in changes if change[1] != docname] changes[:] = new for domain in self.domains.values(): domain.clear_doc(docname) def doc2path(self, docname, base=True, suffix=None): """Return the filename for the document name. If *base* is True, return absolute path under self.srcdir. If *base* is None, return relative path to self.srcdir. If *base* is a path string, return absolute path under that. If *suffix* is not None, add it instead of config.source_suffix. """ docname = docname.replace(SEP, path.sep) suffix = suffix or self.config.source_suffix if base is True: return path.join(self.srcdir, docname) + suffix elif base is None: return docname + suffix else: return path.join(base, docname) + suffix def relfn2path(self, filename, docname=None): """Return paths to a file referenced from a document, relative to documentation root and absolute. In the input "filename", absolute filenames are taken as relative to the source dir, while relative filenames are relative to the dir of the containing document. """ if filename.startswith('/') or filename.startswith(os.sep): rel_fn = filename[1:] else: docdir = path.dirname(self.doc2path(docname or self.docname, base=None)) rel_fn = path.join(docdir, filename) try: # the path.abspath() might seem redundant, but otherwise artifacts # such as ".." will remain in the path return rel_fn, path.abspath(path.join(self.srcdir, rel_fn)) except UnicodeDecodeError: # the source directory is a bytestring with non-ASCII characters; # let's try to encode the rel_fn in the file system encoding enc_rel_fn = rel_fn.encode(sys.getfilesystemencoding()) return rel_fn, path.abspath(path.join(self.srcdir, enc_rel_fn)) def find_files(self, config): """Find all source files in the source dir and put them in self.found_docs. """ matchers = compile_matchers( config.exclude_patterns[:] + config.html_extra_path + config.exclude_trees + [d + config.source_suffix for d in config.unused_docs] + ['**/' + d for d in config.exclude_dirnames] + ['**/_sources', '.#*'] ) self.found_docs = set(get_matching_docs( self.srcdir, config.source_suffix, exclude_matchers=matchers)) # add catalog mo file dependency for docname in self.found_docs: catalog_files = find_catalog_files( docname, self.srcdir, self.config.locale_dirs, self.config.language, self.config.gettext_compact) for filename in catalog_files: self.dependencies.setdefault(docname, set()).add(filename) def get_outdated_files(self, config_changed): """Return (added, changed, removed) sets.""" # clear all files no longer present removed = set(self.all_docs) - self.found_docs added = set() changed = set() if config_changed: # config values affect e.g. substitutions added = self.found_docs else: for docname in self.found_docs: if docname not in self.all_docs: added.add(docname) continue # if the doctree file is not there, rebuild if not path.isfile(self.doc2path(docname, self.doctreedir, '.doctree')): changed.add(docname) continue # check the "reread always" list if docname in self.reread_always: changed.add(docname) continue # check the mtime of the document mtime = self.all_docs[docname] newmtime = path.getmtime(self.doc2path(docname)) if newmtime > mtime: changed.add(docname) continue # finally, check the mtime of dependencies for dep in self.dependencies.get(docname, ()): try: # this will do the right thing when dep is absolute too deppath = path.join(self.srcdir, dep) if not path.isfile(deppath): changed.add(docname) break depmtime = path.getmtime(deppath) if depmtime > mtime: changed.add(docname) break except EnvironmentError: # give it another chance changed.add(docname) break return added, changed, removed def update(self, config, srcdir, doctreedir, app=None): """(Re-)read all files new or changed since last update. Returns a summary, the total count of documents to reread and an iterator that yields docnames as it processes them. Store all environment docnames in the canonical format (ie using SEP as a separator in place of os.path.sep). """ config_changed = False if self.config is None: msg = '[new config] ' config_changed = True else: # check if a config value was changed that affects how # doctrees are read for key, descr in config.values.iteritems(): if descr[1] != 'env': continue if self.config[key] != config[key]: msg = '[config changed] ' config_changed = True break else: msg = '' # this value is not covered by the above loop because it is handled # specially by the config class if self.config.extensions != config.extensions: msg = '[extensions changed] ' config_changed = True # the source and doctree directories may have been relocated self.srcdir = srcdir self.doctreedir = doctreedir self.find_files(config) self.config = config # this cache also needs to be updated every time self._nitpick_ignore = set(self.config.nitpick_ignore) added, changed, removed = self.get_outdated_files(config_changed) # allow user intervention as well for docs in app.emit('env-get-outdated', self, added, changed, removed): changed.update(set(docs) & self.found_docs) # if files were added or removed, all documents with globbed toctrees # must be reread if added or removed: # ... but not those that already were removed changed.update(self.glob_toctrees & self.found_docs) msg += '%s added, %s changed, %s removed' % (len(added), len(changed), len(removed)) def update_generator(): self.app = app # clear all files no longer present for docname in removed: if app: app.emit('env-purge-doc', self, docname) self.clear_doc(docname) # read all new and changed files for docname in sorted(added | changed): yield docname self.read_doc(docname, app=app) if config.master_doc not in self.all_docs: self.warn(None, 'master file %s not found' % self.doc2path(config.master_doc)) self.app = None if app: app.emit('env-updated', self) return msg, len(added | changed), update_generator() def check_dependents(self, already): to_rewrite = self.assign_section_numbers() for docname in to_rewrite: if docname not in already: yield docname # --------- SINGLE FILE READING -------------------------------------------- def warn_and_replace(self, error): """Custom decoding error handler that warns and replaces.""" linestart = error.object.rfind('\n', 0, error.start) lineend = error.object.find('\n', error.start) if lineend == -1: lineend = len(error.object) lineno = error.object.count('\n', 0, error.start) + 1 self.warn(self.docname, 'undecodable source characters, ' 'replacing with "?": %r' % (error.object[linestart+1:error.start] + '>>>' + error.object[error.start:error.end] + '<<<' + error.object[error.end:lineend]), lineno) return (u'?', error.end) def lookup_domain_element(self, type, name): """Lookup a markup element (directive or role), given its name which can be a full name (with domain). """ name = name.lower() # explicit domain given? if ':' in name: domain_name, name = name.split(':', 1) if domain_name in self.domains: domain = self.domains[domain_name] element = getattr(domain, type)(name) if element is not None: return element, [] # else look in the default domain else: def_domain = self.temp_data.get('default_domain') if def_domain is not None: element = getattr(def_domain, type)(name) if element is not None: return element, [] # always look in the std domain element = getattr(self.domains['std'], type)(name) if element is not None: return element, [] raise ElementLookupError def patch_lookup_functions(self): """Monkey-patch directive and role dispatch, so that domain-specific markup takes precedence. """ def directive(name, lang_module, document): try: return self.lookup_domain_element('directive', name) except ElementLookupError: return orig_directive_function(name, lang_module, document) def role(name, lang_module, lineno, reporter): try: return self.lookup_domain_element('role', name) except ElementLookupError: return orig_role_function(name, lang_module, lineno, reporter) directives.directive = directive roles.role = role def read_doc(self, docname, src_path=None, save_parsed=True, app=None): """Parse a file and add/update inventory entries for the doctree. If srcpath is given, read from a different source file. """ # remove all inventory entries for that file if app: app.emit('env-purge-doc', self, docname) self.clear_doc(docname) if src_path is None: src_path = self.doc2path(docname) self.temp_data['docname'] = docname # defaults to the global default, but can be re-set in a document self.temp_data['default_domain'] = \ self.domains.get(self.config.primary_domain) self.settings['input_encoding'] = self.config.source_encoding self.settings['trim_footnote_reference_space'] = \ self.config.trim_footnote_reference_space self.settings['gettext_compact'] = self.config.gettext_compact self.patch_lookup_functions() if self.config.default_role: role_fn, messages = roles.role(self.config.default_role, english, 0, dummy_reporter) if role_fn: roles._roles[''] = role_fn else: self.warn(docname, 'default role %s not found' % self.config.default_role) codecs.register_error('sphinx', self.warn_and_replace) class SphinxSourceClass(FileInput): def __init__(self_, *args, **kwds): # don't call sys.exit() on IOErrors kwds['handle_io_errors'] = False FileInput.__init__(self_, *args, **kwds) def decode(self_, data): if isinstance(data, unicode): return data return data.decode(self_.encoding, 'sphinx') def read(self_): data = FileInput.read(self_) if app: arg = [data] app.emit('source-read', docname, arg) data = arg[0] if self.config.rst_epilog: data = data + '\n' + self.config.rst_epilog + '\n' if self.config.rst_prolog: data = self.config.rst_prolog + '\n' + data return data # publish manually pub = Publisher(reader=SphinxStandaloneReader(), writer=SphinxDummyWriter(), source_class=SphinxSourceClass, destination_class=NullOutput) pub.set_components(None, 'restructuredtext', None) pub.process_programmatic_settings(None, self.settings, None) pub.set_source(None, src_path.encode(fs_encoding)) pub.set_destination(None, None) pub.publish() doctree = pub.document # post-processing self.filter_messages(doctree) self.process_dependencies(docname, doctree) self.process_images(docname, doctree) self.process_downloads(docname, doctree) self.process_metadata(docname, doctree) self.process_refonly_bullet_lists(docname, doctree) self.create_title_from(docname, doctree) self.note_indexentries_from(docname, doctree) self.note_citations_from(docname, doctree) self.build_toc_from(docname, doctree) for domain in self.domains.itervalues(): domain.process_doc(self, docname, doctree) # allow extension-specific post-processing if app: app.emit('doctree-read', doctree) # store time of build, for outdated files detection # (Some filesystems have coarse timestamp resolution; # therefore time.time() can be older than filesystem's timestamp. # For example, FAT32 has 2sec timestamp resolution.) self.all_docs[docname] = max( time.time(), path.getmtime(self.doc2path(docname))) if self.versioning_condition: # get old doctree try: f = open(self.doc2path(docname, self.doctreedir, '.doctree'), 'rb') try: old_doctree = pickle.load(f) finally: f.close() except EnvironmentError: old_doctree = None # add uids for versioning if old_doctree is None: list(add_uids(doctree, self.versioning_condition)) else: list(merge_doctrees( old_doctree, doctree, self.versioning_condition)) # make it picklable doctree.reporter = None doctree.transformer = None doctree.settings.warning_stream = None doctree.settings.env = None doctree.settings.record_dependencies = None for metanode in doctree.traverse(MetaBody.meta): # docutils' meta nodes aren't picklable because the class is nested metanode.__class__ = addnodes.meta # cleanup self.temp_data.clear() if save_parsed: # save the parsed doctree doctree_filename = self.doc2path(docname, self.doctreedir, '.doctree') dirname = path.dirname(doctree_filename) if not path.isdir(dirname): os.makedirs(dirname) f = open(doctree_filename, 'wb') try: pickle.dump(doctree, f, pickle.HIGHEST_PROTOCOL) finally: f.close() else: return doctree # utilities to use while reading a document @property def docname(self): """Returns the docname of the document currently being parsed.""" return self.temp_data['docname'] @property def currmodule(self): """Backwards compatible alias.""" return self.temp_data.get('py:module') @property def currclass(self): """Backwards compatible alias.""" return self.temp_data.get('py:class') def new_serialno(self, category=''): """Return a serial number, e.g. for index entry targets. The number is guaranteed to be unique in the current document. """ key = category + 'serialno' cur = self.temp_data.get(key, 0) self.temp_data[key] = cur + 1 return cur def note_dependency(self, filename): """Add *filename* as a dependency of the current document. This means that the document will be rebuilt if this file changes. *filename* should be absolute or relative to the source directory. """ self.dependencies.setdefault(self.docname, set()).add(filename) def note_reread(self): """Add the current document to the list of documents that will automatically be re-read at the next build. """ self.reread_always.add(self.docname) def note_versionchange(self, type, version, node, lineno): self.versionchanges.setdefault(version, []).append( (type, self.temp_data['docname'], lineno, self.temp_data.get('py:module'), self.temp_data.get('object'), node.astext())) # post-processing of read doctrees def filter_messages(self, doctree): """Filter system messages from a doctree.""" filterlevel = self.config.keep_warnings and 2 or 5 for node in doctree.traverse(nodes.system_message): if node['level'] < filterlevel: self.app.debug('%s [filtered system message]', node.astext()) node.parent.remove(node) def process_dependencies(self, docname, doctree): """Process docutils-generated dependency info.""" cwd = os.getcwd() frompath = path.join(path.normpath(self.srcdir), 'dummy') deps = doctree.settings.record_dependencies if not deps: return for dep in deps.list: # the dependency path is relative to the working dir, so get # one relative to the srcdir relpath = relative_path(frompath, path.normpath(path.join(cwd, dep))) self.dependencies.setdefault(docname, set()).add(relpath) def process_downloads(self, docname, doctree): """Process downloadable file paths. """ for node in doctree.traverse(addnodes.download_reference): targetname = node['reftarget'] rel_filename, filename = self.relfn2path(targetname, docname) self.dependencies.setdefault(docname, set()).add(rel_filename) if not os.access(filename, os.R_OK): self.warn_node('download file not readable: %s' % filename, node) continue uniquename = self.dlfiles.add_file(docname, filename) node['filename'] = uniquename def process_images(self, docname, doctree): """Process and rewrite image URIs.""" for node in doctree.traverse(nodes.image): # Map the mimetype to the corresponding image. The writer may # choose the best image from these candidates. The special key * is # set if there is only single candidate to be used by a writer. # The special key ? is set for nonlocal URIs. node['candidates'] = candidates = {} imguri = node['uri'] if imguri.find('://') != -1: self.warn_node('nonlocal image URI found: %s' % imguri, node) candidates['?'] = imguri continue rel_imgpath, full_imgpath = self.relfn2path(imguri, docname) # set imgpath as default URI node['uri'] = rel_imgpath if rel_imgpath.endswith(os.extsep + '*'): for filename in glob(full_imgpath): new_imgpath = relative_path(path.join(self.srcdir, 'dummy'), filename) if filename.lower().endswith('.pdf'): candidates['application/pdf'] = new_imgpath elif filename.lower().endswith('.svg'): candidates['image/svg+xml'] = new_imgpath else: try: f = open(filename, 'rb') try: imgtype = imghdr.what(f) finally: f.close() except (OSError, IOError), err: self.warn_node('image file %s not readable: %s' % (filename, err), node) if imgtype: candidates['image/' + imgtype] = new_imgpath else: candidates['*'] = rel_imgpath # map image paths to unique image names (so that they can be put # into a single directory) for imgpath in candidates.itervalues(): self.dependencies.setdefault(docname, set()).add(imgpath) if not os.access(path.join(self.srcdir, imgpath), os.R_OK): self.warn_node('image file not readable: %s' % imgpath, node) continue self.images.add_file(docname, imgpath) def process_metadata(self, docname, doctree): """Process the docinfo part of the doctree as metadata. Keep processing minimal -- just return what docutils says. """ self.metadata[docname] = md = {} try: docinfo = doctree[0] except IndexError: # probably an empty document return if docinfo.__class__ is not nodes.docinfo: # nothing to see here return for node in docinfo: # nodes are multiply inherited... if isinstance(node, nodes.authors): md['authors'] = [author.astext() for author in node] elif isinstance(node, nodes.TextElement): # e.g. author md[node.__class__.__name__] = node.astext() else: name, body = node md[name.astext()] = body.astext() del doctree[0] def process_refonly_bullet_lists(self, docname, doctree): """Change refonly bullet lists to use compact_paragraphs. Specifically implemented for 'Indices and Tables' section, which looks odd when html_compact_lists is false. """ if self.config.html_compact_lists: return class RefOnlyListChecker(nodes.GenericNodeVisitor): """Raise `nodes.NodeFound` if non-simple list item is encountered. Here 'simple' means a list item containing only a paragraph with a single reference in it. """ def default_visit(self, node): raise nodes.NodeFound def visit_bullet_list(self, node): pass def visit_list_item(self, node): children = [] for child in node.children: if not isinstance(child, nodes.Invisible): children.append(child) if len(children) != 1: raise nodes.NodeFound if not isinstance(children[0], nodes.paragraph): raise nodes.NodeFound para = children[0] if len(para) != 1: raise nodes.NodeFound if not isinstance(para[0], addnodes.pending_xref): raise nodes.NodeFound raise nodes.SkipChildren def invisible_visit(self, node): """Invisible nodes should be ignored.""" pass def check_refonly_list(node): """Check for list with only references in it.""" visitor = RefOnlyListChecker(doctree) try: node.walk(visitor) except nodes.NodeFound: return False else: return True for node in doctree.traverse(nodes.bullet_list): if check_refonly_list(node): for item in node.traverse(nodes.list_item): para = item[0] ref = para[0] compact_para = addnodes.compact_paragraph() compact_para += ref item.replace(para, compact_para) def create_title_from(self, docname, document): """Add a title node to the document (just copy the first section title), and store that title in the environment. """ titlenode = nodes.title() longtitlenode = titlenode # explicit title set with title directive; use this only for # the <title> tag in HTML output if document.has_key('title'): longtitlenode = nodes.title() longtitlenode += nodes.Text(document['title']) # look for first section title and use that as the title for node in document.traverse(nodes.section): visitor = SphinxContentsFilter(document) node[0].walkabout(visitor) titlenode += visitor.get_entry_text() break else: # document has no title titlenode += nodes.Text('<no title>') self.titles[docname] = titlenode self.longtitles[docname] = longtitlenode def note_indexentries_from(self, docname, document): entries = self.indexentries[docname] = [] for node in document.traverse(addnodes.index): entries.extend(node['entries']) def note_citations_from(self, docname, document): for node in document.traverse(nodes.citation): label = node[0].astext() if label in self.citations: self.warn_node('duplicate citation %s, ' % label + 'other instance in %s' % self.doc2path( self.citations[label][0]), node) self.citations[label] = (docname, node['ids'][0]) def note_toctree(self, docname, toctreenode): """Note a TOC tree directive in a document and gather information about file relations from it. """ if toctreenode['glob']: self.glob_toctrees.add(docname) if toctreenode.get('numbered'): self.numbered_toctrees.add(docname) includefiles = toctreenode['includefiles'] for includefile in includefiles: # note that if the included file is rebuilt, this one must be # too (since the TOC of the included file could have changed) self.files_to_rebuild.setdefault(includefile, set()).add(docname) self.toctree_includes.setdefault(docname, []).extend(includefiles) def build_toc_from(self, docname, document): """Build a TOC from the doctree and store it in the inventory.""" numentries = [0] # nonlocal again... try: maxdepth = int(self.metadata[docname].get('tocdepth', 0)) except ValueError: maxdepth = 0 def traverse_in_section(node, cls): """Like traverse(), but stay within the same section.""" result = [] if isinstance(node, cls): result.append(node) for child in node.children: if isinstance(child, nodes.section): continue result.extend(traverse_in_section(child, cls)) return result def build_toc(node, depth=1): entries = [] for sectionnode in node: # find all toctree nodes in this section and add them # to the toc (just copying the toctree node which is then # resolved in self.get_and_resolve_doctree) if isinstance(sectionnode, addnodes.only): onlynode = addnodes.only(expr=sectionnode['expr']) blist = build_toc(sectionnode, depth) if blist: onlynode += blist.children entries.append(onlynode) if not isinstance(sectionnode, nodes.section): for toctreenode in traverse_in_section(sectionnode, addnodes.toctree): item = toctreenode.copy() entries.append(item) # important: do the inventory stuff self.note_toctree(docname, toctreenode) continue title = sectionnode[0] # copy the contents of the section title, but without references # and unnecessary stuff visitor = SphinxContentsFilter(document) title.walkabout(visitor) nodetext = visitor.get_entry_text() if not numentries[0]: # for the very first toc entry, don't add an anchor # as it is the file's title anyway anchorname = '' else: anchorname = '#' + sectionnode['ids'][0] numentries[0] += 1 # make these nodes: # list_item -> compact_paragraph -> reference reference = nodes.reference( '', '', internal=True, refuri=docname, anchorname=anchorname, *nodetext) para = addnodes.compact_paragraph('', '', reference) item = nodes.list_item('', para) sub_item = build_toc(sectionnode, depth + 1) if maxdepth == 0 or depth < maxdepth: item += sub_item entries.append(item) if entries: return nodes.bullet_list('', *entries) return [] toc = build_toc(document) if toc: self.tocs[docname] = toc else: self.tocs[docname] = nodes.bullet_list('') self.toc_num_entries[docname] = numentries[0] def get_toc_for(self, docname, builder): """Return a TOC nodetree -- for use on the same page only!""" try: toc = self.tocs[docname].deepcopy() except KeyError: # the document does not exist anymore: return a dummy node that # renders to nothing return nodes.paragraph() self.process_only_nodes(toc, builder, docname) for node in toc.traverse(nodes.reference): node['refuri'] = node['anchorname'] or '#' return toc def get_toctree_for(self, docname, builder, collapse, **kwds): """Return the global TOC nodetree.""" doctree = self.get_doctree(self.config.master_doc) toctrees = [] if 'includehidden' not in kwds: kwds['includehidden'] = True if 'maxdepth' not in kwds: kwds['maxdepth'] = 0 kwds['collapse'] = collapse for toctreenode in doctree.traverse(addnodes.toctree): toctree = self.resolve_toctree(docname, builder, toctreenode, prune=True, **kwds) if toctree: toctrees.append(toctree) if not toctrees: return None result = toctrees[0] for toctree in toctrees[1:]: result.extend(toctree.children) return result def get_domain(self, domainname): """Return the domain instance with the specified name. Raises an ExtensionError if the domain is not registered. """ try: return self.domains[domainname] except KeyError: raise ExtensionError('Domain %r is not registered' % domainname) # --------- RESOLVING REFERENCES AND TOCTREES ------------------------------ def get_doctree(self, docname): """Read the doctree for a file from the pickle and return it.""" doctree_filename = self.doc2path(docname, self.doctreedir, '.doctree') f = open(doctree_filename, 'rb') try: doctree = pickle.load(f) finally: f.close() doctree.settings.env = self doctree.reporter = Reporter(self.doc2path(docname), 2, 5, stream=WarningStream(self._warnfunc)) return doctree def get_and_resolve_doctree(self, docname, builder, doctree=None, prune_toctrees=True, includehidden=False): """Read the doctree from the pickle, resolve cross-references and toctrees and return it. """ if doctree is None: doctree = self.get_doctree(docname) # resolve all pending cross-references self.resolve_references(doctree, docname, builder) # now, resolve all toctree nodes for toctreenode in doctree.traverse(addnodes.toctree): result = self.resolve_toctree(docname, builder, toctreenode, prune=prune_toctrees, includehidden=includehidden) if result is None: toctreenode.replace_self([]) else: toctreenode.replace_self(result) return doctree def resolve_toctree(self, docname, builder, toctree, prune=True, maxdepth=0, titles_only=False, collapse=False, includehidden=False): """Resolve a *toctree* node into individual bullet lists with titles as items, returning None (if no containing titles are found) or a new node. If *prune* is True, the tree is pruned to *maxdepth*, or if that is 0, to the value of the *maxdepth* option on the *toctree* node. If *titles_only* is True, only toplevel document titles will be in the resulting tree. If *collapse* is True, all branches not containing docname will be collapsed. """ if toctree.get('hidden', False) and not includehidden: return None # For reading the following two helper function, it is useful to keep # in mind the node structure of a toctree (using HTML-like node names # for brevity): # # <ul> # <li> # <p><a></p> # <p><a></p> # ... # <ul> # ... # </ul> # </li> # </ul> # # The transformation is made in two passes in order to avoid # interactions between marking and pruning the tree (see bug #1046). def _toctree_prune(node, depth, maxdepth): """Utility: Cut a TOC at a specified depth.""" for subnode in node.children[:]: if isinstance(subnode, (addnodes.compact_paragraph, nodes.list_item)): # for <p> and <li>, just recurse _toctree_prune(subnode, depth, maxdepth) elif isinstance(subnode, nodes.bullet_list): # for <ul>, determine if the depth is too large or if the # entry is to be collapsed if maxdepth > 0 and depth > maxdepth: subnode.parent.replace(subnode, []) else: # cull sub-entries whose parents aren't 'current' if (collapse and depth > 1 and 'iscurrent' not in subnode.parent): subnode.parent.remove(subnode) else: # recurse on visible children _toctree_prune(subnode, depth+1, maxdepth) def _toctree_add_classes(node, depth): """Add 'toctree-l%d' and 'current' classes to the toctree.""" for subnode in node.children: if isinstance(subnode, (addnodes.compact_paragraph, nodes.list_item)): # for <p> and <li>, indicate the depth level and recurse subnode['classes'].append('toctree-l%d' % (depth-1)) _toctree_add_classes(subnode, depth) elif isinstance(subnode, nodes.bullet_list): # for <ul>, just recurse _toctree_add_classes(subnode, depth+1) elif isinstance(subnode, nodes.reference): # for <a>, identify which entries point to the current # document and therefore may not be collapsed if subnode['refuri'] == docname: if not subnode['anchorname']: # give the whole branch a 'current' class # (useful for styling it differently) branchnode = subnode while branchnode: branchnode['classes'].append('current') branchnode = branchnode.parent # mark the list_item as "on current page" if subnode.parent.parent.get('iscurrent'): # but only if it's not already done return while subnode: subnode['iscurrent'] = True subnode = subnode.parent def _entries_from_toctree(toctreenode, parents, separate=False, subtree=False): """Return TOC entries for a toctree node.""" refs = [(e[0], e[1]) for e in toctreenode['entries']] entries = [] for (title, ref) in refs: try: refdoc = None if url_re.match(ref): reference = nodes.reference('', '', internal=False, refuri=ref, anchorname='', *[nodes.Text(title)]) para = addnodes.compact_paragraph('', '', reference) item = nodes.list_item('', para) toc = nodes.bullet_list('', item) elif ref == 'self': # 'self' refers to the document from which this # toctree originates ref = toctreenode['parent'] if not title: title = clean_astext(self.titles[ref]) reference = nodes.reference('', '', internal=True, refuri=ref, anchorname='', *[nodes.Text(title)]) para = addnodes.compact_paragraph('', '', reference) item = nodes.list_item('', para) # don't show subitems toc = nodes.bullet_list('', item) else: if ref in parents: self.warn(ref, 'circular toctree references ' 'detected, ignoring: %s <- %s' % (ref, ' <- '.join(parents))) continue refdoc = ref toc = self.tocs[ref].deepcopy() self.process_only_nodes(toc, builder, ref) if title and toc.children and len(toc.children) == 1: child = toc.children[0] for refnode in child.traverse(nodes.reference): if refnode['refuri'] == ref and \ not refnode['anchorname']: refnode.children = [nodes.Text(title)] if not toc.children: # empty toc means: no titles will show up in the toctree self.warn_node( 'toctree contains reference to document %r that ' 'doesn\'t have a title: no link will be generated' % ref, toctreenode) except KeyError: # this is raised if the included file does not exist self.warn_node( 'toctree contains reference to nonexisting document %r' % ref, toctreenode) else: # if titles_only is given, only keep the main title and # sub-toctrees if titles_only: # delete everything but the toplevel title(s) # and toctrees for toplevel in toc: # nodes with length 1 don't have any children anyway if len(toplevel) > 1: subtrees = toplevel.traverse(addnodes.toctree) toplevel[1][:] = subtrees # resolve all sub-toctrees for toctreenode in toc.traverse(addnodes.toctree): if not (toctreenode.get('hidden', False) and not includehidden): i = toctreenode.parent.index(toctreenode) + 1 for item in _entries_from_toctree( toctreenode, [refdoc] + parents, subtree=True): toctreenode.parent.insert(i, item) i += 1 toctreenode.parent.remove(toctreenode) if separate: entries.append(toc) else: entries.extend(toc.children) if not subtree and not separate: ret = nodes.bullet_list() ret += entries return [ret] return entries maxdepth = maxdepth or toctree.get('maxdepth', -1) if not titles_only and toctree.get('titlesonly', False): titles_only = True if not includehidden and toctree.get('includehidden', False): includehidden = True # NOTE: previously, this was separate=True, but that leads to artificial # separation when two or more toctree entries form a logical unit, so # separating mode is no longer used -- it's kept here for history's sake tocentries = _entries_from_toctree(toctree, [], separate=False) if not tocentries: return None newnode = addnodes.compact_paragraph('', '', *tocentries) newnode['toctree'] = True # prune the tree to maxdepth, also set toc depth and current classes _toctree_add_classes(newnode, 1) _toctree_prune(newnode, 1, prune and maxdepth or 0) # set the target paths in the toctrees (they are not known at TOC # generation time) for refnode in newnode.traverse(nodes.reference): if not url_re.match(refnode['refuri']): refnode['refuri'] = builder.get_relative_uri( docname, refnode['refuri']) + refnode['anchorname'] return newnode def resolve_references(self, doctree, fromdocname, builder): for node in doctree.traverse(addnodes.pending_xref): contnode = node[0].deepcopy() newnode = None typ = node['reftype'] target = node['reftarget'] refdoc = node.get('refdoc', fromdocname) domain = None try: if 'refdomain' in node and node['refdomain']: # let the domain try to resolve the reference try: domain = self.domains[node['refdomain']] except KeyError: raise NoUri newnode = domain.resolve_xref(self, fromdocname, builder, typ, target, node, contnode) # really hardwired reference types elif typ == 'doc': # directly reference to document by source name; # can be absolute or relative docname = docname_join(refdoc, target) if docname in self.all_docs: if node['refexplicit']: # reference with explicit title caption = node.astext() else: caption = clean_astext(self.titles[docname]) innernode = nodes.emphasis(caption, caption) newnode = nodes.reference('', '', internal=True) newnode['refuri'] = builder.get_relative_uri( fromdocname, docname) newnode.append(innernode) elif typ == 'citation': docname, labelid = self.citations.get(target, ('', '')) if docname: try: newnode = make_refnode(builder, fromdocname, docname, labelid, contnode) except NoUri: # remove the ids we added in the CitationReferences # transform since they can't be transfered to # the contnode (if it's a Text node) if not isinstance(contnode, nodes.Element): del node['ids'][:] raise elif 'ids' in node: # remove ids attribute that annotated at # transforms.CitationReference.apply. del node['ids'][:] # no new node found? try the missing-reference event if newnode is None: newnode = builder.app.emit_firstresult( 'missing-reference', self, node, contnode) # still not found? warn if in nit-picky mode if newnode is None: self._warn_missing_reference( fromdocname, typ, target, node, domain) except NoUri: newnode = contnode node.replace_self(newnode or contnode) # remove only-nodes that do not belong to our builder self.process_only_nodes(doctree, builder, fromdocname) # allow custom references to be resolved builder.app.emit('doctree-resolved', doctree, fromdocname) def _warn_missing_reference(self, fromdoc, typ, target, node, domain): warn = node.get('refwarn') if self.config.nitpicky: warn = True if self._nitpick_ignore: dtype = domain and '%s:%s' % (domain.name, typ) or typ if (dtype, target) in self._nitpick_ignore: warn = False # for "std" types also try without domain name if domain.name == 'std' and (typ, target) in self._nitpick_ignore: warn = False if not warn: return if domain and typ in domain.dangling_warnings: msg = domain.dangling_warnings[typ] elif typ == 'doc': msg = 'unknown document: %(target)s' elif typ == 'citation': msg = 'citation not found: %(target)s' elif node.get('refdomain', 'std') != 'std': msg = '%s:%s reference target not found: %%(target)s' % \ (node['refdomain'], typ) else: msg = '%s reference target not found: %%(target)s' % typ self.warn_node(msg % {'target': target}, node) def process_only_nodes(self, doctree, builder, fromdocname=None): # A comment on the comment() nodes being inserted: replacing by [] would # result in a "Losing ids" exception if there is a target node before # the only node, so we make sure docutils can transfer the id to # something, even if it's just a comment and will lose the id anyway... for node in doctree.traverse(addnodes.only): try: ret = builder.tags.eval_condition(node['expr']) except Exception, err: self.warn_node('exception while evaluating only ' 'directive expression: %s' % err, node) node.replace_self(node.children or nodes.comment()) else: if ret: node.replace_self(node.children or nodes.comment()) else: node.replace_self(nodes.comment()) def assign_section_numbers(self): """Assign a section number to each heading under a numbered toctree.""" # a list of all docnames whose section numbers changed rewrite_needed = [] old_secnumbers = self.toc_secnumbers self.toc_secnumbers = {} def _walk_toc(node, secnums, depth, titlenode=None): # titlenode is the title of the document, it will get assigned a # secnumber too, so that it shows up in next/prev/parent rellinks for subnode in node.children: if isinstance(subnode, nodes.bullet_list): numstack.append(0) _walk_toc(subnode, secnums, depth-1, titlenode) numstack.pop() titlenode = None elif isinstance(subnode, nodes.list_item): _walk_toc(subnode, secnums, depth, titlenode) titlenode = None elif isinstance(subnode, addnodes.only): # at this stage we don't know yet which sections are going # to be included; just include all of them, even if it leads # to gaps in the numbering _walk_toc(subnode, secnums, depth, titlenode) titlenode = None elif isinstance(subnode, addnodes.compact_paragraph): numstack[-1] += 1 if depth > 0: number = tuple(numstack) else: number = None secnums[subnode[0]['anchorname']] = \ subnode[0]['secnumber'] = number if titlenode: titlenode['secnumber'] = number titlenode = None elif isinstance(subnode, addnodes.toctree): _walk_toctree(subnode, depth) def _walk_toctree(toctreenode, depth): if depth == 0: return for (title, ref) in toctreenode['entries']: if url_re.match(ref) or ref == 'self': # don't mess with those continue if ref in self.tocs: secnums = self.toc_secnumbers[ref] = {} _walk_toc(self.tocs[ref], secnums, depth, self.titles.get(ref)) if secnums != old_secnumbers.get(ref): rewrite_needed.append(ref) for docname in self.numbered_toctrees: doctree = self.get_doctree(docname) for toctreenode in doctree.traverse(addnodes.toctree): depth = toctreenode.get('numbered', 0) if depth: # every numbered toctree gets new numbering numstack = [0] _walk_toctree(toctreenode, depth) return rewrite_needed def create_index(self, builder, group_entries=True, _fixre=re.compile(r'(.*) ([(][^()]*[)])')): """Create the real index from the collected index entries.""" new = {} def add_entry(word, subword, link=True, dic=new): # Force the word to be unicode if it's a ASCII bytestring. # This will solve problems with unicode normalization later. # For instance the RFC role will add bytestrings at the moment word = unicode(word) entry = dic.get(word) if not entry: dic[word] = entry = [[], {}] if subword: add_entry(subword, '', link=link, dic=entry[1]) elif link: try: uri = builder.get_relative_uri('genindex', fn) + '#' + tid except NoUri: pass else: entry[0].append((main, uri)) for fn, entries in self.indexentries.iteritems(): # new entry types must be listed in directives/other.py! for type, value, tid, main in entries: try: if type == 'single': try: entry, subentry = split_into(2, 'single', value) except ValueError: entry, = split_into(1, 'single', value) subentry = '' add_entry(entry, subentry) elif type == 'pair': first, second = split_into(2, 'pair', value) add_entry(first, second) add_entry(second, first) elif type == 'triple': first, second, third = split_into(3, 'triple', value) add_entry(first, second+' '+third) add_entry(second, third+', '+first) add_entry(third, first+' '+second) elif type == 'see': first, second = split_into(2, 'see', value) add_entry(first, _('see %s') % second, link=False) elif type == 'seealso': first, second = split_into(2, 'see', value) add_entry(first, _('see also %s') % second, link=False) else: self.warn(fn, 'unknown index entry type %r' % type) except ValueError, err: self.warn(fn, str(err)) # sort the index entries; put all symbols at the front, even those # following the letters in ASCII, this is where the chr(127) comes from def keyfunc(entry, lcletters=string.ascii_lowercase + '_'): lckey = unicodedata.normalize('NFD', entry[0].lower()) if lckey[0:1] in lcletters: return chr(127) + lckey return lckey newlist = new.items() newlist.sort(key=keyfunc) if group_entries: # fixup entries: transform # func() (in module foo) # func() (in module bar) # into # func() # (in module foo) # (in module bar) oldkey = '' oldsubitems = None i = 0 while i < len(newlist): key, (targets, subitems) = newlist[i] # cannot move if it has subitems; structure gets too complex if not subitems: m = _fixre.match(key) if m: if oldkey == m.group(1): # prefixes match: add entry as subitem of the # previous entry oldsubitems.setdefault(m.group(2), [[], {}])[0].\ extend(targets) del newlist[i] continue oldkey = m.group(1) else: oldkey = key oldsubitems = subitems i += 1 # group the entries by letter def keyfunc2(item, letters=string.ascii_uppercase + '_'): # hack: mutating the subitems dicts to a list in the keyfunc k, v = item v[1] = sorted((si, se) for (si, (se, void)) in v[1].iteritems()) # now calculate the key letter = unicodedata.normalize('NFD', k[0])[0].upper() if letter in letters: return letter else: # get all other symbols under one heading return _('Symbols') return [(key, list(group)) for (key, group) in groupby(newlist, keyfunc2)] def collect_relations(self): relations = {} getinc = self.toctree_includes.get def collect(parents, parents_set, docname, previous, next): # circular relationship? if docname in parents_set: # we will warn about this in resolve_toctree() return includes = getinc(docname) # previous if not previous: # if no previous sibling, go to parent previous = parents[0][0] else: # else, go to previous sibling, or if it has children, to # the last of its children, or if that has children, to the # last of those, and so forth while 1: previncs = getinc(previous) if previncs: previous = previncs[-1] else: break # next if includes: # if it has children, go to first of them next = includes[0] elif next: # else, if next sibling, go to it pass else: # else, go to the next sibling of the parent, if present, # else the grandparent's sibling, if present, and so forth for parname, parindex in parents: parincs = getinc(parname) if parincs and parindex + 1 < len(parincs): next = parincs[parindex+1] break # else it will stay None # same for children if includes: for subindex, args in enumerate(izip(includes, [None] + includes, includes[1:] + [None])): collect([(docname, subindex)] + parents, parents_set.union([docname]), *args) relations[docname] = [parents[0][0], previous, next] collect([(None, 0)], set(), self.config.master_doc, None, None) return relations def check_consistency(self): """Do consistency checks.""" for docname in sorted(self.all_docs): if docname not in self.files_to_rebuild: if docname == self.config.master_doc: # the master file is not included anywhere ;) continue if 'orphan' in self.metadata[docname]: continue self.warn(docname, 'document isn\'t included in any toctree') ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx/apidoc.py�������������������������������������������������������������0000644�0000000�0000000�00000032644�12304557741�016544� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- """ sphinx.apidoc ~~~~~~~~~~~~~ Parses a directory tree looking for Python modules and packages and creates ReST files appropriately to create code documentation with Sphinx. It also creates a modules index (named modules.<suffix>). This is derived from the "sphinx-autopackage" script, which is: Copyright 2008 Société des arts technologiques (SAT), http://www.sat.qc.ca/ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import os import sys import optparse from os import path from sphinx.util.osutil import walk # automodule options if 'SPHINX_APIDOC_OPTIONS' in os.environ: OPTIONS = os.environ['SPHINX_APIDOC_OPTIONS'].split(',') else: OPTIONS = [ 'members', 'undoc-members', # 'inherited-members', # disabled because there's a bug in sphinx 'show-inheritance', ] INITPY = '__init__.py' PY_SUFFIXES = set(['.py', '.pyx']) def makename(package, module): """Join package and module with a dot.""" # Both package and module can be None/empty. if package: name = package if module: name += '.' + module else: name = module return name def write_file(name, text, opts): """Write the output file for module/package <name>.""" fname = path.join(opts.destdir, '%s.%s' % (name, opts.suffix)) if opts.dryrun: print 'Would create file %s.' % fname return if not opts.force and path.isfile(fname): print 'File %s already exists, skipping.' % fname else: print 'Creating file %s.' % fname f = open(fname, 'w') try: f.write(text) finally: f.close() def format_heading(level, text): """Create a heading of <level> [1, 2 or 3 supported].""" underlining = ['=', '-', '~', ][level - 1] * len(text) return '%s\n%s\n\n' % (text, underlining) def format_directive(module, package=None): """Create the automodule directive and add the options.""" directive = '.. automodule:: %s\n' % makename(package, module) for option in OPTIONS: directive += ' :%s:\n' % option return directive def create_module_file(package, module, opts): """Build the text of the file and write the file.""" if not opts.noheadings: text = format_heading(1, '%s module' % module) else: text = '' #text += format_heading(2, ':mod:`%s` Module' % module) text += format_directive(module, package) write_file(makename(package, module), text, opts) def create_package_file(root, master_package, subroot, py_files, opts, subs): """Build the text of the file and write the file.""" text = format_heading(1, '%s package' % makename(master_package, subroot)) # build a list of directories that are szvpackages (contain an INITPY file) subs = [sub for sub in subs if path.isfile(path.join(root, sub, INITPY))] # if there are some package directories, add a TOC for theses subpackages if subs: text += format_heading(2, 'Subpackages') text += '.. toctree::\n\n' for sub in subs: text += ' %s.%s\n' % (makename(master_package, subroot), sub) text += '\n' submods = [path.splitext(sub)[0] for sub in py_files if not shall_skip(path.join(root, sub), opts) and sub != INITPY] if submods: text += format_heading(2, 'Submodules') if opts.separatemodules: text += '.. toctree::\n\n' for submod in submods: modfile = makename(master_package, makename(subroot, submod)) text += ' %s\n' % modfile # generate separate file for this module if not opts.noheadings: filetext = format_heading(1, '%s module' % modfile) else: filetext = '' filetext += format_directive(makename(subroot, submod), master_package) write_file(modfile, filetext, opts) else: for submod in submods: modfile = makename(master_package, makename(subroot, submod)) if not opts.noheadings: text += format_heading(2, '%s module' % modfile) text += format_directive(makename(subroot, submod), master_package) text += '\n' text += '\n' text += format_heading(2, 'Module contents') text += format_directive(subroot, master_package) write_file(makename(master_package, subroot), text, opts) def create_modules_toc_file(modules, opts, name='modules'): """Create the module's index.""" text = format_heading(1, '%s' % opts.header) text += '.. toctree::\n' text += ' :maxdepth: %s\n\n' % opts.maxdepth modules.sort() prev_module = '' for module in modules: # look if the module is a subpackage and, if yes, ignore it if module.startswith(prev_module + '.'): continue prev_module = module text += ' %s\n' % module write_file(name, text, opts) def shall_skip(module, opts): """Check if we want to skip this module.""" # skip it if there is nothing (or just \n or \r\n) in the file if path.getsize(module) <= 2: return True # skip if it has a "private" name and this is selected filename = path.basename(module) if filename != '__init__.py' and filename.startswith('_') and \ not opts.includeprivate: return True return False def recurse_tree(rootpath, excludes, opts): """ Look for every file in the directory tree and create the corresponding ReST files. """ # check if the base directory is a package and get its name if INITPY in os.listdir(rootpath): root_package = rootpath.split(path.sep)[-1] else: # otherwise, the base is a directory with packages root_package = None toplevels = [] followlinks = getattr(opts, 'followlinks', False) includeprivate = getattr(opts, 'includeprivate', False) for root, subs, files in walk(rootpath, followlinks=followlinks): # document only Python module files (that aren't excluded) py_files = sorted(f for f in files if path.splitext(f)[1] in PY_SUFFIXES and not is_excluded(path.join(root, f), excludes)) is_pkg = INITPY in py_files if is_pkg: py_files.remove(INITPY) py_files.insert(0, INITPY) elif root != rootpath: # only accept non-package at toplevel del subs[:] continue # remove hidden ('.') and private ('_') directories, as well as # excluded dirs if includeprivate: exclude_prefixes = ('.',) else: exclude_prefixes = ('.', '_') subs[:] = sorted(sub for sub in subs if not sub.startswith(exclude_prefixes) and not is_excluded(path.join(root, sub), excludes)) if is_pkg: # we are in a package with something to document if subs or len(py_files) > 1 or not \ shall_skip(path.join(root, INITPY), opts): subpackage = root[len(rootpath):].lstrip(path.sep).\ replace(path.sep, '.') create_package_file(root, root_package, subpackage, py_files, opts, subs) toplevels.append(makename(root_package, subpackage)) else: # if we are at the root level, we don't require it to be a package assert root == rootpath and root_package is None for py_file in py_files: if not shall_skip(path.join(rootpath, py_file), opts): module = path.splitext(py_file)[0] create_module_file(root_package, module, opts) toplevels.append(module) return toplevels def normalize_excludes(rootpath, excludes): """Normalize the excluded directory list.""" return [path.normpath(path.abspath(exclude)) for exclude in excludes] def is_excluded(root, excludes): """Check if the directory is in the exclude list. Note: by having trailing slashes, we avoid common prefix issues, like e.g. an exlude "foo" also accidentally excluding "foobar". """ root = path.normpath(root) for exclude in excludes: if root == exclude: return True return False def main(argv=sys.argv): """Parse and check the command line arguments.""" parser = optparse.OptionParser( usage="""\ usage: %prog [options] -o <output_path> <module_path> [exclude_path, ...] Look recursively in <module_path> for Python modules and packages and create one reST file with automodule directives per package in the <output_path>. The <exclude_path>s can be files and/or directories that will be excluded from generation. Note: By default this script will not overwrite already created files.""") parser.add_option('-o', '--output-dir', action='store', dest='destdir', help='Directory to place all output', default='') parser.add_option('-d', '--maxdepth', action='store', dest='maxdepth', help='Maximum depth of submodules to show in the TOC ' '(default: 4)', type='int', default=4) parser.add_option('-f', '--force', action='store_true', dest='force', help='Overwrite existing files') parser.add_option('-l', '--follow-links', action='store_true', dest='followlinks', default=False, help='Follow symbolic links. Powerful when combined ' 'with collective.recipe.omelette.') parser.add_option('-n', '--dry-run', action='store_true', dest='dryrun', help='Run the script without creating files') parser.add_option('-e', '--separate', action='store_true', dest='separatemodules', help='Put documentation for each module on its own page') parser.add_option('-P', '--private', action='store_true', dest='includeprivate', help='Include "_private" modules') parser.add_option('-T', '--no-toc', action='store_true', dest='notoc', help='Don\'t create a table of contents file') parser.add_option('-E', '--no-headings', action='store_true', dest='noheadings', help='Don\'t create headings for the module/package ' 'packages (e.g. when the docstrings already contain ' 'them)') parser.add_option('-s', '--suffix', action='store', dest='suffix', help='file suffix (default: rst)', default='rst') parser.add_option('-F', '--full', action='store_true', dest='full', help='Generate a full project with sphinx-quickstart') parser.add_option('-H', '--doc-project', action='store', dest='header', help='Project name (default: root module name)') parser.add_option('-A', '--doc-author', action='store', dest='author', type='str', help='Project author(s), used when --full is given') parser.add_option('-V', '--doc-version', action='store', dest='version', help='Project version, used when --full is given') parser.add_option('-R', '--doc-release', action='store', dest='release', help='Project release, used when --full is given, ' 'defaults to --doc-version') (opts, args) = parser.parse_args(argv[1:]) if not args: parser.error('A package path is required.') rootpath, excludes = args[0], args[1:] if not opts.destdir: parser.error('An output directory is required.') if opts.header is None: opts.header = path.normpath(rootpath).split(path.sep)[-1] if opts.suffix.startswith('.'): opts.suffix = opts.suffix[1:] if not path.isdir(rootpath): print >>sys.stderr, '%s is not a directory.' % rootpath sys.exit(1) if not path.isdir(opts.destdir): if not opts.dryrun: os.makedirs(opts.destdir) rootpath = path.normpath(path.abspath(rootpath)) excludes = normalize_excludes(rootpath, excludes) modules = recurse_tree(rootpath, excludes, opts) if opts.full: from sphinx import quickstart as qs modules.sort() prev_module = '' text = '' for module in modules: if module.startswith(prev_module + '.'): continue prev_module = module text += ' %s\n' % module d = dict( path = opts.destdir, sep = False, dot = '_', project = opts.header, author = opts.author or 'Author', version = opts.version or '', release = opts.release or opts.version or '', suffix = '.' + opts.suffix, master = 'index', epub = True, ext_autodoc = True, ext_viewcode = True, makefile = True, batchfile = True, mastertocmaxdepth = opts.maxdepth, mastertoctree = text, ) if not opts.dryrun: qs.generate(d, silent=True, overwrite=opts.force) elif not opts.notoc: create_modules_toc_file(modules, opts) ��������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx-apidoc.py�������������������������������������������������������������0000755�0000000�0000000�00000000550�12304304673�016526� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python # -*- coding: utf-8 -*- """ Sphinx - Python documentation toolchain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys if __name__ == '__main__': from sphinx.apidoc import main sys.exit(main(sys.argv)) ��������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/custom_fixers/���������������������������������������������������������������0000755�0000000�0000000�00000000000�12304560277�016301� 5����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/custom_fixers/fix_alt_unicode.py���������������������������������������������0000644�0000000�0000000�00000000545�12304304557�022010� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������from lib2to3.fixer_base import BaseFix from lib2to3.fixer_util import Name class FixAltUnicode(BaseFix): PATTERN = """ func=funcdef< 'def' name='__unicode__' parameters< '(' NAME ')' > any+ > """ def transform(self, node, results): name = results['name'] name.replace(Name('__str__', prefix=name.prefix)) �����������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/custom_fixers/__init__.py����������������������������������������������������0000644�0000000�0000000�00000000000�12304304557�020375� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/MANIFEST.in������������������������������������������������������������������0000644�0000000�0000000�00000001154�12264566515�015154� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������include README.rst include LICENSE include AUTHORS include CHANGES include EXAMPLES include TODO include babel.cfg include Makefile include ez_setup.py include sphinx-autogen.py include sphinx-build.py include sphinx-quickstart.py include sphinx-apidoc.py recursive-include sphinx/texinputs * recursive-include sphinx/themes * recursive-include sphinx/locale * recursive-include sphinx/ext/autosummary/templates * recursive-include tests * recursive-include utils * recursive-include custom_fixers * include sphinx/pycode/Grammar-py2.txt include sphinx/pycode/Grammar-py3.txt recursive-include doc * prune doc/_build ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/setup.py���������������������������������������������������������������������0000644�0000000�0000000�00000016456�12304557741�015137� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# -*- coding: utf-8 -*- try: from setuptools import setup, find_packages except ImportError: import ez_setup ez_setup.use_setuptools() from setuptools import setup, find_packages import os import sys from distutils import log import sphinx long_desc = ''' Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), written by Georg Brandl. It was originally created for the new Python documentation, and has excellent facilities for Python project documentation, but C/C++ is supported as well, and more languages are planned. Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils. Among its features are the following: * Output formats: HTML (including derivative formats such as HTML Help, Epub and Qt Help), plain text, manual pages and LaTeX or direct PDF output using rst2pdf * Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information * Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children * Automatic indices: general index as well as a module index * Code handling: automatic highlighting using the Pygments highlighter * Flexible HTML output using the Jinja 2 templating engine * Various extensions are available, e.g. for automatic testing of snippets and inclusion of appropriately formatted docstrings * Setuptools integration ''' requires = ['Pygments>=1.2', 'docutils>=0.7'] if sys.version_info[:3] >= (3, 3, 0): requires[1] = 'docutils>=0.10' if sys.version_info < (2, 6) or (3, 0) <= sys.version_info < (3, 3): requires.append('Jinja2>=2.3,<2.7') else: requires.append('Jinja2>=2.3') if sys.version_info < (2, 5): print('ERROR: Sphinx requires at least Python 2.5 to run.') sys.exit(1) # tell distribute to use 2to3 with our own fixers extra = {} if sys.version_info >= (3, 0): extra.update( use_2to3=True, use_2to3_fixers=['custom_fixers'] ) # Provide a "compile_catalog" command that also creates the translated # JavaScript files if Babel is available. cmdclass = {} try: from babel.messages.pofile import read_po from babel.messages.frontend import compile_catalog try: from simplejson import dump except ImportError: from json import dump except ImportError: pass else: class compile_catalog_plusjs(compile_catalog): """ An extended command that writes all message strings that occur in JavaScript files to a JavaScript file along with the .mo file. Unfortunately, babel's setup command isn't built very extensible, so most of the run() code is duplicated here. """ def run(self): compile_catalog.run(self) po_files = [] js_files = [] if not self.input_file: if self.locale: po_files.append((self.locale, os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.po'))) js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) else: for locale in os.listdir(self.directory): po_file = os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.po') if os.path.exists(po_file): po_files.append((locale, po_file)) js_files.append(os.path.join(self.directory, locale, 'LC_MESSAGES', self.domain + '.js')) else: po_files.append((self.locale, self.input_file)) if self.output_file: js_files.append(self.output_file) else: js_files.append(os.path.join(self.directory, self.locale, 'LC_MESSAGES', self.domain + '.js')) for js_file, (locale, po_file) in zip(js_files, po_files): infile = open(po_file, 'r') try: catalog = read_po(infile, locale) finally: infile.close() if catalog.fuzzy and not self.use_fuzzy: continue log.info('writing JavaScript strings in catalog %r to %r', po_file, js_file) jscatalog = {} for message in catalog: if any(x[0].endswith('.js') for x in message.locations): msgid = message.id if isinstance(msgid, (list, tuple)): msgid = msgid[0] jscatalog[msgid] = message.string outfile = open(js_file, 'wb') try: outfile.write('Documentation.addTranslations('); dump(dict( messages=jscatalog, plural_expr=catalog.plural_expr, locale=str(catalog.locale) ), outfile) outfile.write(');') finally: outfile.close() cmdclass['compile_catalog'] = compile_catalog_plusjs setup( name='Sphinx', version=sphinx.__version__, url='http://sphinx-doc.org/', download_url='http://pypi.python.org/pypi/Sphinx', license='BSD', author='Georg Brandl', author_email='georg@python.org', description='Python documentation generator', long_description=long_desc, zip_safe=False, classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Environment :: Web Environment', 'Intended Audience :: Developers', 'Intended Audience :: Education', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 3', 'Topic :: Documentation', 'Topic :: Text Processing', 'Topic :: Utilities', ], platforms='any', packages=find_packages(exclude=['custom_fixers', 'test']), include_package_data=True, entry_points={ 'console_scripts': [ 'sphinx-build = sphinx:main', 'sphinx-quickstart = sphinx.quickstart:main', 'sphinx-apidoc = sphinx.apidoc:main', 'sphinx-autogen = sphinx.ext.autosummary.generate:main', ], 'distutils.commands': [ 'build_sphinx = sphinx.setup_command:BuildDoc', ], }, install_requires=requires, cmdclass=cmdclass, **extra ) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx-build.py��������������������������������������������������������������0000755�0000000�0000000�00000000700�12304304673�016363� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python # -*- coding: utf-8 -*- """ Sphinx - Python documentation toolchain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys if __name__ == '__main__': from sphinx import main, make_main if sys.argv[1:2] == ['-M']: sys.exit(make_main(sys.argv)) else: sys.exit(main(sys.argv)) ����������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx-quickstart.py���������������������������������������������������������0000755�0000000�0000000�00000000554�12304304673�017465� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python # -*- coding: utf-8 -*- """ Sphinx - Python documentation toolchain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys if __name__ == '__main__': from sphinx.quickstart import main sys.exit(main(sys.argv)) ����������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/AUTHORS����������������������������������������������������������������������0000644�0000000�0000000�00000004157�12304557741�014470� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Sphinx is written and maintained by Georg Brandl <georg@python.org>. Substantial parts of the templates were written by Armin Ronacher <armin.ronacher@active-4.com>. Other contributors, listed alphabetically, are: * Andi Albrecht -- agogo theme * Henrique Bastos -- SVG support for graphviz extension * Daniel Bültmann -- todo extension * Etienne Desautels -- apidoc module * Michael Droettboom -- inheritance_diagram extension * Charles Duffy -- original graphviz extension * Kevin Dunn -- MathJax extension * Josip Dzolonga -- coverage builder * Hernan Grecco -- search improvements * Horst Gutmann -- internationalization support * Martin Hans -- autodoc improvements * Doug Hellmann -- graphviz improvements * Dave Kuhlman -- original LaTeX writer * Blaise Laflamme -- pyramid theme * Thomas Lamb -- linkcheck builder * Łukasz Langa -- partial support for autodoc * Robert Lehmann -- gettext builder (GSOC project) * Dan MacKinlay -- metadata fixes * Martin Mahner -- nature theme * Will Maier -- directory HTML builder * Jacob Mason -- websupport library (GSOC project) * Roland Meister -- epub builder * Ezio Melotti -- collapsible sidebar JavaScript * Daniel Neuhäuser -- JavaScript domain, Python 3 support (GSOC) * Christopher Perkins -- autosummary integration * Benjamin Peterson -- unittests * T. Powers -- HTML output improvements * Stefan Seefeld -- toctree improvements * Shibukawa Yoshiki -- pluggable search API and Japanese search * Antonio Valentino -- qthelp builder * Pauli Virtanen -- autodoc improvements, autosummary extension * Stefan van der Walt -- autosummary extension * Thomas Waldmann -- apidoc module fixes * John Waltman -- Texinfo builder * Barry Warsaw -- setup command improvements * Sebastian Wiesner -- image handling, distutils support * Joel Wurtz -- cellspanning support in LaTeX Many thanks for all contributions! There are also a few modules or functions incorporated from other authors and projects: * sphinx.util.jsdump uses the basestring encoding from simplejson, written by Bob Ippolito, released under the MIT license * sphinx.util.stemmer was written by Vivake Gupta, placed in the Public Domain �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/TODO�������������������������������������������������������������������������0000644�0000000�0000000�00000000227�11644410757�014103� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Sphinx TODO =========== All todo items are now tracked as issues in the Sphinx issue tracker at <http://www.bitbucket.org/birkenfeld/sphinx/issues/>. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Makefile���������������������������������������������������������������������0000644�0000000�0000000�00000003146�11644410757�015056� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PYTHON ?= python .PHONY: all check clean clean-pyc clean-patchfiles clean-backupfiles \ clean-generated pylint reindent test covertest build convert-utils DONT_CHECK = -i build -i dist -i sphinx/style/jquery.js \ -i sphinx/pycode/pgen2 -i sphinx/util/smartypants.py \ -i .ropeproject -i doc/_build -i tests/path.py \ -i tests/coverage.py -i env -i utils/convert.py \ -i sphinx/search/ja.py \ -i utils/reindent3.py -i utils/check_sources3.py -i .tox all: clean-pyc clean-backupfiles check test ifeq ($(PYTHON), python3) check: convert-utils @$(PYTHON) utils/check_sources3.py $(DONT_CHECK) . else check: @$(PYTHON) utils/check_sources.py $(DONT_CHECK) . endif clean: clean-pyc clean-patchfiles clean-backupfiles clean-generated clean-pyc: find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + clean-patchfiles: find . -name '*.orig' -exec rm -f {} + find . -name '*.rej' -exec rm -f {} + clean-backupfiles: find . -name '*~' -exec rm -f {} + find . -name '*.bak' -exec rm -f {} + clean-generated: rm -f utils/*3.py* pylint: @pylint --rcfile utils/pylintrc sphinx ifeq ($(PYTHON), python3) reindent: convert-utils @$(PYTHON) utils/reindent3.py -r -n . else reindent: @$(PYTHON) utils/reindent.py -r -n . endif test: build @cd tests; $(PYTHON) run.py -d -m '^[tT]est' $(TEST) covertest: build @cd tests; $(PYTHON) run.py -d -m '^[tT]est' --with-coverage \ --cover-package=sphinx $(TEST) build: @$(PYTHON) setup.py build ifeq ($(PYTHON), python3) convert-utils: @python3 utils/convert.py -i utils/convert.py utils/ endif ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/EXAMPLES���������������������������������������������������������������������0000644�0000000�0000000�00000023204�12304557741�014553� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Projects using Sphinx ===================== This is an (incomplete) alphabetic list of projects that use Sphinx or are experimenting with using it for their documentation. If you like to be included, please mail to `the Google group <https://groups.google.com/group/sphinx-users>`_. I've grouped the list into sections to make it easier to find interesting examples. Documentation using the default theme ------------------------------------- * APSW: http://apidoc.apsw.googlecode.com/hg/index.html * ASE: https://wiki.fysik.dtu.dk/ase/ * boostmpi: http://documen.tician.de/boostmpi/ * Calibre: http://manual.calibre-ebook.com/ * CodePy: http://documen.tician.de/codepy/ * Cython: http://docs.cython.org/ * C\\C++ Python language binding project: http://language-binding.net/index.html * Cormoran: http://cormoran.nhopkg.org/docs/ * Director: http://pythonhosted.org/director/ * Dirigible: http://www.projectdirigible.com/documentation/ * Elemental: http://elemental.googlecode.com/hg/doc/build/html/index.html * F2py: http://f2py.sourceforge.net/docs/ * GeoDjango: http://geodjango.org/docs/ * Genomedata: http://noble.gs.washington.edu/proj/genomedata/doc/1.2.2/genomedata.html * gevent: http://www.gevent.org/ * Google Wave API: http://wave-robot-python-client.googlecode.com/svn/trunk/pydocs/index.html * GSL Shell: http://www.nongnu.org/gsl-shell/ * Heapkeeper: http://heapkeeper.org/ * Hands-on Python Tutorial: http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/ * Hedge: http://documen.tician.de/hedge/ * Kaa: http://doc.freevo.org/api/kaa/ * Leo: http://webpages.charter.net/edreamleo/front.html * Lino: http://lino.saffre-rumma.net/ * MeshPy: http://documen.tician.de/meshpy/ * mpmath: http://mpmath.googlecode.com/svn/trunk/doc/build/index.html * OpenEXR: http://excamera.com/articles/26/doc/index.html * OpenGDA: http://www.opengda.org/gdadoc/html/ * openWNS: http://docs.openwns.org/ * Paste: http://pythonpaste.org/script/ * Paver: http://paver.github.com/paver/ * Pioneers and Prominent Men of Utah: http://pioneers.rstebbing.com/ * Pyccuracy: https://github.com/heynemann/pyccuracy/wiki/ * PyCuda: http://documen.tician.de/pycuda/ * Pyevolve: http://pyevolve.sourceforge.net/ * Pylo: http://documen.tician.de/pylo/ * PyMQI: http://packages.python.org/pymqi/ * PyPubSub: http://pubsub.sourceforge.net/ * pyrticle: http://documen.tician.de/pyrticle/ * Python: http://docs.python.org/ * python-apt: http://apt.alioth.debian.org/python-apt-doc/ * PyUblas: http://documen.tician.de/pyublas/ * Quex: http://quex.sourceforge.net/doc/html/main.html * Scapy: http://www.secdev.org/projects/scapy/doc/ * Segway: http://noble.gs.washington.edu/proj/segway/doc/1.1.0/segway.html * SimPy: http://simpy.sourceforge.net/SimPyDocs/index.html * SymPy: http://docs.sympy.org/ * WTForms: http://wtforms.simplecodes.com/docs/ * z3c: http://docs.carduner.net/z3c-tutorial/ Documentation using a customized version of the default theme ------------------------------------------------------------- * Advanced Generic Widgets: http://xoomer.virgilio.it/infinity77/AGW_Docs/index.html * Bazaar: http://doc.bazaar.canonical.com/en/ * CakePHP: http://book.cakephp.org/2.0/en/index.html * Chaco: http://code.enthought.com/projects/chaco/docs/html/ * Chef: http://docs.opscode.com/ * Djagios: http://djagios.org/ * GetFEM++: http://home.gna.org/getfem/ * Google or-tools: https://or-tools.googlecode.com/svn/trunk/documentation/user_manual/index.html * GPAW: https://wiki.fysik.dtu.dk/gpaw/ * Grok: http://grok.zope.org/doc/current/ * IFM: http://fluffybunny.memebot.com/ifm-docs/index.html * LEPL: http://www.acooke.org/lepl/ * Mayavi: http://code.enthought.com/projects/mayavi/docs/development/html/mayavi * NOC: http://redmine.nocproject.org/projects/noc * NumPy: http://docs.scipy.org/doc/numpy/reference/ * OpenCV: http://docs.opencv.org/ * Peach^3: http://peach3.nl/doc/latest/userdoc/ * PyLit: http://pylit.berlios.de/ * Sage: http://sagemath.org/doc/ * SciPy: http://docs.scipy.org/doc/scipy/reference/ * simuPOP: http://simupop.sourceforge.net/manual_release/build/userGuide.html * Sprox: http://sprox.org/ * TurboGears: http://turbogears.org/2.0/docs/ * Varnish: https://www.varnish-cache.org/docs/ * Zentyal: http://doc.zentyal.org/ * Zope: http://docs.zope.org/zope2/index.html * zc.async: http://packages.python.org/zc.async/1.5.0/ Documentation using the sphinxdoc theme --------------------------------------- * Fityk: http://fityk.nieto.pl/ * MapServer: http://mapserver.org/ * Matplotlib: http://matplotlib.sourceforge.net/ * Music21: http://mit.edu/music21/doc/html/contents.html * MyHDL: http://www.myhdl.org/doc/0.6/ * NetworkX: http://networkx.lanl.gov/ * Pweave: http://mpastell.com/pweave/ * Pyre: http://docs.danse.us/pyre/sphinx/ * Pysparse: http://pysparse.sourceforge.net/ * PyTango: http://www.tango-controls.org/static/PyTango/latest/doc/html/index.html * Python Wild Magic: http://python-wild-magic.googlecode.com/svn/doc/html/index.html * Reteisi: http://www.reteisi.org/contents.html * Satchmo: http://www.satchmoproject.com/docs/dev/ * Sphinx: http://sphinx-doc.org/ * Sqlkit: http://sqlkit.argolinux.org/ * Tau: http://www.tango-controls.org/static/tau/latest/doc/html/index.html * Total Open Station: http://tops.berlios.de/ * Turbulenz: http://docs.turbulenz.com/ * WebFaction: http://docs.webfaction.com/ Documentation using another builtin theme ----------------------------------------- * C/C++ Development with Eclipse: http://eclipsebook.in/ (agogo) * Distribute: http://packages.python.org/distribute/ (nature) * Jinja: http://jinja.pocoo.org/ (scrolls) * jsFiddle: http://doc.jsfiddle.net/ (nature) * MPipe: http://vmlaker.github.io/mpipe/ (sphinx13) * pip: http://pip.openplans.org/ (nature) * Programmieren mit PyGTK und Glade (German): http://www.florian-diesch.de/doc/python-und-glade/online/ (agogo) * Spring Python: http://springpython.webfactional.com/current/sphinx/index.html (nature) * sqlparse: http://python-sqlparse.googlecode.com/svn/docs/api/index.html (agogo) * Sylli: http://sylli.sourceforge.net/ (nature) * libLAS: http://liblas.org/ (nature) * Valence: http://docs.valence.desire2learn.com/ (haiku) Documentation using a custom theme/integrated in a site ------------------------------------------------------- * Blender: http://www.blender.org/documentation/250PythonDoc/ * Blinker: http://discorporate.us/projects/Blinker/docs/ * Classy: http://classy.pocoo.org/ * DEAP: http://deap.gel.ulaval.ca/doc/0.8/index.html * Django: http://docs.djangoproject.com/ * Enterprise Toolkit for Acrobat products: http://www.adobe.com/devnet-docs/acrobatetk/ * e-cidadania: http://e-cidadania.readthedocs.org/en/latest/ * Flask: http://flask.pocoo.org/docs/ * Flask-OpenID: http://packages.python.org/Flask-OpenID/ * Gameduino: http://excamera.com/sphinx/gameduino/ * GeoServer: http://docs.geoserver.org/ * Glashammer: http://glashammer.org/ * Istihza (Turkish Python documentation project): http://www.istihza.com/py2/icindekiler_python.html * MathJax: http://docs.mathjax.org/en/latest/ * MirrorBrain: http://mirrorbrain.org/docs/ * nose: http://somethingaboutorange.com/mrl/projects/nose/ * NoTex: https://notex.ch/overview/ * ObjectListView: http://objectlistview.sourceforge.net/python * Open ERP: http://doc.openerp.com/ * OpenCV: http://docs.opencv.org/ * OpenLayers: http://docs.openlayers.org/ * PyEphem: http://rhodesmill.org/pyephem/ * German Plone user manual: http://www.hasecke.com/plone-benutzerhandbuch/ * PSI4: http://sirius.chem.vt.edu/psi4manual/latest/index.html * Pylons: http://pylonshq.com/docs/en/0.9.7/ * PyMOTW: http://www.doughellmann.com/PyMOTW/ * pypol: http://pypol.altervista.org/ (celery) * QGIS: http://qgis.org/ * qooxdoo: http://manual.qooxdoo.org/current * Roundup: http://www.roundup-tracker.org/ * Selenium: http://seleniumhq.org/docs/ * Self: http://selflanguage.org/ * Tablib: http://tablib.org/ * SQLAlchemy: http://www.sqlalchemy.org/docs/ * tinyTiM: http://tinytim.sourceforge.net/docs/2.0/ * tipfy: http://www.tipfy.org/docs/ * Ubuntu packaging guide: http://packaging.ubuntu.com/html/ * Werkzeug: http://werkzeug.pocoo.org/docs/ * WFront: http://discorporate.us/projects/WFront/ Homepages and other non-documentation sites ------------------------------------------- * Applied Mathematics at the Stellenbosch University: http://dip.sun.ac.za/ * A personal page: http://www.dehlia.in/ * Benoit Boissinot: http://bboissin.appspot.com/ * lunarsite: http://lunaryorn.de/ * Red Hot Chili Python: http://redhotchilipython.com/ * The Wine Cellar Book: http://www.thewinecellarbook.com/doc/en/ * VOR: http://www.vor-cycling.be/ Books produced using Sphinx --------------------------- * "The ``repoze.bfg`` Web Application Framework": http://www.amazon.com/repoze-bfg-Web-Application-Framework-Version/dp/0615345379 * A Theoretical Physics Reference book: http://theoretical-physics.net/ * "Simple and Steady Way of Learning for Software Engineering" (in Japanese): http://www.amazon.co.jp/dp/477414259X/ * "Expert Python Programming": http://www.packtpub.com/expert-python-programming/book * "Expert Python Programming" (Japanese translation): http://www.amazon.co.jp/dp/4048686291/ * "Pomodoro Technique Illustrated" (Japanese translation): http://www.amazon.co.jp/dp/4048689525/ * "Python Professional Programming" (in Japanese): http://www.amazon.co.jp/dp/4798032948/ * "Die Wahrheit des Sehens. Der DEKALOG von Krzysztof Kieślowski": http://www.hasecke.eu/Dekalog/ * The "Varnish Book": https://www.varnish-software.com/static/book/ * "Learning Sphinx" (in Japanese): http://www.oreilly.co.jp/books/9784873116488/ Thesis using Sphinx ------------------- * "A Web-Based System for Comparative Analysis of OpenStreetMap Data by the Use of CouchDB": http://gisforge.no-ip.org/files/MasterThesis_MarkusMayr_0542042.pdf ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/README.rst�������������������������������������������������������������������0000644�0000000�0000000�00000001224�12251557232�015073� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������================= README for Sphinx ================= Installing ========== Use ``setup.py``:: python setup.py build sudo python setup.py install Reading the docs ================ After installing:: cd doc sphinx-build . _build/html Then, direct your browser to ``_build/html/index.html``. Or read them online at <http://sphinx-doc.org/>. Testing ======= To run the tests with the interpreter available as ``python``, use:: make test If you want to use a different interpreter, e.g. ``python3``, use:: PYTHON=python3 make test Contributing ============ Send wishes, comments, patches, etc. to sphinx-dev@googlegroups.com. ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/LICENSE����������������������������������������������������������������������0000644�0000000�0000000�00000026626�12251557232�014426� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������License for Sphinx ================== Copyright (c) 2007-2013 by the Sphinx team (see AUTHORS file). All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Licenses for incorporated software ================================== The pgen2 package, included in this distribution under the name sphinx.pycode.pgen2, is available in the Python 2.6 distribution under the PSF license agreement for Python: ---------------------------------------------------------------------- Copyright © 2001-2008 Python Software Foundation; All Rights Reserved. PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 -------------------------------------------- 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 2.6 software in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 2.6 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright © 2001-2008 Python Software Foundation; All Rights Reserved" are retained in Python 2.6 alone or in any derivative version prepared by Licensee. 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 2.6 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 2.6. 4. PSF is making Python 2.6 available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.6 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 2.6 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.6, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By copying, installing or otherwise using Python 2.6, Licensee agrees to be bound by the terms and conditions of this License Agreement. ---------------------------------------------------------------------- The included smartypants module, included as sphinx.util.smartypants, is available under the following license: ---------------------------------------------------------------------- SmartyPants_ license:: Copyright (c) 2003 John Gruber (http://daringfireball.net/) All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name "SmartyPants" nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. smartypants.py license:: smartypants.py is a derivative work of SmartyPants. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. ---------------------------------------------------------------------- The ElementTree package, included in this distribution in test/etree13, is available under the following license: ---------------------------------------------------------------------- The ElementTree toolkit is Copyright (c) 1999-2007 by Fredrik Lundh By obtaining, using, and/or copying this software and/or its associated documentation, you agree that you have read, understood, and will comply with the following terms and conditions: Permission to use, copy, modify, and distribute this software and its associated documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies, and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Secret Labs AB or the author not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- ABILITY AND FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ---------------------------------------------------------------------- The included JQuery JavaScript library is available under the MIT license: ---------------------------------------------------------------------- Copyright (c) 2008 John Resig, http://jquery.com/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ---------------------------------------------------------------------- The included Underscore JavaScript library is available under the MIT license: ---------------------------------------------------------------------- Copyright (c) 2009 Jeremy Ashkenas, DocumentCloud Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ����������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/ez_setup.py������������������������������������������������������������������0000644�0000000�0000000�00000027075�12304304557�015627� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!python """Bootstrap setuptools installation If you want to use setuptools in your package's setup.py, just include this file in the same directory with it, and add this to the top of your setup.py:: from ez_setup import use_setuptools use_setuptools() If you want to require a specific version of setuptools, set a download mirror, or use an alternate download directory, you can do so by supplying the appropriate options to ``use_setuptools()``. This file can also be run as a script to install or upgrade setuptools. """ import os import shutil import sys import tempfile import tarfile import optparse import subprocess import platform from distutils import log try: from site import USER_SITE except ImportError: USER_SITE = None DEFAULT_VERSION = "1.1.6" DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/" def _python_cmd(*args): args = (sys.executable,) + args return subprocess.call(args) == 0 def _check_call_py24(cmd, *args, **kwargs): res = subprocess.call(cmd, *args, **kwargs) class CalledProcessError(Exception): pass if not res == 0: msg = "Command '%s' return non-zero exit status %d" % (cmd, res) raise CalledProcessError(msg) vars(subprocess).setdefault('check_call', _check_call_py24) def _install(tarball, install_args=()): # extracting the tarball tmpdir = tempfile.mkdtemp() log.warn('Extracting in %s', tmpdir) old_wd = os.getcwd() try: os.chdir(tmpdir) tar = tarfile.open(tarball) _extractall(tar) tar.close() # going in the directory subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) log.warn('Now working in %s', subdir) # installing log.warn('Installing Setuptools') if not _python_cmd('setup.py', 'install', *install_args): log.warn('Something went wrong during the installation.') log.warn('See the error message above.') # exitcode will be 2 return 2 finally: os.chdir(old_wd) shutil.rmtree(tmpdir) def _build_egg(egg, tarball, to_dir): # extracting the tarball tmpdir = tempfile.mkdtemp() log.warn('Extracting in %s', tmpdir) old_wd = os.getcwd() try: os.chdir(tmpdir) tar = tarfile.open(tarball) _extractall(tar) tar.close() # going in the directory subdir = os.path.join(tmpdir, os.listdir(tmpdir)[0]) os.chdir(subdir) log.warn('Now working in %s', subdir) # building an egg log.warn('Building a Setuptools egg in %s', to_dir) _python_cmd('setup.py', '-q', 'bdist_egg', '--dist-dir', to_dir) finally: os.chdir(old_wd) shutil.rmtree(tmpdir) # returning the result log.warn(egg) if not os.path.exists(egg): raise IOError('Could not build the egg.') def _do_download(version, download_base, to_dir, download_delay): egg = os.path.join(to_dir, 'setuptools-%s-py%d.%d.egg' % (version, sys.version_info[0], sys.version_info[1])) if not os.path.exists(egg): tarball = download_setuptools(version, download_base, to_dir, download_delay) _build_egg(egg, tarball, to_dir) sys.path.insert(0, egg) # Remove previously-imported pkg_resources if present (see # https://bitbucket.org/pypa/setuptools/pull-request/7/ for details). if 'pkg_resources' in sys.modules: del sys.modules['pkg_resources'] import setuptools setuptools.bootstrap_install_from = egg def use_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, download_delay=15): # making sure we use the absolute path to_dir = os.path.abspath(to_dir) was_imported = 'pkg_resources' in sys.modules or \ 'setuptools' in sys.modules try: import pkg_resources except ImportError: return _do_download(version, download_base, to_dir, download_delay) try: pkg_resources.require("setuptools>=" + version) return except pkg_resources.VersionConflict: e = sys.exc_info()[1] if was_imported: sys.stderr.write( "The required version of setuptools (>=%s) is not available,\n" "and can't be installed while this script is running. Please\n" "install a more recent version first, using\n" "'easy_install -U setuptools'." "\n\n(Currently using %r)\n" % (version, e.args[0])) sys.exit(2) else: del pkg_resources, sys.modules['pkg_resources'] # reload ok return _do_download(version, download_base, to_dir, download_delay) except pkg_resources.DistributionNotFound: return _do_download(version, download_base, to_dir, download_delay) def download_file_powershell(url, target): """ Download the file at url to target using Powershell (which will validate trust). Raise an exception if the command cannot complete. """ target = os.path.abspath(target) cmd = [ 'powershell', '-Command', "(new-object System.Net.WebClient).DownloadFile(%(url)r, %(target)r)" % vars(), ] subprocess.check_call(cmd) def has_powershell(): if platform.system() != 'Windows': return False cmd = ['powershell', '-Command', 'echo test'] devnull = open(os.path.devnull, 'wb') try: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except: return False finally: devnull.close() return True download_file_powershell.viable = has_powershell def download_file_curl(url, target): cmd = ['curl', url, '--silent', '--output', target] subprocess.check_call(cmd) def has_curl(): cmd = ['curl', '--version'] devnull = open(os.path.devnull, 'wb') try: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except: return False finally: devnull.close() return True download_file_curl.viable = has_curl def download_file_wget(url, target): cmd = ['wget', url, '--quiet', '--output-document', target] subprocess.check_call(cmd) def has_wget(): cmd = ['wget', '--version'] devnull = open(os.path.devnull, 'wb') try: try: subprocess.check_call(cmd, stdout=devnull, stderr=devnull) except: return False finally: devnull.close() return True download_file_wget.viable = has_wget def download_file_insecure(url, target): """ Use Python to download the file, even though it cannot authenticate the connection. """ try: from urllib.request import urlopen except ImportError: from urllib2 import urlopen src = dst = None try: src = urlopen(url) # Read/write all in one block, so we don't create a corrupt file # if the download is interrupted. data = src.read() dst = open(target, "wb") dst.write(data) finally: if src: src.close() if dst: dst.close() download_file_insecure.viable = lambda: True def get_best_downloader(): downloaders = [ download_file_powershell, download_file_curl, download_file_wget, download_file_insecure, ] for dl in downloaders: if dl.viable(): return dl def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir, delay=15, downloader_factory=get_best_downloader): """Download setuptools from a specified location and return its filename `version` should be a valid setuptools version number that is available as an egg for download under the `download_base` URL (which should end with a '/'). `to_dir` is the directory where the egg will be downloaded. `delay` is the number of seconds to pause before an actual download attempt. ``downloader_factory`` should be a function taking no arguments and returning a function for downloading a URL to a target. """ # making sure we use the absolute path to_dir = os.path.abspath(to_dir) tgz_name = "setuptools-%s.tar.gz" % version url = download_base + tgz_name saveto = os.path.join(to_dir, tgz_name) if not os.path.exists(saveto): # Avoid repeated downloads log.warn("Downloading %s", url) downloader = downloader_factory() downloader(url, saveto) return os.path.realpath(saveto) def _extractall(self, path=".", members=None): """Extract all members from the archive to the current working directory and set owner, modification time and permissions on directories afterwards. `path' specifies a different directory to extract to. `members' is optional and must be a subset of the list returned by getmembers(). """ import copy import operator from tarfile import ExtractError directories = [] if members is None: members = self for tarinfo in members: if tarinfo.isdir(): # Extract directories with a safe mode. directories.append(tarinfo) tarinfo = copy.copy(tarinfo) tarinfo.mode = 448 # decimal for oct 0700 self.extract(tarinfo, path) # Reverse sort directories. if sys.version_info < (2, 4): def sorter(dir1, dir2): return cmp(dir1.name, dir2.name) directories.sort(sorter) directories.reverse() else: directories.sort(key=operator.attrgetter('name'), reverse=True) # Set correct owner, mtime and filemode on directories. for tarinfo in directories: dirpath = os.path.join(path, tarinfo.name) try: self.chown(tarinfo, dirpath) self.utime(tarinfo, dirpath) self.chmod(tarinfo, dirpath) except ExtractError: e = sys.exc_info()[1] if self.errorlevel > 1: raise else: self._dbg(1, "tarfile: %s" % e) def _build_install_args(options): """ Build the arguments to 'python setup.py install' on the setuptools package """ install_args = [] if options.user_install: if sys.version_info < (2, 6): log.warn("--user requires Python 2.6 or later") raise SystemExit(1) install_args.append('--user') return install_args def _parse_args(): """ Parse the command line for options """ parser = optparse.OptionParser() parser.add_option( '--user', dest='user_install', action='store_true', default=False, help='install in user site package (requires Python 2.6 or later)') parser.add_option( '--download-base', dest='download_base', metavar="URL", default=DEFAULT_URL, help='alternative URL from where to download the setuptools package') parser.add_option( '--insecure', dest='downloader_factory', action='store_const', const=lambda: download_file_insecure, default=get_best_downloader, help='Use internal, non-validating downloader' ) options, args = parser.parse_args() # positional arguments are ignored return options def main(version=DEFAULT_VERSION): """Install or upgrade setuptools and EasyInstall""" options = _parse_args() tarball = download_setuptools(download_base=options.download_base, downloader_factory=options.downloader_factory) return _install(tarball, _build_install_args(options)) if __name__ == '__main__': sys.exit(main()) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/sphinx-autogen.py������������������������������������������������������������0000755�0000000�0000000�00000000572�12304304673�016735� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������#!/usr/bin/env python # -*- coding: utf-8 -*- """ Sphinx - Python documentation toolchain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ import sys if __name__ == '__main__': from sphinx.ext.autosummary.generate import main sys.exit(main(sys.argv)) ��������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/�������������������������������������������������������������0000755�0000000�0000000�00000000000�12304560277�016352� 5����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/PKG-INFO�����������������������������������������������������0000644�0000000�0000000�00000004610�12304560276�017447� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Metadata-Version: 1.1 Name: Sphinx Version: 1.2.2 Summary: Python documentation generator Home-page: http://sphinx-doc.org/ Author: Georg Brandl Author-email: georg@python.org License: BSD Download-URL: http://pypi.python.org/pypi/Sphinx Description: Sphinx is a tool that makes it easy to create intelligent and beautiful documentation for Python projects (or other documents consisting of multiple reStructuredText sources), written by Georg Brandl. It was originally created for the new Python documentation, and has excellent facilities for Python project documentation, but C/C++ is supported as well, and more languages are planned. Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils. Among its features are the following: * Output formats: HTML (including derivative formats such as HTML Help, Epub and Qt Help), plain text, manual pages and LaTeX or direct PDF output using rst2pdf * Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information * Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children * Automatic indices: general index as well as a module index * Code handling: automatic highlighting using the Pygments highlighter * Flexible HTML output using the Jinja 2 templating engine * Various extensions are available, e.g. for automatic testing of snippets and inclusion of appropriately formatted docstrings * Setuptools integration Platform: any Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console Classifier: Environment :: Web Environment Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Education Classifier: License :: OSI Approved :: BSD License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 3 Classifier: Topic :: Documentation Classifier: Topic :: Text Processing Classifier: Topic :: Utilities ������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/SOURCES.txt��������������������������������������������������0000644�0000000�0000000�00000044551�12304560276�020246� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������AUTHORS CHANGES EXAMPLES LICENSE MANIFEST.in Makefile README.rst TODO babel.cfg ez_setup.py setup.cfg setup.py sphinx-apidoc.py sphinx-autogen.py sphinx-build.py sphinx-quickstart.py Sphinx.egg-info/PKG-INFO Sphinx.egg-info/SOURCES.txt Sphinx.egg-info/dependency_links.txt Sphinx.egg-info/entry_points.txt Sphinx.egg-info/not-zip-safe Sphinx.egg-info/requires.txt Sphinx.egg-info/top_level.txt custom_fixers/__init__.py custom_fixers/fix_alt_unicode.py doc/Makefile doc/builders.rst doc/changes.rst doc/conf.py doc/config.rst doc/contents.rst doc/develop.rst doc/devguide.rst doc/domains.rst doc/examples.rst doc/extensions.rst doc/faq.rst doc/glossary.rst doc/install.rst doc/installpython.jpg doc/intl.rst doc/intro.rst doc/invocation.rst doc/more.png doc/pythonorg.png doc/rest.rst doc/templating.rst doc/theming.rst doc/translation.png doc/tutorial.rst doc/websupport.rst doc/_static/bookcover.png doc/_static/pocoo.png doc/_static/sphinx.png doc/_templates/index.html doc/_templates/indexsidebar.html doc/_themes/sphinx13/layout.html doc/_themes/sphinx13/theme.conf doc/_themes/sphinx13/static/bodybg.png doc/_themes/sphinx13/static/footerbg.png doc/_themes/sphinx13/static/headerbg.png doc/_themes/sphinx13/static/listitem.png doc/_themes/sphinx13/static/relbg.png doc/_themes/sphinx13/static/sphinx13.css doc/_themes/sphinx13/static/sphinxheader.png doc/ext/autodoc.rst doc/ext/autosummary.rst doc/ext/coverage.rst doc/ext/doctest.rst doc/ext/extlinks.rst doc/ext/graphviz.rst doc/ext/ifconfig.rst doc/ext/inheritance.rst doc/ext/intersphinx.rst doc/ext/linkcode.rst doc/ext/math.rst doc/ext/oldcmarkup.rst doc/ext/todo.rst doc/ext/viewcode.rst doc/extdev/appapi.rst doc/extdev/builderapi.rst doc/extdev/domainapi.rst doc/extdev/envapi.rst doc/extdev/index.rst doc/extdev/markupapi.rst doc/extdev/nodes.rst doc/extdev/tutorial.rst doc/man/sphinx-apidoc.rst doc/man/sphinx-build.rst doc/man/sphinx-quickstart.rst doc/markup/code.rst doc/markup/index.rst doc/markup/inline.rst doc/markup/misc.rst doc/markup/para.rst doc/markup/toctree.rst doc/themes/agogo.png doc/themes/default.png doc/themes/haiku.png doc/themes/nature.png doc/themes/pyramid.png doc/themes/scrolls.png doc/themes/sphinxdoc.png doc/themes/traditional.png doc/themes/fullsize/agogo.png doc/themes/fullsize/default.png doc/themes/fullsize/haiku.png doc/themes/fullsize/nature.png doc/themes/fullsize/pyramid.png doc/themes/fullsize/scrolls.png doc/themes/fullsize/sphinxdoc.png doc/themes/fullsize/traditional.png doc/web/api.rst doc/web/quickstart.rst doc/web/searchadapters.rst doc/web/storagebackends.rst sphinx/__init__.py sphinx/addnodes.py sphinx/apidoc.py sphinx/application.py sphinx/cmdline.py sphinx/config.py sphinx/environment.py sphinx/errors.py sphinx/highlighting.py sphinx/jinja2glue.py sphinx/make_mode.py sphinx/pygments_styles.py sphinx/quickstart.py sphinx/roles.py sphinx/setup_command.py sphinx/theming.py sphinx/transforms.py sphinx/versioning.py sphinx/builders/__init__.py sphinx/builders/changes.py sphinx/builders/devhelp.py sphinx/builders/epub.py sphinx/builders/gettext.py sphinx/builders/html.py sphinx/builders/htmlhelp.py sphinx/builders/latex.py sphinx/builders/linkcheck.py sphinx/builders/manpage.py sphinx/builders/qthelp.py sphinx/builders/texinfo.py sphinx/builders/text.py sphinx/builders/websupport.py sphinx/builders/xml.py sphinx/directives/__init__.py sphinx/directives/code.py sphinx/directives/other.py sphinx/domains/__init__.py sphinx/domains/c.py sphinx/domains/cpp.py sphinx/domains/javascript.py sphinx/domains/python.py sphinx/domains/rst.py sphinx/domains/std.py sphinx/ext/__init__.py sphinx/ext/autodoc.py sphinx/ext/coverage.py sphinx/ext/doctest.py sphinx/ext/extlinks.py sphinx/ext/graphviz.py sphinx/ext/ifconfig.py sphinx/ext/inheritance_diagram.py sphinx/ext/intersphinx.py sphinx/ext/jsmath.py sphinx/ext/linkcode.py sphinx/ext/mathbase.py sphinx/ext/mathjax.py sphinx/ext/oldcmarkup.py sphinx/ext/pngmath.py sphinx/ext/todo.py sphinx/ext/viewcode.py sphinx/ext/autosummary/__init__.py sphinx/ext/autosummary/generate.py sphinx/ext/autosummary/templates/autosummary/base.rst sphinx/ext/autosummary/templates/autosummary/class.rst sphinx/ext/autosummary/templates/autosummary/module.rst sphinx/locale/__init__.py sphinx/locale/sphinx.pot sphinx/locale/.tx/config sphinx/locale/bn/LC_MESSAGES/sphinx.js sphinx/locale/bn/LC_MESSAGES/sphinx.mo sphinx/locale/bn/LC_MESSAGES/sphinx.po sphinx/locale/ca/LC_MESSAGES/sphinx.js sphinx/locale/ca/LC_MESSAGES/sphinx.mo sphinx/locale/ca/LC_MESSAGES/sphinx.po sphinx/locale/cs/LC_MESSAGES/sphinx.js sphinx/locale/cs/LC_MESSAGES/sphinx.mo sphinx/locale/cs/LC_MESSAGES/sphinx.po sphinx/locale/da/LC_MESSAGES/sphinx.js sphinx/locale/da/LC_MESSAGES/sphinx.mo sphinx/locale/da/LC_MESSAGES/sphinx.po sphinx/locale/de/LC_MESSAGES/sphinx.js sphinx/locale/de/LC_MESSAGES/sphinx.mo sphinx/locale/de/LC_MESSAGES/sphinx.po sphinx/locale/es/LC_MESSAGES/sphinx.js sphinx/locale/es/LC_MESSAGES/sphinx.mo sphinx/locale/es/LC_MESSAGES/sphinx.po sphinx/locale/et/LC_MESSAGES/sphinx.js sphinx/locale/et/LC_MESSAGES/sphinx.mo sphinx/locale/et/LC_MESSAGES/sphinx.po sphinx/locale/eu/LC_MESSAGES/sphinx.js sphinx/locale/eu/LC_MESSAGES/sphinx.mo sphinx/locale/eu/LC_MESSAGES/sphinx.po sphinx/locale/fa/LC_MESSAGES/sphinx.js sphinx/locale/fa/LC_MESSAGES/sphinx.mo sphinx/locale/fa/LC_MESSAGES/sphinx.po sphinx/locale/fi/LC_MESSAGES/sphinx.js sphinx/locale/fi/LC_MESSAGES/sphinx.mo sphinx/locale/fi/LC_MESSAGES/sphinx.po sphinx/locale/fr/LC_MESSAGES/sphinx.js sphinx/locale/fr/LC_MESSAGES/sphinx.mo sphinx/locale/fr/LC_MESSAGES/sphinx.po sphinx/locale/he/LC_MESSAGES/sphinx.js sphinx/locale/he/LC_MESSAGES/sphinx.mo sphinx/locale/he/LC_MESSAGES/sphinx.po sphinx/locale/hr/LC_MESSAGES/sphinx.js sphinx/locale/hr/LC_MESSAGES/sphinx.mo sphinx/locale/hr/LC_MESSAGES/sphinx.po sphinx/locale/hu/LC_MESSAGES/sphinx.js sphinx/locale/hu/LC_MESSAGES/sphinx.mo sphinx/locale/hu/LC_MESSAGES/sphinx.po sphinx/locale/id/LC_MESSAGES/sphinx.js sphinx/locale/id/LC_MESSAGES/sphinx.mo sphinx/locale/id/LC_MESSAGES/sphinx.po sphinx/locale/it/LC_MESSAGES/sphinx.js sphinx/locale/it/LC_MESSAGES/sphinx.mo sphinx/locale/it/LC_MESSAGES/sphinx.po sphinx/locale/ja/LC_MESSAGES/sphinx.js sphinx/locale/ja/LC_MESSAGES/sphinx.mo sphinx/locale/ja/LC_MESSAGES/sphinx.po sphinx/locale/ko/LC_MESSAGES/sphinx.js sphinx/locale/ko/LC_MESSAGES/sphinx.mo sphinx/locale/ko/LC_MESSAGES/sphinx.po sphinx/locale/lt/LC_MESSAGES/sphinx.js sphinx/locale/lt/LC_MESSAGES/sphinx.mo sphinx/locale/lt/LC_MESSAGES/sphinx.po sphinx/locale/lv/LC_MESSAGES/sphinx.js sphinx/locale/lv/LC_MESSAGES/sphinx.mo sphinx/locale/lv/LC_MESSAGES/sphinx.po sphinx/locale/mk/LC_MESSAGES/sphinx.js sphinx/locale/mk/LC_MESSAGES/sphinx.mo sphinx/locale/mk/LC_MESSAGES/sphinx.po sphinx/locale/nb_NO/LC_MESSAGES/sphinx.js sphinx/locale/nb_NO/LC_MESSAGES/sphinx.mo sphinx/locale/nb_NO/LC_MESSAGES/sphinx.po sphinx/locale/ne/LC_MESSAGES/sphinx.js sphinx/locale/ne/LC_MESSAGES/sphinx.mo sphinx/locale/ne/LC_MESSAGES/sphinx.po sphinx/locale/nl/LC_MESSAGES/sphinx.js sphinx/locale/nl/LC_MESSAGES/sphinx.mo sphinx/locale/nl/LC_MESSAGES/sphinx.po sphinx/locale/pl/LC_MESSAGES/sphinx.js sphinx/locale/pl/LC_MESSAGES/sphinx.mo sphinx/locale/pl/LC_MESSAGES/sphinx.po sphinx/locale/pt_BR/LC_MESSAGES/sphinx.js sphinx/locale/pt_BR/LC_MESSAGES/sphinx.mo sphinx/locale/pt_BR/LC_MESSAGES/sphinx.po sphinx/locale/ru/LC_MESSAGES/sphinx.js sphinx/locale/ru/LC_MESSAGES/sphinx.mo sphinx/locale/ru/LC_MESSAGES/sphinx.po sphinx/locale/si/LC_MESSAGES/sphinx.js sphinx/locale/si/LC_MESSAGES/sphinx.mo sphinx/locale/si/LC_MESSAGES/sphinx.po sphinx/locale/sk/LC_MESSAGES/sphinx.js sphinx/locale/sk/LC_MESSAGES/sphinx.mo sphinx/locale/sk/LC_MESSAGES/sphinx.po sphinx/locale/sl/LC_MESSAGES/sphinx.js sphinx/locale/sl/LC_MESSAGES/sphinx.mo sphinx/locale/sl/LC_MESSAGES/sphinx.po sphinx/locale/sv/LC_MESSAGES/sphinx.js sphinx/locale/sv/LC_MESSAGES/sphinx.mo sphinx/locale/sv/LC_MESSAGES/sphinx.po sphinx/locale/tr/LC_MESSAGES/sphinx.js sphinx/locale/tr/LC_MESSAGES/sphinx.mo sphinx/locale/tr/LC_MESSAGES/sphinx.po sphinx/locale/uk_UA/LC_MESSAGES/sphinx.js sphinx/locale/uk_UA/LC_MESSAGES/sphinx.mo sphinx/locale/uk_UA/LC_MESSAGES/sphinx.po sphinx/locale/zh_CN/LC_MESSAGES/sphinx.js sphinx/locale/zh_CN/LC_MESSAGES/sphinx.mo sphinx/locale/zh_CN/LC_MESSAGES/sphinx.po sphinx/locale/zh_TW/LC_MESSAGES/sphinx.js sphinx/locale/zh_TW/LC_MESSAGES/sphinx.mo sphinx/locale/zh_TW/LC_MESSAGES/sphinx.po sphinx/pycode/Grammar-py2.txt sphinx/pycode/Grammar-py3.txt sphinx/pycode/__init__.py sphinx/pycode/nodes.py sphinx/pycode/pgen2/__init__.py sphinx/pycode/pgen2/driver.py sphinx/pycode/pgen2/grammar.py sphinx/pycode/pgen2/literals.py sphinx/pycode/pgen2/parse.py sphinx/pycode/pgen2/pgen.py sphinx/pycode/pgen2/token.py sphinx/pycode/pgen2/tokenize.py sphinx/search/__init__.py sphinx/search/en.py sphinx/search/ja.py sphinx/texinputs/Makefile sphinx/texinputs/fncychap.sty sphinx/texinputs/python.ist sphinx/texinputs/sphinx.sty sphinx/texinputs/sphinxhowto.cls sphinx/texinputs/sphinxmanual.cls sphinx/texinputs/tabulary.sty sphinx/themes/agogo/layout.html sphinx/themes/agogo/theme.conf sphinx/themes/agogo/static/agogo.css_t sphinx/themes/agogo/static/bgfooter.png sphinx/themes/agogo/static/bgtop.png sphinx/themes/basic/defindex.html sphinx/themes/basic/domainindex.html sphinx/themes/basic/genindex-single.html sphinx/themes/basic/genindex-split.html sphinx/themes/basic/genindex.html sphinx/themes/basic/globaltoc.html sphinx/themes/basic/layout.html sphinx/themes/basic/localtoc.html sphinx/themes/basic/opensearch.xml sphinx/themes/basic/page.html sphinx/themes/basic/relations.html sphinx/themes/basic/search.html sphinx/themes/basic/searchbox.html sphinx/themes/basic/searchresults.html sphinx/themes/basic/sourcelink.html sphinx/themes/basic/theme.conf sphinx/themes/basic/changes/frameset.html sphinx/themes/basic/changes/rstsource.html sphinx/themes/basic/changes/versionchanges.html sphinx/themes/basic/static/ajax-loader.gif sphinx/themes/basic/static/basic.css_t sphinx/themes/basic/static/comment-bright.png sphinx/themes/basic/static/comment-close.png sphinx/themes/basic/static/comment.png sphinx/themes/basic/static/doctools.js sphinx/themes/basic/static/down-pressed.png sphinx/themes/basic/static/down.png sphinx/themes/basic/static/file.png sphinx/themes/basic/static/jquery.js sphinx/themes/basic/static/minus.png sphinx/themes/basic/static/plus.png sphinx/themes/basic/static/searchtools.js_t sphinx/themes/basic/static/underscore.js sphinx/themes/basic/static/up-pressed.png sphinx/themes/basic/static/up.png sphinx/themes/basic/static/websupport.js sphinx/themes/default/layout.html sphinx/themes/default/theme.conf sphinx/themes/default/static/default.css_t sphinx/themes/default/static/sidebar.js_t sphinx/themes/epub/epub-cover.html sphinx/themes/epub/layout.html sphinx/themes/epub/theme.conf sphinx/themes/epub/static/epub.css sphinx/themes/haiku/layout.html sphinx/themes/haiku/theme.conf sphinx/themes/haiku/static/alert_info_32.png sphinx/themes/haiku/static/alert_warning_32.png sphinx/themes/haiku/static/bg-page.png sphinx/themes/haiku/static/bullet_orange.png sphinx/themes/haiku/static/haiku.css_t sphinx/themes/nature/theme.conf sphinx/themes/nature/static/nature.css_t sphinx/themes/pyramid/layout.html sphinx/themes/pyramid/theme.conf sphinx/themes/pyramid/static/dialog-note.png sphinx/themes/pyramid/static/dialog-seealso.png sphinx/themes/pyramid/static/dialog-todo.png sphinx/themes/pyramid/static/dialog-topic.png sphinx/themes/pyramid/static/dialog-warning.png sphinx/themes/pyramid/static/epub.css sphinx/themes/pyramid/static/footerbg.png sphinx/themes/pyramid/static/headerbg.png sphinx/themes/pyramid/static/ie6.css sphinx/themes/pyramid/static/middlebg.png sphinx/themes/pyramid/static/pyramid.css_t sphinx/themes/pyramid/static/transparent.gif sphinx/themes/scrolls/layout.html sphinx/themes/scrolls/theme.conf sphinx/themes/scrolls/artwork/logo.svg sphinx/themes/scrolls/static/darkmetal.png sphinx/themes/scrolls/static/headerbg.png sphinx/themes/scrolls/static/logo.png sphinx/themes/scrolls/static/metal.png sphinx/themes/scrolls/static/navigation.png sphinx/themes/scrolls/static/print.css sphinx/themes/scrolls/static/scrolls.css_t sphinx/themes/scrolls/static/theme_extras.js sphinx/themes/scrolls/static/watermark.png sphinx/themes/scrolls/static/watermark_blur.png sphinx/themes/sphinxdoc/layout.html sphinx/themes/sphinxdoc/theme.conf sphinx/themes/sphinxdoc/static/contents.png sphinx/themes/sphinxdoc/static/navigation.png sphinx/themes/sphinxdoc/static/sphinxdoc.css_t sphinx/themes/traditional/theme.conf sphinx/themes/traditional/static/traditional.css_t sphinx/util/__init__.py sphinx/util/compat.py sphinx/util/console.py sphinx/util/docfields.py sphinx/util/docstrings.py sphinx/util/inspect.py sphinx/util/jsdump.py sphinx/util/jsonimpl.py sphinx/util/matching.py sphinx/util/nodes.py sphinx/util/osutil.py sphinx/util/png.py sphinx/util/pycompat.py sphinx/util/smartypants.py sphinx/util/stemmer.py sphinx/util/tags.py sphinx/util/texescape.py sphinx/util/websupport.py sphinx/websupport/__init__.py sphinx/websupport/errors.py sphinx/websupport/search/__init__.py sphinx/websupport/search/nullsearch.py sphinx/websupport/search/whooshsearch.py sphinx/websupport/search/xapiansearch.py sphinx/websupport/storage/__init__.py sphinx/websupport/storage/differ.py sphinx/websupport/storage/sqlalchemy_db.py sphinx/websupport/storage/sqlalchemystorage.py sphinx/writers/__init__.py sphinx/writers/html.py sphinx/writers/latex.py sphinx/writers/manpage.py sphinx/writers/texinfo.py sphinx/writers/text.py sphinx/writers/websupport.py sphinx/writers/xml.py tests/coverage.py tests/path.py tests/run.py tests/test_application.py tests/test_autodoc.py tests/test_autosummary.py tests/test_build.py tests/test_build_gettext.py tests/test_build_html.py tests/test_build_latex.py tests/test_build_texinfo.py tests/test_build_text.py tests/test_config.py tests/test_coverage.py tests/test_cpp_domain.py tests/test_doctest.py tests/test_docutilsconf.py tests/test_env.py tests/test_footnote.py tests/test_highlighting.py tests/test_i18n.py tests/test_intersphinx.py tests/test_intl.py tests/test_linkcode.py tests/test_markup.py tests/test_metadata.py tests/test_only_directive.py tests/test_quickstart.py tests/test_rst_domain.py tests/test_search.py tests/test_searchadapters.py tests/test_setup_command.py tests/test_templating.py tests/test_theming.py tests/test_versioning.py tests/test_websupport.py tests/util.py tests/etree13/ElementPath.py tests/etree13/ElementTree.py tests/etree13/HTMLTreeBuilder.py tests/etree13/__init__.py tests/root/Makefile tests/root/autodoc.txt tests/root/autodoc_fodder.py tests/root/autosummary.txt tests/root/bom.po tests/root/bom.txt tests/root/conf.py tests/root/contents.txt tests/root/doctest.txt tests/root/ext.py tests/root/extapi.txt tests/root/extensions.txt tests/root/footnote.txt tests/root/images.txt tests/root/img.gif tests/root/img.pdf tests/root/img.png tests/root/includes.txt tests/root/lists.txt tests/root/literal.inc tests/root/markup.txt tests/root/math.txt tests/root/metadata.txt tests/root/objects.txt tests/root/quotes.inc tests/root/rimg.png tests/root/robots.txt tests/root/subdir.po tests/root/svgimg.pdf tests/root/svgimg.svg tests/root/tabs.inc tests/root/templated.css_t tests/root/test.inc tests/root/wrongenc.inc tests/root/ziptheme.zip tests/root/_static/README tests/root/_static/excluded.css tests/root/_static/subdir/foo.css tests/root/_templates/contentssb.html tests/root/_templates/customsb.html tests/root/_templates/layout.html tests/root/special/api.h tests/root/special/code.py tests/root/subdir/excluded.txt tests/root/subdir/images.txt tests/root/subdir/img.png tests/root/subdir/include.inc tests/root/subdir/includes.txt tests/root/subdir/simg.png tests/root/testtheme/layout.html tests/root/testtheme/theme.conf tests/root/testtheme/static/staticimg.png tests/root/testtheme/static/statictmpl.html_t tests/root/versioning/added.txt tests/root/versioning/deleted.txt tests/root/versioning/deleted_end.txt tests/root/versioning/index.txt tests/root/versioning/insert.txt tests/root/versioning/insert_beginning.txt tests/root/versioning/insert_similar.txt tests/root/versioning/modified.txt tests/root/versioning/original.txt tests/roots/test-autosummary/conf.py tests/roots/test-autosummary/contents.rst tests/roots/test-autosummary/dummy_module.py tests/roots/test-docutilsconf/conf.py tests/roots/test-docutilsconf/contents.txt tests/roots/test-docutilsconf/docutils.conf tests/roots/test-intl/admonitions.po tests/roots/test-intl/admonitions.txt tests/roots/test-intl/bom.po tests/roots/test-intl/bom.txt tests/roots/test-intl/conf.py tests/roots/test-intl/contents.txt tests/roots/test-intl/definition_terms.po tests/roots/test-intl/definition_terms.txt tests/roots/test-intl/docfields.po tests/roots/test-intl/docfields.txt tests/roots/test-intl/external_links.po tests/roots/test-intl/external_links.txt tests/roots/test-intl/figure_caption.po tests/roots/test-intl/figure_caption.txt tests/roots/test-intl/footnote.po tests/roots/test-intl/footnote.txt tests/roots/test-intl/glossary_terms.po tests/roots/test-intl/glossary_terms.txt tests/roots/test-intl/glossary_terms_inconsistency.po tests/roots/test-intl/glossary_terms_inconsistency.txt tests/roots/test-intl/i18n.png tests/roots/test-intl/index_entries.po tests/roots/test-intl/index_entries.txt tests/roots/test-intl/label_target.po tests/roots/test-intl/label_target.txt tests/roots/test-intl/literalblock.po tests/roots/test-intl/literalblock.txt tests/roots/test-intl/refs_inconsistency.po tests/roots/test-intl/refs_inconsistency.txt tests/roots/test-intl/role_xref.po tests/roots/test-intl/role_xref.txt tests/roots/test-intl/rubric.po tests/roots/test-intl/rubric.txt tests/roots/test-intl/seealso.po tests/roots/test-intl/seealso.txt tests/roots/test-intl/sphinx.po tests/roots/test-intl/versionchange.po tests/roots/test-intl/versionchange.txt tests/roots/test-intl/warnings.po tests/roots/test-intl/warnings.txt tests/roots/test-intl/_templates/index.html tests/roots/test-intl/subdir/contents.txt tests/roots/test-only-directive/conf.py tests/roots/test-only-directive/contents.rst tests/roots/test-only-directive/only.rst tests/roots/test-setup/setup.cfg tests/roots/test-setup/setup.py tests/roots/test-setup/doc/conf.py tests/roots/test-setup/doc/contents.txt tests/roots/test-templating/autosummary_templating.txt tests/roots/test-templating/conf.py tests/roots/test-templating/contents.txt tests/roots/test-templating/_templates/layout.html tests/roots/test-templating/_templates/autosummary/class.rst utils/.release-checklist.swp utils/check_sources.py utils/convert.py utils/pylintrc utils/reindent.py utils/release-checklist�������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/entry_points.txt���������������������������������������������0000644�0000000�0000000�00000000365�12304560276�021653� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[console_scripts] sphinx-apidoc = sphinx.apidoc:main sphinx-build = sphinx:main sphinx-quickstart = sphinx.quickstart:main sphinx-autogen = sphinx.ext.autosummary.generate:main [distutils.commands] build_sphinx = sphinx.setup_command:BuildDoc ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/requires.txt�������������������������������������������������0000644�0000000�0000000�00000000047�12304560276�020752� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Pygments>=1.2 docutils>=0.7 Jinja2>=2.3�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/not-zip-safe�������������������������������������������������0000644�0000000�0000000�00000000001�12216056612�020573� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/top_level.txt������������������������������������������������0000644�0000000�0000000�00000000007�12304560276�021100� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/Sphinx.egg-info/dependency_links.txt�����������������������������������������0000644�0000000�0000000�00000000001�12304560276�022417� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������sphinx-1.2.2+dfsg.orig/babel.cfg��������������������������������������������������������������������0000644�0000000�0000000�00000001076�12251557232�015137� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������# How setup this file # http://babel.edgewall.org/wiki/Documentation/setup.html # this file description: # http://babel.edgewall.org/wiki/Documentation/messages.html#extraction-method-mapping-and-configuration # Extraction from Python source files [python: **.py] encoding = utf-8 # Extraction from Jinja2 HTML templates [jinja2: **/themes/**.html] encoding = utf-8 ignore_tags = script,style include_attrs = alt title summary # Extraction from Jinja2 XML templates [jinja2: **/themes/**.xml] # Extraction from JavaScript files [javascript: **.js] [javascript: **.js_t] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������