1 (* Python paste config file lens for Augeas
2 Author: Dan Prince <dprince@redhat.com>
7 (************************************************************************
9 *************************************************************************)
11 let comment = IniFile.comment "#" "#"
13 let sep = IniFile.sep "=" "="
17 (************************************************************************
19 *************************************************************************)
21 let url_entry = /\/[\/A-Za-z0-9.-_]* ?[:|=] [A-Za-z0-9.-_]+/
23 let set_kw = [ Util.del_str "set" . Util.del_ws_spc . label "@set" ]
25 let no_inline_comment_entry (kw:regexp) (sep:lens) (comment:lens)
26 = [ set_kw? . key kw . sep . IniFile.sto_to_eol? . eol ]
28 | [ seq "urls" . store url_entry . eol ]
30 let entry_re = ( /[A-Za-z][:#A-Za-z0-9._-]+/ )
32 let entry = no_inline_comment_entry entry_re sep comment
34 (************************************************************************
36 *************************************************************************)
38 let title = IniFile.title IniFile.record_re
40 let record = IniFile.record title entry
42 (************************************************************************
44 *************************************************************************)
45 let lns = IniFile.lns record comment
47 let filter = ((incl "/etc/glance/*.ini")
48 . (incl "/etc/keystone/keystone.conf")
49 . (incl "/etc/nova/api-paste.ini")
50 . (incl "/etc/swift/swift.conf")
51 . (incl "/etc/swift/proxy-server.conf")
52 . (incl "/etc/swift/account-server/*.conf")
53 . (incl "/etc/swift/container-server/*.conf")
54 . (incl "/etc/swift/object-server/*.conf"))
56 let xfm = transform lns filter