Esempio n. 1
0
    def get(self):
        projects = get_latest_builds()

        for project in projects:
            if project.tracking_type == 0:
                project.show_coverage = True
            append_siren = ""
            #create alerts (visual and audio) if there is a failure
            if project.build_status != "SUCCESS":
                project.coverage_color_state = "error"
                project.coverage_color = "#FF9999"
                append_siren = self.get_siren_embed()

            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            project.ned_url = bc.get_project_url(project.build_type)

        #coverage_graph, graph_range = self.get_coverage_graph()

        projects.extend(get_getsat_modules())
        #projects.extend(get_deamon_modules())
        projects.extend(get_ads_server_modules())
        template_values = {
            'projects': projects,
            #'append_siren': append_siren,
            #'coverage_graph': coverage_graph,
            #'graph_range': graph_range,
            'google_api_key': settings.GOOGLE_API_KEY,
            'last_loaded': datetime.datetime.now().strftime("%b %d %I:%M %p ")
        }
        path = os.path.join(os.path.dirname(__file__), 'dashboard.html')
        self.response.out.write(template.render(path, template_values))
Esempio n. 2
0
    def get(self):
        projects = get_latest_builds()
 
         
        for project in projects:
            if project.tracking_type == 0:
                project.show_coverage = True
            append_siren = ""
            #create alerts (visual and audio) if there is a failure
            if project.build_status != "SUCCESS":
                project.coverage_color_state = "error"
                project.coverage_color = "#FF9999"
                append_siren = self.get_siren_embed();
            
            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            project.ned_url = bc.get_project_url(project.build_type)


        #coverage_graph, graph_range = self.get_coverage_graph()
        
        
        
        projects.extend(get_getsat_modules())
        #projects.extend(get_deamon_modules())
        projects.extend(get_ads_server_modules())
        template_values = {
                     'projects': projects,
                     #'append_siren': append_siren,
                     #'coverage_graph': coverage_graph,
                     #'graph_range': graph_range,
                     'google_api_key': settings.GOOGLE_API_KEY,
                     'last_loaded': datetime.datetime.now().strftime("%b %d %I:%M %p ")
                 }
        path = os.path.join(os.path.dirname(__file__), 'dashboard.html')
        self.response.out.write(template.render(path, template_values))
Esempio n. 3
0
def get_code_coverage(projects):
    for project in projects:
        if project.build_status != "problem":
            #Coverage reports are different for each platform.

            bc = BuilderConnect(BuilderConnect.TEAM_CITY)

            #PYTHON/Django based coverage
            if project.build_type in ["bt6", "bt28", "bt39"]:
                project.coverage = bc.get_coverage(project.build_type,
                                                   project.build_id, "python",
                                                   "index.html")

            #ANDROID based coverage
            elif project.build_type in ["bt7", "bt4", "bt2"]:
                project.coverage = bc.get_coverage(project.build_type,
                                                   project.build_id, "android",
                                                   "coverage.html")

            #iOS based coverage
            elif project.build_type in ["bt8", "bt5"]:
                artdir = ""
                if project.build_type == "bt5":
                    artdir = "combined/"
                project.coverage = bc.get_coverage(project.build_type,
                                                   project.build_id, "ios",
                                                   "%s/index.html" % artdir)

    return projects
Esempio n. 4
0
def get_projects():
    projects = []

    bc = BuilderConnect(BuilderConnect.TEAM_CITY)
    buildtypes = bc.get_build_types()

    for bt in buildtypes:
        p = Project()
        p.name = bt['name']
        p.build_type = bt['id']
        projects.append(p)
    return projects
Esempio n. 5
0
def get_projects():
    projects = []

    bc = BuilderConnect(BuilderConnect.TEAM_CITY)
    buildtypes = bc.get_build_types()

    for bt in buildtypes:
        p = Project()
        p.name = bt['name']
        p.build_type = bt['id']
        projects.append(p)
    return projects
Esempio n. 6
0
    def get(self):
        #if there has been a build since the last save
        builds_dict = get_latest_builds(as_list=False)

        has_updated = False
        for build_dict in builds_dict:

            build = builds_dict[build_dict]
            
            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            has_updated = bc.has_new_builds(build.build_type, build.build_number)
            if has_updated:
                self.update_projects(builds_dict)
                self.response.out.write("pushed new builds")
                break   
Esempio n. 7
0
def get_all_build_states():
    projects = get_projects()
    new_projects = []
    
    for project in projects:
        try:
            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            builds = bc.get_build_states(project.build_type)
            
            project.build_status = builds.build['status']
            project.build_number = int(builds.build['number'])
            project.build_id = int(builds.build['id'])
        except:
            project.build_status = "problem"
            
    return projects
Esempio n. 8
0
    def get(self):
        #if there has been a build since the last save
        builds_dict = get_latest_builds(as_list=False)

        has_updated = False
        for build_dict in builds_dict:

            build = builds_dict[build_dict]

            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            has_updated = bc.has_new_builds(build.build_type,
                                            build.build_number)
            if has_updated:
                self.update_projects(builds_dict)
                self.response.out.write("pushed new builds")
                break
Esempio n. 9
0
def get_all_build_states():
    projects = get_projects()
    new_projects = []

    for project in projects:
        try:
            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            builds = bc.get_build_states(project.build_type)

            project.build_status = builds.build['status']
            project.build_number = int(builds.build['number'])
            project.build_id = int(builds.build['id'])
        except:
            project.build_status = "problem"

    return projects
Esempio n. 10
0
def get_code_coverage(projects):
    for project in projects:
        if project.build_status != "problem":
            #Coverage reports are different for each platform.
            
            bc = BuilderConnect(BuilderConnect.TEAM_CITY)
            
            #PYTHON/Django based coverage
            if project.build_type in ["bt6", "bt28", "bt39"]: 
                project.coverage = bc.get_coverage(project.build_type, project.build_id, "python", "index.html")
            
            #ANDROID based coverage
            elif project.build_type in ["bt7", "bt4", "bt2"]:
                project.coverage = bc.get_coverage(project.build_type, project.build_id, "android", "coverage.html")
            
            #iOS based coverage
            elif project.build_type in ["bt8", "bt5"]:
                artdir = ""
                if project.build_type == "bt5":
                    artdir = "combined/"
                project.coverage = bc.get_coverage(project.build_type, project.build_id, "ios", "%s/index.html" % artdir)

    return projects 
Esempio n. 11
0
    def get(self):
        projects = get_latest_builds()
 
         
        for project in projects:
            if project.tracking_type == 0:
                project.show_coverage = True
            append_siren = ""
            #create alerts (visual and audio) if there is a failure
            if project.build_status != "SUCCESS":
                project.coverage_color_state = "error"
                project.coverage_color = "#FF9999"
                append_siren = self.get_siren_embed();
            
            try:
                bc = BuilderConnect(BuilderConnect.TEAM_CITY)
                project.ned_url = bc.get_project_url(project.build_type)
            except Exception, ex:
                logging.error("Error connecting to Team City")
                logging.error(ex)

            if not project.coverage_url:
                project.coverage_url = project.ned_url