reconfigure.parsers

class reconfigure.parsers.BaseParser[source]

A base parser class

parse(content)[source]
Parameters:content – string config content
Returns:a reconfigure.nodes.Node tree
stringify(tree)[source]
Parameters:tree – a reconfigure.nodes.Node tree
Returns:string config content
class reconfigure.parsers.BIND9Parser[source]

A parser for named.conf

token_section_end = '};'
tokens = [('(acl|key|masters|server|trusted-keys|managed-keys|controls|logging|lwres|options|view|zone|channel|category|listen-on|search|avoid-v4-udp-ports|avoid-v6-udp-ports|blackhole|listen-on|listen-on-v6|allow-recursion|allow-recursion-on|sortlist|topology|rrset-order|dual-stack-servers|disable-algorithms|dns64|forwarders|rrset-order|update-policy|also-notify|allow-notify|rate-limit)\\s+?([^\\s{}]*\\s*)*{', <function <lambda>>), ('\\#.*?\\n', <function <lambda>>), ('//.*?\\n', <function <lambda>>), ('/\\*.*?\\*/', <function <lambda>>), ('((([^\\s{};#]+)|({\\s*([^\\s{};#]+;\\s*)*}))\\s*?)+;', <function <lambda>>), ('\\s', <function <lambda>>), ('$^', <function <lambda>>), ('\\};', <function <lambda>>)]
class reconfigure.parsers.CrontabParser(remove_comments=False)[source]
parse(content)[source]
stringify(tree)[source]
stringify_env_setting(node)[source]
stringify_normal_task(node)[source]
stringify_special_task(node)[source]
class reconfigure.parsers.ExportsParser(*args, **kwargs)[source]

A parser for NFS’ /etc/exports

parse(content)[source]
stringify(tree)[source]
class reconfigure.parsers.IniFileParser(sectionless=False, nullsection='__default__')[source]

A parser for standard .ini config files.

Parameters:sectionless – if True, allows a section-less attributes appear in the beginning of file
parse(content)[source]
stringify(tree)[source]
class reconfigure.parsers.IPTablesParser[source]

A parser for iptables configuration as produced by iptables-save

parse(content)[source]
stringify(tree)[source]
class reconfigure.parsers.JsonParser[source]

A parser for JSON files (using json module)

load_node_rec(node, json)[source]
parse(content)[source]
save_node_rec(node)[source]
stringify(tree)[source]
class reconfigure.parsers.NginxParser[source]

A parser for nginx configs

parse(content)[source]
stringify(tree)[source]
stringify_rec(node)[source]
token_comment = '#'
token_section_end = '}'
tokens = [('[\\w_]+\\s*?[^\\n]*?{', <function <lambda>>), ('[\\w_]+?.+?;', <function <lambda>>), ('\\s', <function <lambda>>), ('$^', <function <lambda>>), ('\\#.*?\\n', <function <lambda>>), ('\\}', <function <lambda>>)]
class reconfigure.parsers.NSDParser[source]

A parser for NSD DNS server nsd.conf file

parse(content)[source]
stringify(tree)[source]
stringify_comment(line, comment)[source]
class reconfigure.parsers.ShellParser(*args, **kwargs)[source]

A parser for shell scripts with variables

parse(content)[source]
stringify(tree)[source]
class reconfigure.parsers.SSVParser(separator=None, maxsplit=-1, comment='#', continuation=None, *args, **kwargs)[source]

A parser for files containing space-separated value (notably, /etc/fstab and friends)

Parameters:
  • separator – separator character, defaults to whitespace
  • maxsplit – max number of tokens per line, defaults to infinity
  • comment – character denoting comments
  • continuation – line continuation character, None to disable
parse(content)[source]
stringify(tree)[source]
class reconfigure.parsers.SquidParser[source]

A parser for Squid configs

parse(content)[source]
stringify(tree)[source]