Code Duplication    Length = 15-17 lines in 2 locations

tests/test_hooks.py 2 locations

@@ 39-55 (lines=17) @@
36
        f.write("f.close()\n")
37
38
    if sys.platform.startswith('win'):
39
        post = 'post_gen_project.bat'
40
        with open(os.path.join(hook_dir, post), 'w') as f:
41
            f.write("@echo off\n")
42
            f.write("\n")
43
            f.write("echo post generation hook\n")
44
            f.write("echo. >shell_post.txt\n")
45
    else:
46
        post = 'post_gen_project.sh'
47
        filename = os.path.join(hook_dir, post)
48
        with open(filename, 'w') as f:
49
            f.write("#!/bin/bash\n")
50
            f.write("\n")
51
            f.write("echo 'post generation hook';\n")
52
            f.write("touch 'shell_post.txt'\n")
53
        # Set the execute bit
54
        os.chmod(filename, os.stat(filename).st_mode | stat.S_IXUSR)
55
56
    return post
57
58
@@ 132-146 (lines=15) @@
129
        hook_path = os.path.join(self.hooks_path, 'post_gen_project.sh')
130
131
        if sys.platform.startswith('win'):
132
            post = 'post_gen_project.bat'
133
            with open(os.path.join(self.hooks_path, post), 'w') as f:
134
                f.write("@echo off\n")
135
                f.write("\n")
136
                f.write("echo post generation hook\n")
137
                f.write("echo. >{{cookiecutter.file}}\n")
138
        else:
139
            with open(hook_path, 'w') as fh:
140
                fh.write("#!/bin/bash\n")
141
                fh.write("\n")
142
                fh.write("echo 'post generation hook';\n")
143
                fh.write("touch 'shell_post.txt'\n")
144
                fh.write("touch '{{cookiecutter.file}}'\n")
145
                os.chmod(hook_path, os.stat(hook_path).st_mode | stat.S_IXUSR)
146
147
        hooks.run_script_with_context(
148
            os.path.join(self.hooks_path, self.post_hook),
149
            'tests',