This repository was archived by the owner on Feb 5, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathutil.py
More file actions
72 lines (58 loc) · 2.23 KB
/
util.py
File metadata and controls
72 lines (58 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#coding=utf-8
import os
import sqlite3
from configs import setting, db
import sys
reload(sys)
sys.setdefaultencoding('utf8')
__author__ = 'Administrator'
def execute(key, value, exe_time):
ret_msg = setting.STATE_FAIL
if key == 'url':
sql = db.SELECT_DIR_FROM_JOB_BY_URL % value
elif key == 'id':
sql = db.SELECT_DIR_FROM_JOB_BY_ID % int(value)
else:
return ret_msg
conn = sqlite3.connect(db.DB)
cur = conn.cursor()
cur.execute(sql)
jobs = cur.fetchall()
content = ''
if len(jobs):
job = jobs[0]
try:
project_dir = '%s/%s/' % (job[0], job[1])
content += '$ cd %s' % project_dir
os.chdir(project_dir)
content += '<br>$ git pull<br>'
content += os.popen('git pull').read()
content += '<br>$ chmod 777 %scmd.sh' % project_dir
content += os.popen('chmod 777 %scmd.sh' % project_dir).read()
content += '<br>$ %s/cmd.sh<br>' % project_dir
content += os.popen('%s/cmd.sh' % project_dir).read()
content += '<br>$ chmod 644 %scmd.sh' % project_dir
content += os.popen('chmod 644 %scmd.sh' % project_dir).read()
#返回原路径
content += '<br>$ cd %s' % (setting.CUR_DIR % '')
os.chdir(setting.CUR_DIR % '')
conn.execute(db.UPDATE_JOB % (setting.STATE_SUCCESS, exe_time, int(job[2])))
ret_msg = setting.STATE_SUCCESS
conn.execute(db.INSERT_TO_LOG % (int(job[2]), exe_time, ret_msg, content))
except Exception, e:
ret_msg = setting.STATE_FAIL
content += '<br><br>************发生错误************<br><br>'
#返回原路径
os.chdir(setting.CUR_DIR % '')
content += '%s' % e
conn.execute(db.UPDATE_JOB % (setting.STATE_FAIL, exe_time, int(job[2])))
conn.execute(db.INSERT_TO_LOG % (int(job[2]), exe_time, ret_msg, content))
conn.commit()
cur.close()
conn.close()
return ret_msg
def insert_to_log(conn, job_id, exe_time, state, content):
conn = sqlite3.connect(db.DB)
conn.execute(db.INSERT_TO_LOG % (int(job_id), exe_time, state, content))
conn.commit()
conn.close()