예제 #1
0
from zope.interface import Interface, implementer
from six import unichr, text_type, string_types, iteritems
from six.moves import filter
from clldutils.misc import to_binary
from clldutils.source import Source

from clld.util import DeclEnum
from clld.lib.bibutils import convert
from clld.lib import latex

__all__ = [
    'u_unescape', 'unescape', 'stripctrlchars', 'EntryType', 'FIELDS',
    'IRecord', 'Record', 'IDatabase', 'Database'
]

latex.register()

UU_PATTERN = re.compile(r'\?\[\\u(?P<number>[0-9]{3,5})\]')


def u_unescape(s):
    """Unencode Unicode escape sequences.

    Match all 3-5-digit sequences with unicode character
    replace all '?[\\u....]' with corresponding unicode

    There are some decimal/octal mismatches in unicode encodings in bibtex
    """
    def iterchunks(s):
        end = 0
        for m in UU_PATTERN.finditer(s):
예제 #2
0
from collections import OrderedDict
import re

from zope.interface import Interface, implementer
from six import unichr, text_type, string_types, iteritems
from six.moves import filter
from clldutils.path import Path
from clldutils.misc import UnicodeMixin, to_binary
from clldutils.source import Source

from clld.util import DeclEnum
from clld.lib.bibutils import convert
from clld.lib import latex


latex.register()


UU_PATTERN = re.compile(r"\?\[\\u(?P<number>[0-9]{3,5})\]")


def u_unescape(s):
    """Unencode Unicode escape sequences.

    Match all 3-5-digit sequences with unicode character
    replace all '?[\\u....]' with corresponding unicode

    There are some decimal/octal mismatches in unicode encodings in bibtex
    """

    def iterchunks(s):