X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Ftools%2Fpresentation%2Futils.py;h=3fdec857740e5a6f70c8f09810b70f695584b041;hb=9390233c8b3d9176e020976ecdf44eb99c1f58e3;hp=2cc85c24d115b85ecc65b7606332238e87ed505a;hpb=4b0df8e7baea755e2e1a1c27a7707fb0a3f28b6e;p=csit.git diff --git a/resources/tools/presentation/utils.py b/resources/tools/presentation/utils.py index 2cc85c24d1..3fdec85774 100644 --- a/resources/tools/presentation/utils.py +++ b/resources/tools/presentation/utils.py @@ -25,6 +25,7 @@ from os import walk, makedirs, environ from os.path import join, isdir from shutil import move, Error from math import sqrt +from datetime import datetime from errors import PresentationError from jumpavg.BitCountingClassifier import BitCountingClassifier @@ -120,8 +121,8 @@ def execute_command(cmd): :param cmd: Command to execute. :type cmd: str - :returns: Return code of the executed command. - :rtype: int + :returns: Return code of the executed command, stdout and stderr. + :rtype: tuple(int, str, str) """ env = environ.copy() @@ -178,6 +179,29 @@ def get_last_completed_build_number(jenkins_url, job_name): return execute_command(cmd) +def get_build_timestamp(jenkins_url, job_name, build_nr): + """Get the timestamp of the build of the given job. + + :param jenkins_url: Jenkins URL. + :param job_name: Job name. + :param build_nr: Build number. + :type jenkins_url: str + :type job_name: str + :type build_nr: int + :returns: The timestamp. + :rtype: datetime.datetime + """ + + url = "{jenkins_url}/{job_name}/{build_nr}".format(jenkins_url=jenkins_url, + job_name=job_name, + build_nr=build_nr) + cmd = "wget -qO- {url}".format(url=url) + + timestamp = execute_command(cmd) + + return datetime.fromtimestamp(timestamp/1000) + + def archive_input_data(spec): """Archive the report.