mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Migrate to py3 style type annotation: sphinx.environment.adapters.indexentries
This commit is contained in:
@@ -11,33 +11,30 @@ import bisect
|
||||
import re
|
||||
import unicodedata
|
||||
from itertools import groupby
|
||||
from typing import Any, Dict, Pattern, List, Tuple
|
||||
|
||||
from sphinx.builders import Builder
|
||||
from sphinx.environment import BuildEnvironment
|
||||
from sphinx.errors import NoUri
|
||||
from sphinx.locale import _, __
|
||||
from sphinx.util import split_into, logging
|
||||
|
||||
if False:
|
||||
# For type annotation
|
||||
from typing import Any, Dict, Pattern, List, Tuple # NOQA
|
||||
from sphinx.builders import Builder # NOQA
|
||||
from sphinx.environment import BuildEnvironment # NOQA
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class IndexEntries:
|
||||
def __init__(self, env):
|
||||
# type: (BuildEnvironment) -> None
|
||||
def __init__(self, env: BuildEnvironment) -> None:
|
||||
self.env = env
|
||||
|
||||
def create_index(self, builder, group_entries=True,
|
||||
_fixre=re.compile(r'(.*) ([(][^()]*[)])')):
|
||||
# type: (Builder, bool, Pattern) -> List[Tuple[str, List[Tuple[str, Any]]]]
|
||||
def create_index(self, builder: Builder, group_entries: bool = True,
|
||||
_fixre: Pattern = re.compile(r'(.*) ([(][^()]*[)])')
|
||||
) -> List[Tuple[str, List[Tuple[str, Any]]]]:
|
||||
"""Create the real index from the collected index entries."""
|
||||
new = {} # type: Dict[str, List]
|
||||
|
||||
def add_entry(word, subword, main, link=True, dic=new, key=None):
|
||||
# type: (str, str, str, bool, Dict, str) -> None
|
||||
def add_entry(word: str, subword: str, main: str, link: bool = True,
|
||||
dic: Dict = new, key: str = None) -> None:
|
||||
# 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
|
||||
@@ -91,8 +88,7 @@ class IndexEntries:
|
||||
|
||||
# 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):
|
||||
# type: (Tuple[str, List]) -> Tuple[str, str]
|
||||
def keyfunc(entry: Tuple[str, List]) -> Tuple[str, str]:
|
||||
key, (void, void, category_key) = entry
|
||||
if category_key:
|
||||
# using specified category key to sort
|
||||
@@ -138,8 +134,7 @@ class IndexEntries:
|
||||
i += 1
|
||||
|
||||
# group the entries by letter
|
||||
def keyfunc2(item):
|
||||
# type: (Tuple[str, List]) -> str
|
||||
def keyfunc2(item: Tuple[str, List]) -> str:
|
||||
# hack: mutating the subitems dicts to a list in the keyfunc
|
||||
k, v = item
|
||||
v[1] = sorted((si, se) for (si, (se, void, void)) in v[1].items())
|
||||
|
||||
Reference in New Issue
Block a user