ipex-llm/docs/readthedocs/source/analytics_zoo_pytext.py
2021-10-12 11:06:44 +08:00

51 lines
1.4 KiB
Python

#!/usr/bin/env python
#
# Copyright 2018 Analytics Zoo Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
import re
def _process_docstring(app, what, name, obj, options, lines):
liter_re = re.compile(r'\s*```\s*$')
liter_flag = False
offset = 0
for j in range(len(lines)):
i = j+offset
line = lines[i]
# first literal block line
if not liter_flag and liter_re.match(line):
liter_flag = True
lines.insert(i+1, '')
offset += 1
lines[i] = '::'
# last literal block line
elif liter_flag and liter_re.match(line):
liter_flag = False
lines[i] = ''
# regular line within literal block
elif liter_flag:
line = ' ' + line
lines[i] = line
# regualr line
else:
lines[i] = line.lstrip()
def setup(app):
app.connect("autodoc-process-docstring", _process_docstring)