Showing
1 changed file
with
14 additions
and
15 deletions
... | @@ -26,14 +26,12 @@ def get_diff_from_project(): | ... | @@ -26,14 +26,12 @@ def get_diff_from_project(): |
26 | staged_files = [f.decode("utf-8") for f in staged_files] | 26 | staged_files = [f.decode("utf-8") for f in staged_files] |
27 | return staged_files | 27 | return staged_files |
28 | 28 | ||
29 | -def commit_message_parser(messages, endline=1): | 29 | +def commit_message_parser(messages): |
30 | - message = "" | 30 | + result = [] |
31 | for idx, (path, commit) in enumerate(messages.items()): | 31 | for idx, (path, commit) in enumerate(messages.items()): |
32 | click.echo(" - " + " ".join(commit["message"])) | 32 | click.echo(" - " + " ".join(commit["message"])) |
33 | - message += " ".join(commit["message"]) | 33 | + result.append(" ".join(commit["message"])) |
34 | - if len(messages) - 1 != idx: | 34 | + return result |
35 | - message += ("\n" * endline) | ||
36 | - return message | ||
37 | 35 | ||
38 | def tokenizing(code): | 36 | def tokenizing(code): |
39 | data = {"code": code } | 37 | data = {"code": code } |
... | @@ -80,8 +78,11 @@ def commit_autosuggestions(diffs): | ... | @@ -80,8 +78,11 @@ def commit_autosuggestions(diffs): |
80 | commit_message[example.header.new_path] = commit | 78 | commit_message[example.header.new_path] = commit |
81 | return commit_message | 79 | return commit_message |
82 | 80 | ||
83 | -def commit(message): | 81 | +def commit(messages): |
84 | - subprocess.Popen(["git", "commit", "-m", message], stdout=subprocess.PIPE) | 82 | + m = [] |
83 | + for msg in messages: | ||
84 | + m.extend(["-m", msg]) | ||
85 | + subprocess.Popen(["git", "commit"] + m, stdout=subprocess.PIPE) | ||
85 | 86 | ||
86 | @click.group(invoke_without_command=True) | 87 | @click.group(invoke_without_command=True) |
87 | @click.pass_context | 88 | @click.pass_context |
... | @@ -92,25 +93,23 @@ def commit(message): | ... | @@ -92,25 +93,23 @@ def commit(message): |
92 | help='print suggested commit message more detail.') | 93 | help='print suggested commit message more detail.') |
93 | @click.option('--autocommit', '-a', is_flag=True, | 94 | @click.option('--autocommit', '-a', is_flag=True, |
94 | help='automatically commit without asking if you want to commit') | 95 | help='automatically commit without asking if you want to commit') |
95 | -@click.option('--endline', '-e', type=int, default=1, | 96 | +def cli(ctx, file, verbose, autocommit): |
96 | - help='number of endlines for each commit message generated by the diff of each file') | ||
97 | -def cli(ctx, file, verbose, autocommit, endline): | ||
98 | if not ctx.invoked_subcommand: | 97 | if not ctx.invoked_subcommand: |
99 | staged_files = file if file else get_diff_from_project() | 98 | staged_files = file if file else get_diff_from_project() |
100 | staged_files = [f.strip() for f in staged_files] | 99 | staged_files = [f.strip() for f in staged_files] |
101 | diffs = "\n".join(staged_files) | 100 | diffs = "\n".join(staged_files) |
102 | 101 | ||
103 | - messages = commit_autosuggestions(diffs=diffs) | 102 | + result = commit_autosuggestions(diffs=diffs) |
104 | if verbose: | 103 | if verbose: |
105 | click.echo( | 104 | click.echo( |
106 | - json.dumps(messages, indent=4, sort_keys=True) + "\n" | 105 | + json.dumps(result, indent=4, sort_keys=True) + "\n" |
107 | ) | 106 | ) |
108 | 107 | ||
109 | click.echo(click.style('[INFO]', fg='green') + " The generated message is as follows:") | 108 | click.echo(click.style('[INFO]', fg='green') + " The generated message is as follows:") |
110 | - message = commit_message_parser(messages, endline=endline) | 109 | + messages = commit_message_parser(result) |
111 | 110 | ||
112 | if autocommit or click.confirm('Do you want to commit this message?'): | 111 | if autocommit or click.confirm('Do you want to commit this message?'): |
113 | - commit(message) | 112 | + commit(messages) |
114 | 113 | ||
115 | 114 | ||
116 | @cli.command() | 115 | @cli.command() | ... | ... |
-
Please register or login to post a comment