Updated prof_init hook args

This commit is contained in:
James Booth
2016-04-13 00:14:31 +01:00
parent a8d64f9b21
commit 0110764b2d
14 changed files with 83 additions and 13 deletions

View File

@@ -53,6 +53,7 @@ poll_fail_message = None
job_list = None
changes_list = None
def _help():
prof.win_show(win_tag, "Commands:")
prof.win_show(win_tag, " /jenkins help - Show this help")
@@ -67,6 +68,7 @@ def _help():
prof.win_show(win_tag, " /jenkins notify on|off - Enable/disable build notifications")
prof.win_show(win_tag, " /jenkins settings - Show current settings")
def _settings():
prof.win_show(win_tag, "Jenkins settings:")
prof.win_show(win_tag, " Jenkins URL : " + jenkins_url)
@@ -76,10 +78,12 @@ def _settings():
prof.win_show(win_tag, " Notifications enabled : " + str(enable_notify))
prof.win_show(win_tag, " Reminders enabled : " + str(enable_remind))
def _safe_remove(jobname, state):
if jobname in last_state[state]:
last_state[state].remove(jobname)
def _set_state(jobname, state):
if not jobname in last_state[state]:
_safe_remove(jobname, STATE_SUCCESS)
@@ -94,6 +98,7 @@ def _set_state(jobname, state):
else:
return False
def _open_job_url(url):
savout = os.dup(1)
saverr = os.dup(2)
@@ -106,6 +111,7 @@ def _open_job_url(url):
os.dup2(savout, 1)
os.dup2(saverr, 2)
class JobList():
def __init__(self):
self.jobs = []
@@ -142,6 +148,7 @@ class JobList():
count = count + 1
return count
class JobUpdates():
def __init__(self):
self.states = {}
@@ -160,6 +167,7 @@ class JobUpdates():
def get_in_state(self, state):
return self.states[state]
def _process_build(name, build, new_job_list, new_changes_list):
if build.get_status() == STATE_FAILURE:
new_job_list.add_job(name, build.get_number(), STATE_FAILURE)
@@ -177,6 +185,7 @@ def _process_build(name, build, new_job_list, new_changes_list):
if changed:
new_changes_list.add_update(STATE_UNSTABLE, name, build.get_number())
def _process_queued_or_running(name, job, new_job_list, new_changes_list):
if job.is_queued():
new_job_list.add_job(name, None, STATE_QUEUED)
@@ -189,6 +198,7 @@ def _process_queued_or_running(name, job, new_job_list, new_changes_list):
if changed:
new_changes_list.add_update(STATE_RUNNING, name)
def _jenkins_poll():
global poll_fail
global poll_fail_message
@@ -229,6 +239,7 @@ def _jenkins_poll():
job_list = new_job_list
changes_list = new_changes_list
def _prof_callback():
global changes_list
if poll_fail:
@@ -269,9 +280,11 @@ def _prof_callback():
changes_list = None
def _handle_input(win, line):
pass
def _list_jobs(jobs):
for name, build_number, state in jobs:
if state == STATE_SUCCESS:
@@ -285,6 +298,7 @@ def _list_jobs(jobs):
else:
prof.win_show_themed(win_tag, None, None, "cyan", " " + name + " " + state)
def _build_job(job):
try:
request = urllib2.Request(jenkins_url + "/job/" + job + "/build");
@@ -299,6 +313,7 @@ def _build_job(job):
else:
prof.win_show(win_tag, "Build request sent for " + job)
def _job_log(job):
name = job[0]
build_no = job[1]
@@ -314,6 +329,7 @@ def _job_log(job):
else:
prof.win_show(win_tag, "No build found for " + name)
def _cmd_jenkins(cmd=None, arg=None):
global enable_remind
global enable_notify
@@ -411,6 +427,7 @@ def _cmd_jenkins(cmd=None, arg=None):
else:
prof.win_show(win_tag, "Unknown command.")
def _remind():
if enable_remind and job_list:
notify_string = ""
@@ -433,7 +450,8 @@ def _remind():
if not notify_string == "":
prof.notify(notify_string, 5000, "Jenkins")
def prof_init(version, status):
def prof_init(version, status, account_name, fulljid):
last_state[STATE_SUCCESS] = []
last_state[STATE_UNSTABLE] = []
last_state[STATE_FAILURE] = []
@@ -507,6 +525,7 @@ def prof_init(version, status):
prof.register_command("/jenkins", 0, 2, synopsis, description, args, examples, _cmd_jenkins)
def prof_on_start():
prof.win_create(win_tag, _handle_input)
prof.win_show(win_tag, "Jenkins plugin started.")