Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
50009e15
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
50009e15
编写于
4月 28, 2012
作者:
A
Andrey Kamaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improved javadoc generation scripts
上级
b165997e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
55 addition
and
10 deletion
+55
-10
modules/java/gen_javadoc.py
modules/java/gen_javadoc.py
+51
-8
modules/java/rst_parser.py
modules/java/rst_parser.py
+4
-2
未找到文件。
modules/java/gen_javadoc.py
浏览文件 @
50009e15
import
os
,
sys
,
re
,
string
,
glob
allmodules
=
[
"core"
,
"flann"
,
"imgproc"
,
"ml"
,
"highgui"
,
"video"
,
"features2d"
,
"calib3d"
,
"objdetect"
,
"legacy"
,
"contrib"
,
"gpu"
,
"androidcamera"
,
"haartraining"
,
"java"
,
"python"
,
"stitching"
,
"traincascade"
,
"ts"
,
"photo"
]
allmodules
=
[
"core"
,
"flann"
,
"imgproc"
,
"ml"
,
"highgui"
,
"video"
,
"features2d"
,
"calib3d"
,
"objdetect"
,
"legacy"
,
"contrib"
,
"gpu"
,
"androidcamera"
,
"haartraining"
,
"java"
,
"python"
,
"stitching"
,
"traincascade"
,
"ts"
,
"photo"
,
"videostab"
]
verbose
=
False
show_warnings
=
True
show_errors
=
True
...
...
@@ -67,14 +67,47 @@ class JavadocGenerator(object):
inf
.
close
()
outf
.
close
()
def
FinishParagraph
(
self
,
text
):
return
text
[:
-
1
]
+
"</p>
\n
"
def
ReformatForJavadoc
(
self
,
s
):
out
=
""
in_paragraph
=
False
in_list
=
False
for
term
in
s
.
split
(
"
\n
"
):
if
term
.
startswith
(
"*"
)
or
term
.
startswith
(
"#."
):
term
=
" "
+
term
in_list_item
=
False
if
term
.
startswith
(
"*"
):
in_list_item
=
True
if
in_paragraph
:
out
=
self
.
FinishParagraph
(
out
)
in_paragraph
=
False
if
not
in_list
:
out
+=
" * <ul>
\n
"
in_list
=
True
term
=
" <li>"
+
term
[
1
:]
if
term
.
startswith
(
"#."
):
in_list_item
=
True
if
in_paragraph
:
out
=
self
.
FinishParagraph
(
out
)
in_paragraph
=
False
if
not
in_list
:
out
+=
" * <ul>
\n
"
in_list
=
True
term
=
" <li>"
+
term
[
2
:]
if
not
term
:
if
in_paragraph
:
out
=
self
.
FinishParagraph
(
out
)
in_paragraph
=
False
out
+=
" *
\n
"
else
:
if
in_list
and
not
in_list_item
:
in_list
=
False
if
out
.
endswith
(
" *
\n
"
):
out
=
out
[:
-
3
]
+
" * </ul>
\n
*
\n
"
else
:
out
+=
" * </ul>
\n
"
pos_start
=
0
pos_end
=
min
(
77
,
len
(
term
)
-
1
)
while
pos_start
<
pos_end
:
...
...
@@ -91,12 +124,22 @@ class JavadocGenerator(object):
pos_end
+=
1
else
:
break
out
+=
" * "
+
term
[
pos_start
:
pos_end
+
1
].
rstrip
()
+
"
\n
"
if
in_paragraph
or
term
.
startswith
(
"@"
)
or
in_list_item
:
out
+=
" * "
else
:
in_paragraph
=
True
out
+=
" * <p>"
out
+=
term
[
pos_start
:
pos_end
+
1
].
rstrip
()
+
"
\n
"
pos_start
=
pos_end
+
1
pos_end
=
min
(
pos_start
+
77
,
len
(
term
)
-
1
)
if
in_paragraph
:
out
=
self
.
FinishParagraph
(
out
)
if
in_list
:
out
+=
" * </ul>
\n
"
return
out
def
getJavaName
(
self
,
decl
):
def
getJavaName
(
self
,
decl
,
methodSeparator
=
"."
):
name
=
"org.opencv."
name
+=
decl
[
"module"
]
if
"class"
in
decl
:
...
...
@@ -104,11 +147,11 @@ class JavadocGenerator(object):
else
:
name
+=
"."
+
decl
[
"module"
].
capitalize
()
if
"method"
in
decl
:
name
+=
"."
+
decl
[
"method"
]
name
+=
methodSeparator
+
decl
[
"method"
]
return
name
def
getDocURL
(
self
,
decl
):
url
=
"http://
opencv.itseez.com
/modules/"
url
=
"http://
docs.opencv.org
/modules/"
url
+=
decl
[
"module"
]
url
+=
"/doc/"
url
+=
os
.
path
.
basename
(
decl
[
"file"
]).
replace
(
".rst"
,
".html"
)
...
...
@@ -168,7 +211,7 @@ class JavadocGenerator(object):
for
see
in
decl
[
"seealso"
]:
seedecl
=
self
.
definitions
.
get
(
see
,
None
)
if
seedecl
:
doc
+=
prefix
+
" * @see "
+
self
.
getJavaName
(
seedecl
)
+
"
\n
"
doc
+=
prefix
+
" * @see "
+
self
.
getJavaName
(
seedecl
,
"#"
)
+
"
\n
"
else
:
doc
+=
prefix
+
" * @see "
+
see
.
replace
(
"::"
,
"."
)
+
"
\n
"
prefix
=
" *
\n
"
...
...
modules/java/rst_parser.py
浏览文件 @
50009e15
...
...
@@ -499,7 +499,8 @@ class RstParser(object):
def
normalizeText
(
self
,
s
):
if
s
is
None
:
return
s
s
=
re
.
sub
(
r
"\.\. math::[ ]*\n+(.*?)(\n[ ]*\n|$)"
,
mathReplace2
,
s
)
s
=
re
.
sub
(
r
"\.\. math::[ \r]*\n+((.|\n)*?)(\n[ \r]*\n|$)"
,
mathReplace2
,
s
)
s
=
re
.
sub
(
r
":math:`([^`]+?)`"
,
mathReplace
,
s
)
s
=
re
.
sub
(
r
" *:sup:"
,
"^"
,
s
)
...
...
@@ -574,6 +575,7 @@ class RstParser(object):
s
=
re
.
sub
(
r
"[\n ]+\."
,
"."
,
s
)
s
=
s
.
replace
(
"**"
,
""
)
s
=
re
.
sub
(
r
"``([^\n]+?)``"
,
"<code>
\\
1</code>"
,
s
)
s
=
s
.
replace
(
"``"
,
"
\"
"
)
s
=
s
.
replace
(
"`"
,
"
\"
"
)
s
=
s
.
replace
(
"
\"\"
"
,
"
\"
"
)
...
...
@@ -688,7 +690,7 @@ def mathReplace(match):
m
=
m
.
replace
(
"}"
,
")"
)
#print "%s ===> %s" % (match.group(0), m)
return
m
return
"<em>"
+
m
+
"</em>"
if
__name__
==
"__main__"
:
if
len
(
sys
.
argv
)
<
2
:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录