示例#1
0
文件: views.py 项目: libin/chef_stock
def nodes(request):
    request.breadcrumbs("Nodes","#")

    cur_environment = request.GET.get("cur_environment",None)
    cur_role = request.GET.get("cur_role",None)
    cur_name = request.GET.get("cur_name",None)

    nodes = ChefQueryManager.list_nodes()
    if cur_environment or cur_role or cur_name:
        chef_map = dict([(node_name,ChefQueryManager.get_node(node_name)) for node_name in nodes])


    if cur_name:
        nodes = filter(lambda x: chef_map.get(x,None) and cur_name in chef_map.get(x)['name'],nodes)
    if cur_environment:
        nodes = filter(lambda x: chef_map.get(x,None) and chef_map.get(x)['chef_environment'] == cur_environment,nodes)
    if cur_role:
        nodes = filter(lambda x: chef_map.get(x,None) and chef_map.get(x)['automatic'].has_key("roles") and cur_role in chef_map.get(x)['automatic']['roles'],nodes)

    return render_to_response("nodes.html",
                              {'nodes':nodes,
                               'cur_name':cur_name,
                               'cur_role':cur_role,
                               'cur_environment':cur_environment},
                              RequestContext(request))
示例#2
0
文件: views.py 项目: libin/chef_stock
def node(request,node_name):    
    request.breadcrumbs("Nodes",reverse("nodes"))
    request.breadcrumbs(node_name,"#")
    node = ChefQueryManager.get_node(node_name)
    if not node:
        raise Http404
    return render_to_response("node.html",{'node':node},RequestContext(request))
示例#3
0
文件: views.py 项目: libin/chef_stock
def databag(request,databag_name):
    request.breadcrumbs("DataBags",reverse("databags"))
    request.breadcrumbs(databag_name,"#")
    databag = ChefQueryManager.get_databag(databag_name)
    if not databag:
        raise Http404
    return render_to_response("databag.html",{'databag':databag},RequestContext(request))
示例#4
0
文件: views.py 项目: libin/chef_stock
def role(request,role_name):
    request.breadcrumbs("Roles",reverse("roles"))
    request.breadcrumbs(role_name,"#")
    role = ChefQueryManager.get_role(role_name)
    if not role:
        raise Http404
    return render_to_response("role.html",{'role':role},RequestContext(request))
示例#5
0
文件: views.py 项目: libin/chef_stock
def databags(request):
    request.breadcrumbs("DataBags","#")
    databags = ChefQueryManager.list_databags()
    return render_to_response("databags.html",{'databags':databags},RequestContext(request))
示例#6
0
文件: views.py 项目: libin/chef_stock
def roles(request):
    request.breadcrumbs("Roles","#")
    roles = ChefQueryManager.list_roles()
    return render_to_response("roles.html",{'roles':roles},RequestContext(request))
示例#7
0
def chef_stock(request):
    return {
        "ENVIRONMENTS" : ChefQueryManager.list_environments(),
        "ROLES" : ChefQueryManager.list_roles()
        }