DIY_GIT_in_Python/ugit/cli.py

36 lines
756 B
Python
Raw Normal View History

2024-02-10 18:56:22 +01:00
import argparse
2024-02-10 19:09:11 +01:00
from pathlib import Path
from . import data
2024-02-10 18:56:22 +01:00
2024-02-10 18:35:25 +01:00
def main():
2024-02-10 18:56:22 +01:00
args = parse_args()
args.func(args)
def parse_args():
parser = argparse.ArgumentParser()
commands = parser.add_subparsers(dest="command")
commands.required = True
init_parser = commands.add_parser("init")
init_parser.set_defaults(func=init)
2024-02-12 19:35:14 +01:00
hash_object_parser = commands.add_parser("hash-object")
hash_object_parser.set_defaults(func=hash_object)
hash_object_parser.add_argument("file")
2024-02-10 18:56:22 +01:00
return parser.parse_args()
def init(args):
2024-02-10 19:09:11 +01:00
data.init()
print(f"Initialized empty ugit repository in {Path.cwd()}/{data.GIT_DIR}")
2024-02-12 19:35:14 +01:00
def hash_object(args):
with open(args.file, "rb") as f:
print(data.hash_object(f.read()))