Skip to content

Commit 4791e47

Browse files
committed
Make public [encode,decode]_ipct_rule functions
1 parent dcf72b4 commit 4791e47

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

iptc/easy.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def has_chain(table, chain, ipv6=False):
4949
def has_rule(table, chain, rule_d, ipv6=False):
5050
""" Return True if rule exists in chain False otherwise """
5151
iptc_chain = _iptc_getchain(table, chain, ipv6)
52-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
52+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
5353
return iptc_rule in iptc_chain.rules
5454

5555
def add_chain(table, chain, ipv6=False, raise_exc=True):
@@ -65,7 +65,7 @@ def add_chain(table, chain, ipv6=False, raise_exc=True):
6565
def add_rule(table, chain, rule_d, position=0, ipv6=False):
6666
""" Add a rule to a chain in a given position. 0=append, 1=first, n=nth position """
6767
iptc_chain = _iptc_getchain(table, chain, ipv6)
68-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
68+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
6969
if position == 0:
7070
# Insert rule in last position -> append
7171
iptc_chain.append_rule(iptc_rule)
@@ -99,7 +99,7 @@ def delete_rule(table, chain, rule_d, ipv6=False, raise_exc=True):
9999
""" Delete a rule from a chain """
100100
try:
101101
iptc_chain = _iptc_getchain(table, chain, ipv6)
102-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
102+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
103103
iptc_chain.delete_rule(iptc_rule)
104104
except Exception as e:
105105
if raise_exc: raise
@@ -124,28 +124,28 @@ def get_rule(table, chain, position=0, ipv6=False, raise_exc=True):
124124
# Return specific rule by position
125125
iptc_chain = _iptc_getchain(table, chain, ipv6)
126126
iptc_rule = iptc_chain.rules[position - 1]
127-
return _decode_iptc_rule(iptc_rule, ipv6)
127+
return decode_iptc_rule(iptc_rule, ipv6)
128128
elif position < 0:
129129
# Return last rule -> not available in iptables CLI
130130
iptc_chain = _iptc_getchain(table, chain, ipv6)
131131
iptc_rule = iptc_chain.rules[position]
132-
return _decode_iptc_rule(iptc_rule, ipv6)
132+
return decode_iptc_rule(iptc_rule, ipv6)
133133
except Exception as e:
134134
if raise_exc: raise
135135

136136
def replace_rule(table, chain, old_rule_d, new_rule_d, ipv6=False):
137137
""" Replaces an existing rule of a chain """
138138
iptc_chain = _iptc_getchain(table, chain, ipv6)
139-
iptc_old_rule = _encode_iptc_rule(old_rule_d, ipv6)
140-
iptc_new_rule = _encode_iptc_rule(new_rule_d, ipv6)
139+
iptc_old_rule = encode_iptc_rule(old_rule_d, ipv6)
140+
iptc_new_rule = encode_iptc_rule(new_rule_d, ipv6)
141141
iptc_chain.replace_rule(iptc_new_rule, iptc_chain.rules.index(iptc_old_rule))
142142

143143
def get_rule_statistics(table, chain, rule_d, ipv6=False):
144144
""" Return a tuple with the rule counters (numberOfBytes, numberOfPackets) """
145145
if not has_rule(table, chain, rule_d, ipv6):
146146
raise AttributeError('Chain <{}@{}> has no rule <{}>'.format(chain, table, rule_d))
147147
iptc_chain = _iptc_getchain(table, chain, ipv6)
148-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
148+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
149149
iptc_rule_index = iptc_chain.rules.index(iptc_rule)
150150
return iptc_chain.rules[iptc_rule_index].get_counters()
151151

@@ -154,14 +154,14 @@ def get_rule_position(table, chain, rule_d, ipv6=False):
154154
if not has_rule(table, chain, rule_d):
155155
raise AttributeError('Chain <{}@{}> has no rule <{}>'.format(chain, table, rule_d))
156156
iptc_chain = _iptc_getchain(table, chain, ipv6)
157-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
157+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
158158
return iptc_chain.rules.index(iptc_rule)
159159

160160

161161
def test_rule(rule_d, ipv6=False):
162162
""" Return True if the rule is a well-formed dictionary, False otherwise """
163163
try:
164-
_encode_iptc_rule(rule_d, ipv6)
164+
encode_iptc_rule(rule_d, ipv6)
165165
return True
166166
except:
167167
return False
@@ -196,7 +196,7 @@ def dump_table(table, ipv6=False):
196196
def dump_chain(table, chain, ipv6=False):
197197
""" Return a list with the dictionary representation of the rules of a table """
198198
iptc_chain = _iptc_getchain(table, chain, ipv6)
199-
return [_decode_iptc_rule(iptc_rule, ipv6) for iptc_rule in iptc_chain.rules]
199+
return [decode_iptc_rule(iptc_rule, ipv6) for iptc_rule in iptc_chain.rules]
200200

201201

202202
def batch_begin(table = None, ipv6=False):
@@ -248,7 +248,7 @@ def batch_add_rules(table, batch_rules, ipv6=False):
248248
iptc_table = _batch_begin_table(table, ipv6)
249249
for (chain, rule_d, position) in batch_rules:
250250
iptc_chain = Chain(iptc_table, chain)
251-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
251+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
252252
if position == 0:
253253
# Insert rule in last position -> append
254254
iptc_chain.append_rule(iptc_rule)
@@ -267,7 +267,7 @@ def batch_delete_rules(table, batch_rules, ipv6=False, raise_exc=True):
267267
iptc_table = _batch_begin_table(table, ipv6)
268268
for (chain, rule_d) in batch_rules:
269269
iptc_chain = Chain(iptc_table, chain)
270-
iptc_rule = _encode_iptc_rule(rule_d, ipv6)
270+
iptc_rule = encode_iptc_rule(rule_d, ipv6)
271271
iptc_chain.delete_rule(iptc_rule)
272272
_batch_end_table(table, ipv6)
273273
except Exception as e:
@@ -343,7 +343,7 @@ def _iptc_settarget(iptc_rule, value):
343343
else:
344344
iptc_target = iptc_rule.create_target(value)
345345

346-
def _encode_iptc_rule(rule_d, ipv6=False):
346+
def encode_iptc_rule(rule_d, ipv6=False):
347347
# Sanity check
348348
assert(isinstance(rule_d, dict))
349349
# Basic rule attributes
@@ -367,7 +367,7 @@ def _encode_iptc_rule(rule_d, ipv6=False):
367367
continue
368368
return iptc_rule
369369

370-
def _decode_iptc_rule(iptc_rule, ipv6=False):
370+
def decode_iptc_rule(iptc_rule, ipv6=False):
371371
""" Return a dictionary representation of an iptc_rule """
372372
d = {}
373373
if ipv6==False and iptc_rule.src != '0.0.0.0/0.0.0.0':

0 commit comments

Comments
 (0)