根据代码猜功能

根据代码猜功能-。-

from jinja2 import Template
#f = open("squid.conf","r")

flag = ""
hostnames = []
backends = []
dict = {}
with open('squid.conf') as file:
    for line in file:
        print line
        if "cache_peer_domain" in line:
            array = line.split(" ")
            if array[1] != flag:
                print array[3]
                hostnames.append({"name":array[3].split(".")[1],"host":array[1]})
                flag = array[1]
                dict[array[1]] = array[3].split(".")[1]
            for a in array:
                print a.strip("\n\r")

                if a != "" and a != "cache_peer_domain":
                    backends.append({"backend":dict[array[1]],"domain":a})

print hostnames
template = Template('''
{% for hostname in hostnames %}
backend {{ hostname.name }} {
    .host = "{{ hostname.host }}";
    .port = "80";
}
{% endfor %}

sub vcl_recv {
{% for backend in backends %}
    if (req.http.host ~ "{{ backend.domain }}") {
        set req.backend_hint = {{ backend.backend }};
    }
{% endfor %}
}


''')
result = template.render(hostnames=hostnames,backends=backends)
f = open("varnish","w+")
f.write(result)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,260评论 4 61
  • 1:同理心 两者关系的相处模式,在建立的别人的想法中感受对方的需求。以尊重的态度去感受对方的需求,对方体验到真正的...
    杨平的阅读 1,423评论 0 0
  • 2016.09.04 昨天去颐和园玩儿了一大圈,今天一早起来,喵说腿一点也不酸疼。 于是,吃过早饭后,准备去游泳。...
    摹喵居士阅读 1,917评论 0 0
  • 2017.11.23 周四 高畅 中国商业现场上,风起云涌。吴晓波在著名的《大败局》中,另辟蹊径,研究了十个失...
    畅_759c阅读 2,498评论 0 0
  • 文|汝之尾巴草 -01- 我不知道你有没有体验过绝望的感觉,有多绝望,反正我体验过。绝望到我一度不肯再相信这操蛋的...
    汝之尾巴草阅读 4,688评论 70 48