S2OJ/config_judge_client

39 lines
1.3 KiB
Plaintext
Raw Normal View History

2016-11-17 02:08:31 +00:00
#!/usr/bin/python
import sys, json, random, os
def translate(filename, target, tab):
with open(filename, 'r') as f:
content = f.read()
for k, v in tab.items():
content = content.replace('__' + k + '__', v)
with open(target, 'w') as f:
f.write(content)
cid = raw_input('uoj container id: ')
ip = raw_input('uoj ip: ')
name = raw_input('judger name: ')
os.system("docker cp " + cid + ":/home/local_main_judger/judge_client/.conf.json docker/judge_client/conf.json")
with open('docker/judge_client/conf.json', 'r') as f:
conf = json.load(f)
conf['uoj_host'] = ip
conf['judger_name'] = name
conf['judger_password'] = ''.join(random.choice('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') for i in range(32))
with open('docker/judge_client/conf.json', 'w') as f:
json.dump(conf, f, indent=4, separators=(',', ': '))
print >>f
translate_table = {
'svn_cert': '--username %s --password %s' % (conf['svn_username'], conf['svn_password']),
'uoj_host': ip
}
translate('docker/judge_client/install', 'docker/judge_client/cur_install', translate_table)
print "please modify the database after getting the judger server ready:"
print "insert into judger_info (judger_name, password, ip) values ('%s', '%s', '__judger_ip_here__');" % (name, conf['judger_password'])