Exemplo n.º 1
0
def __build_setting_js(r, projects):
    s = project_settings(r, projects, CATEGORY_SETTING)
    
    # [['', ''], ['', '']]
    items = []
    for e in s.category.splitlines():
        if not e or e.startswith("#"): continue
        k, v = e.count(":") > 0 and e.split(":", 1) or (e, e)
        items.append("['%s', '%s']" % (k, v))
    
    settings_js = "{category:%s}" % ("[%s]" % ",".join(items)) 
    
    return settings_js
Exemplo n.º 2
0
def settings(r, ):
    project = project_session(r)
    
    category_setting = project_settings(r, project, CATEGORY_SETTING)
    diff_setting = project_settings(r, project, DIFF_SETTING)
    if r.method == "POST":
        category_setting.save(r.POST)
        diff_setting.save(r.POST)
        
    diff_form = ""
    count = 0
    for e in diff_setting.items_order:
        check = diff_setting.value(e) == '1' and "checked" or ""
        help = diff_setting.help(e)
        diff_form += """<input id='%s' type='checkbox' name='%s' %s value='1'>
        <label for="%s">%s</label>&nbsp;&nbsp;""" % (e, e, check, e, help)
        count += 1
        if count % 4 == 0: diff_form += "<br/>"
            
    
    return ("admin/rf_trac_admin_settings.html", {"project":project,
                                        "category_setting": category_setting,
                                        "diff_form": diff_form
                                        });
Exemplo n.º 3
0
def diff(r, build="", ajax='no'):
    """
    diff with history build:
    2. robot build
    2. base line
        
    1. sut name
       sut version
    3. sut release
    4. execute by
    
    last  cur
    PASS/FAIL->unknown  ---> unknown --> white
    
    FAIL->PASS  ---> info --> blue
    FAIL->FAIL  ---> warning --> yellow
    PASS->FAIL  ---> fatal--> red
    PASS->PASS  ---> ignore --> dark
        
    """

    build = db.get(db.Key(build))
    if build is None: return ("redirect:/rf_trac/index", )
    
    settings = client_settings(r, build.parent(), DIFF_SETTING)
    if r.REQUEST.has_key('submit'): 
        settings.set_value(r.REQUEST, all='Y')
    else:
        settings.set_value({})
        
    diff_result = diff_test_build(build, settings)
    
    s = project_settings(r, build.parent(), CATEGORY_SETTING)
    
    category_items = []
    for e in s.category.splitlines():
        if not e or e.startswith("#"): continue
        k, v = e.count(":") > 0 and e.split(":", 1) or (e, e)
        category_items.append("<option value='%s'>%s</option>" % (k, v))
    
    count = 0
    diff_form = ""   
    diff_setting = settings
    for e in diff_setting.items_order:
        check = diff_setting.value(e) == '1' and "checked" or ""
        help = diff_setting.help(e)
        diff_form += """<input id='%s' type='checkbox' name='%s' %s value='1'>
        <label for="%s">%s</label>&nbsp;&nbsp;""" % (e, e, check, e, help)
        count += 1
        #if count % 4 == 0: diff_form += "<br/>"        
    
    log_list = RobotResult.all().filter("build =", build)
    
    log_list = [e for e in log_list]
    for e in log_list:
        e.diff = diff_result[e.uuid]
    
    return ("report/rf_trac_report_build.html", {"build":build,
                                      "log_list": log_list,
                                      "category_list":"".join(category_items),
                                      "diff_form": diff_form,
                                     });