Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
mindinsight
提交
5cacff6b
M
mindinsight
项目概览
MindSpore
/
mindinsight
通知
8
Star
4
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindinsight
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5cacff6b
编写于
6月 28, 2020
作者:
Q
quyongxiu1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
adjust position of import mindspore
上级
73ce59d5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
58 addition
and
1 deletion
+58
-1
mindinsight/mindconverter/converter.py
mindinsight/mindconverter/converter.py
+58
-1
未找到文件。
mindinsight/mindconverter/converter.py
浏览文件 @
5cacff6b
...
...
@@ -64,7 +64,9 @@ class Converter:
self
.
_report
.
append
(
'[Convert Over]'
)
dest_file
=
os
.
path
.
join
(
output_dir
,
os
.
path
.
basename
(
infile
))
with
os
.
fdopen
(
os
.
open
(
dest_file
,
self
.
flags
,
self
.
modes
),
'w'
)
as
file
:
file
.
write
(
pasta
.
dump
(
self
.
_tree
))
script
=
pasta
.
dump
(
self
.
_tree
)
script
=
adjust_mindspore_import_position
(
script
)
file
.
write
(
script
)
logger
.
info
(
"Convert success. Result is wrote to %s."
,
dest_file
)
except
ScriptNotSupport
as
error
:
self
.
_report
.
append
(
'[ScriptNotSupport] '
+
error
.
message
)
...
...
@@ -97,6 +99,61 @@ class Converter:
return
replaced_code
def
get_code_start_line_num
(
source_lines
):
"""
Get the start code line number exclude comments.
Args:
source_lines (list[str]): Split results of code.
Returns:
int, the start line number.
"""
stack
=
[]
index
=
0
for
i
,
line
in
enumerate
(
source_lines
):
line_strip
=
line
.
strip
()
if
line_strip
.
startswith
(
'#'
):
continue
if
line_strip
.
startswith
(
'"""'
):
if
not
line_strip
.
endswith
(
'"""'
):
stack
.
append
(
'"""'
)
continue
if
line_strip
.
startswith
(
"'''"
):
if
not
line_strip
.
endswith
(
"'''"
):
stack
.
append
(
"'''"
)
continue
if
line_strip
.
endswith
(
'"""'
)
or
line_strip
.
endswith
(
"'''"
):
stack
.
pop
()
continue
if
line_strip
!=
''
and
not
stack
:
index
=
i
break
return
index
def
adjust_mindspore_import_position
(
script
):
"""
Adjust code sentence `import mindspore` in script to a proper position if the sentence is set before a comment.
Args:
script (str): code script before adjust.
Returns:
str, code script adjusted.
"""
script_list
=
script
.
split
(
'
\n
'
)
import_ms_sentence
=
'import mindspore'
if
import_ms_sentence
in
script_list
:
import_index
=
script_list
.
index
(
import_ms_sentence
)
if
script_list
[
import_index
+
1
].
startswith
(
'"""'
)
or
script_list
[
import_index
+
1
].
startswith
(
"'''"
):
script_list
.
pop
(
import_index
)
new_index
=
get_code_start_line_num
(
script_list
)
script_list
.
insert
(
new_index
,
import_ms_sentence
)
script
=
'
\n
'
.
join
(
script_list
)
return
script
def
_get_name_ext
(
file
):
"""
Split a file name in name and extension.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录