graykode

(remove) endline argument

......@@ -26,14 +26,12 @@ def get_diff_from_project():
staged_files = [f.decode("utf-8") for f in staged_files]
return staged_files
def commit_message_parser(messages, endline=1):
message = ""
def commit_message_parser(messages):
result = []
for idx, (path, commit) in enumerate(messages.items()):
click.echo(" - " + " ".join(commit["message"]))
message += " ".join(commit["message"])
if len(messages) - 1 != idx:
message += ("\n" * endline)
return message
result.append(" ".join(commit["message"]))
return result
def tokenizing(code):
data = {"code": code }
......@@ -80,8 +78,11 @@ def commit_autosuggestions(diffs):
commit_message[example.header.new_path] = commit
return commit_message
def commit(message):
subprocess.Popen(["git", "commit", "-m", message], stdout=subprocess.PIPE)
def commit(messages):
m = []
for msg in messages:
m.extend(["-m", msg])
subprocess.Popen(["git", "commit"] + m, stdout=subprocess.PIPE)
@click.group(invoke_without_command=True)
@click.pass_context
......@@ -92,25 +93,23 @@ def commit(message):
help='print suggested commit message more detail.')
@click.option('--autocommit', '-a', is_flag=True,
help='automatically commit without asking if you want to commit')
@click.option('--endline', '-e', type=int, default=1,
help='number of endlines for each commit message generated by the diff of each file')
def cli(ctx, file, verbose, autocommit, endline):
def cli(ctx, file, verbose, autocommit):
if not ctx.invoked_subcommand:
staged_files = file if file else get_diff_from_project()
staged_files = [f.strip() for f in staged_files]
diffs = "\n".join(staged_files)
messages = commit_autosuggestions(diffs=diffs)
result = commit_autosuggestions(diffs=diffs)
if verbose:
click.echo(
json.dumps(messages, indent=4, sort_keys=True) + "\n"
json.dumps(result, indent=4, sort_keys=True) + "\n"
)
click.echo(click.style('[INFO]', fg='green') + " The generated message is as follows:")
message = commit_message_parser(messages, endline=endline)
messages = commit_message_parser(result)
if autocommit or click.confirm('Do you want to commit this message?'):
commit(message)
commit(messages)
@cli.command()
......