Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
config_repository
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
config_repository
Commits
ee502baf
Commit
ee502baf
authored
Jun 25, 2019
by
智勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
08384732
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
13 deletions
+23
-13
replace.py
yaml/replace.py
+23
-13
No files found.
yaml/replace.py
View file @
ee502baf
# coding=UTF-8
# coding=UTF-8
from
__future__
import
print_function
from
__future__
import
print_function
from
functools
import
partial
import
io
import
io
import
yaml
import
yaml
import
fileinput
import
fileinput
...
@@ -9,22 +10,27 @@ import re
...
@@ -9,22 +10,27 @@ import re
import
copy
import
copy
import
sys
import
sys
import
string
import
string
import
logging
logging
.
basicConfig
(
level
=
logging
.
INFO
)
logger
=
logging
.
getLogger
(
"mylog"
)
f
=
io
.
open
(
'replace_config.yaml'
,
'r'
,
encoding
=
'utf-8'
)
f
=
io
.
open
(
'replace_config.yaml'
,
'r'
,
encoding
=
'utf-8'
)
res
=
yaml
.
load
(
f
)
res
=
yaml
.
load
(
f
)
print
(
"全部配置信息:"
,
res
)
logger
.
info
(
"全部配置信息:"
+
str
(
res
))
f
.
close
()
# 获取当前项目的配置
# 获取当前项目的配置
env
=
os
.
environ
env
=
os
.
environ
project
=
env
.
get
(
'SYSTEM_NAME'
)
project
=
env
.
get
(
'SYSTEM_NAME'
)
config
=
res
.
get
(
project
,
res
.
get
(
'common'
))
config
=
res
.
get
(
project
,
res
.
get
(
'common'
))
config
=
sorted
(
config
.
items
(),
key
=
lambda
rule
:
(
rule
[
1
][
'order'
],
rule
[
0
]))
config
=
sorted
(
config
.
items
(),
key
=
lambda
rule
:
(
rule
[
1
][
'order'
],
rule
[
0
]))
print
(
"当前project :"
,
project
)
logger
.
info
(
"当前project: "
+
str
(
project
)
)
print
(
project
,
"的配置信息:"
,
config
)
logger
.
info
(
"配置信息: "
+
str
(
config
)
)
namespace
=
env
.
get
(
'NAMESPACE'
)
namespace
=
env
.
get
(
'NAMESPACE'
)
print
(
'namespace:'
,
namespace
)
logger
.
info
(
'namespace: '
+
namespace
)
print
(
'host:'
,
sys
.
argv
[
1
]
)
logger
.
info
(
'host: '
+
str
(
sys
.
argv
[
1
])
)
files
=
[]
files
=
[]
acceptType
=
{
'.html'
,
'.js'
,
'.css'
}
acceptType
=
{
'.html'
,
'.js'
,
'.css'
}
...
@@ -39,19 +45,21 @@ def findFile (dir):
...
@@ -39,19 +45,21 @@ def findFile (dir):
findFile
(
dir
+
'/'
+
sub
)
findFile
(
dir
+
'/'
+
sub
)
distPaths
=
[]
distPaths
=
[]
if
'--'
in
project
:
distPaths
.
append
(
os
.
path
.
abspath
(
project
+
'/dist'
))
distPaths
.
append
(
os
.
path
.
abspath
(
project
.
split
(
'--'
)[
0
]
+
'/dist'
))
# distPaths.append(os.path.abspath('/Users/zhiyong/IdeaProjects/qg/vcc-ui/dist'))
distPaths
.
append
(
os
.
path
.
abspath
(
project
.
split
(
'--'
)[
1
]
+
'/dist'
))
else
:
distPaths
.
append
(
os
.
path
.
abspath
(
project
+
'/dist'
))
# 过滤符合要求的文件路径
# 过滤符合要求的文件路径
for
distPath
in
distPaths
:
for
distPath
in
distPaths
:
print
(
"dist路径:"
,
distPath
)
logger
.
info
(
'dist路径'
+
distPath
)
findFile
(
distPath
)
findFile
(
distPath
)
def
_replayHanlder
(
rule
,
to
,
matched
):
logger
.
info
(
"规则:"
+
rule
+
", 匹配到:"
+
str
(
matched
.
group
())
+
", 替换为:"
+
to
);
return
to
;
# 替换文件中的内容
# 替换文件中的内容
for
file
in
files
:
for
file
in
files
:
logger
.
info
(
'开始替换文件:'
+
str
(
file
))
for
line
in
fileinput
.
input
(
file
,
inplace
=
1
):
for
line
in
fileinput
.
input
(
file
,
inplace
=
1
):
for
item
in
config
:
for
item
in
config
:
rule
=
copy
.
deepcopy
(
item
[
1
])
rule
=
copy
.
deepcopy
(
item
[
1
])
...
@@ -64,9 +72,11 @@ for file in files:
...
@@ -64,9 +72,11 @@ for file in files:
if
rule
[
'reg'
]:
if
rule
[
'reg'
]:
p
=
re
.
compile
(
r''
+
rule
[
'reg'
])
p
=
re
.
compile
(
r''
+
rule
[
'reg'
])
line
=
re
.
sub
(
p
,
rule
[
'to'
],
line
)
_handler1
=
partial
(
_replayHanlder
,
rule
[
'reg'
],
rule
[
'to'
])
line
=
re
.
sub
(
p
,
_handler1
,
line
)
print
(
line
,
end
=
''
)
print
(
line
,
end
=
''
)
fileinput
.
close
()
fileinput
.
close
()
f
.
close
()
logger
.
info
(
'完成'
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment