mirror of
https://github.com/StevenBlack/hosts.git
synced 2024-07-02 18:45:52 +02:00
Review of the notion of keepdomaincomments
This patch fix StevenBlack/hosts#777 This patch: * Change the default state of keepdomaincomments. * Indeed, comments are now displayed by default. * But if you don't need comments, feel free to use the argument. * Delete the requirement input when calling the `-k` argument. * Update tests case regarding the new state of keepdomaincomments.
This commit is contained in:
parent
ec362d81c5
commit
c0d661f388
|
@ -86,7 +86,7 @@ class TestGetDefaults(Base):
|
|||
"replace": False,
|
||||
"backup": False,
|
||||
"skipstatichosts": False,
|
||||
"keepdomaincomments": False,
|
||||
"keepdomaincomments": True,
|
||||
"extensionspath": "foo" + self.sep + "extensions",
|
||||
"extensions": [],
|
||||
"compress": False,
|
||||
|
@ -753,10 +753,12 @@ class TestStripRule(Base):
|
|||
self.assertEqual(output, line)
|
||||
|
||||
def test_strip_more_than_two(self):
|
||||
comment = " # comments here galore"
|
||||
|
||||
for line in ["0.0.0.0 twitter.com", "127.0.0.1 facebook.com",
|
||||
"8.8.8.8 google.com", "1.2.3.4 foo.bar.edu"]:
|
||||
output = strip_rule(line + " # comments here galore")
|
||||
self.assertEqual(output, line)
|
||||
output = strip_rule(line + comment)
|
||||
self.assertEqual(output, line + comment)
|
||||
|
||||
|
||||
class TestWriteOpeningHeader(BaseMockDir):
|
||||
|
|
|
@ -60,7 +60,7 @@ def get_defaults():
|
|||
"replace": False,
|
||||
"backup": False,
|
||||
"skipstatichosts": False,
|
||||
"keepdomaincomments": False,
|
||||
"keepdomaincomments": True,
|
||||
"extensionspath": path_join_robust(BASEDIR_PATH, "extensions"),
|
||||
"extensions": [],
|
||||
"compress": False,
|
||||
|
@ -99,8 +99,8 @@ def main():
|
|||
parser.add_argument("--ip", "-i", dest="targetip", default="0.0.0.0",
|
||||
help="Target IP address. Default is 0.0.0.0.")
|
||||
parser.add_argument("--keepdomaincomments", "-k",
|
||||
dest="keepdomaincomments", default=False,
|
||||
help="Keep domain line comments.")
|
||||
dest="keepdomaincomments", action="store_false", default=True,
|
||||
help="Do not keep domain line comments.")
|
||||
parser.add_argument("--noupdate", "-n", dest="noupdate", default=False,
|
||||
action="store_true", help="Don't update from "
|
||||
"host data sources.")
|
||||
|
@ -843,7 +843,10 @@ def normalize_rule(rule, target_ip, keep_domain_comments):
|
|||
rule = "%s %s" % (target_ip, hostname)
|
||||
|
||||
if suffix and keep_domain_comments:
|
||||
rule += " #%s" % suffix
|
||||
if not suffix.strip().startswith('#'):
|
||||
rule += " #%s" % suffix
|
||||
else:
|
||||
rule += " %s" % suffix
|
||||
|
||||
return hostname, rule + "\n"
|
||||
|
||||
|
@ -860,7 +863,10 @@ def normalize_rule(rule, target_ip, keep_domain_comments):
|
|||
rule = "%s %s" % (target_ip, ip_host)
|
||||
|
||||
if suffix and keep_domain_comments:
|
||||
rule += " #%s" % suffix
|
||||
if not suffix.strip().startswith('#'):
|
||||
rule += " #%s" % suffix
|
||||
else:
|
||||
rule += " %s" % suffix
|
||||
|
||||
return ip_host, rule + "\n"
|
||||
|
||||
|
@ -875,9 +881,6 @@ def strip_rule(line):
|
|||
"""
|
||||
Sanitize a rule string provided before writing it to the output hosts file.
|
||||
|
||||
Some sources put comments around their rules, for accuracy we need
|
||||
to strip them the comments are preserved in the output hosts file.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
line : str
|
||||
|
@ -894,7 +897,7 @@ def strip_rule(line):
|
|||
# just return blank
|
||||
return ""
|
||||
else:
|
||||
return split_line[0] + " " + split_line[1]
|
||||
return " ".join(split_line)
|
||||
|
||||
|
||||
def write_opening_header(final_file, **header_params):
|
||||
|
|
Loading…
Reference in New Issue
Block a user