dmlc--dgl
5de4edd1fa
* fix * fix * debug * fix * fix * fix * fix * ci * fix * fix * remove duplicate instruction * need this file in the main branch * add nightly * Delete nightly.jenkins
82 行
2.4 KiB
Python
82 行
2.4 KiB
Python
import argparse
|
|
import json
|
|
import os
|
|
|
|
|
|
import re
|
|
|
|
|
|
def json_minify(string, strip_space=True):
|
|
'''
|
|
Based on JSON.minify.js:
|
|
https://github.com/getify/JSON.minify
|
|
Contributers:
|
|
- Pradyun S. Gedam (conditions and variable names changed)
|
|
'''
|
|
tokenizer = re.compile(r'"|(/\*)|(\*/)|(//)|\n|\r')
|
|
in_string = False
|
|
in_multi = False
|
|
in_single = False
|
|
|
|
new_str = []
|
|
index = 0
|
|
|
|
for match in re.finditer(tokenizer, string):
|
|
|
|
if not (in_multi or in_single):
|
|
tmp = string[index:match.start()]
|
|
if not in_string and strip_space:
|
|
# replace white space as defined in standard
|
|
tmp = re.sub('[ \t\n\r]+', '', tmp)
|
|
new_str.append(tmp)
|
|
|
|
index = match.end()
|
|
val = match.group()
|
|
|
|
if val == '"' and not (in_multi or in_single):
|
|
escaped = re.search(r'(\\)*$', string[:match.start()])
|
|
|
|
# start of string or unescaped quote character to end string
|
|
if not in_string or (escaped is None or len(escaped.group()) % 2 == 0):
|
|
in_string = not in_string
|
|
index -= 1 # include " character in next catch
|
|
elif not (in_string or in_multi or in_single):
|
|
if val == '/*':
|
|
in_multi = True
|
|
elif val == '//':
|
|
in_single = True
|
|
elif val == '*/' and in_multi and not (in_string or in_single):
|
|
in_multi = False
|
|
elif val in '\r\n' and not (in_multi or in_string) and in_single:
|
|
in_single = False
|
|
elif not ((in_multi or in_single) or (val in ' \r\n\t' and strip_space)):
|
|
new_str.append(val)
|
|
|
|
new_str.append(string[index:])
|
|
content = ''.join(new_str)
|
|
content = content.replace(",]", "]")
|
|
content = content.replace(",}", "}")
|
|
return content
|
|
|
|
|
|
def add_prefix(branch_name):
|
|
if '/' not in branch_name:
|
|
return "origin/"+branch_name
|
|
else:
|
|
return branch_name
|
|
|
|
|
|
def change_branch(branch_str: str):
|
|
branches = [add_prefix(b) for b in branch_str.split(",")]
|
|
with open("../asv.conf.json", "r") as f:
|
|
ss = f.read()
|
|
config_json = json.loads(json_minify(ss))
|
|
config_json["branches"] = branches
|
|
with open("../asv.conf.json", "w") as f:
|
|
json.dump(config_json, f)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if "BRANCH_STR" in os.environ:
|
|
change_branch(os.environ["BRANCH_STR"])
|