added command_entry_r entry point; updated README.md; added Attributes.md
This commit is contained in:
1 parent
c3f7fd88bb
commit
6274a76e73
4 files changed
+64
-22
No files matched your search
@@ -1,7 +1,8 @@
|
||||
import bs4
|
||||
import sys
|
||||
import os
|
||||
import argparse
|
||||
from typing import Literal
|
||||
from argparse import ArgumentParser, RawDescriptionHelpFormatter, Namespace
|
||||
from glob import glob
|
||||
from .formatters import formatters
|
||||
|
||||
@@ -40,20 +41,29 @@ def convert_dir(path: str, overwrite: bool = False) -> None:
|
||||
convert_file(filepath, overwrite)
|
||||
|
||||
|
||||
def parse_args() -> argparse.Namespace:
|
||||
parser = argparse.ArgumentParser("html_to_django")
|
||||
def parse_args(name: Literal["html_to_django", "html_to_django_r"]) -> Namespace:
|
||||
description = "Converts HTML files with special attributes to Django templates."
|
||||
if name == "html_to_django_r":
|
||||
description = ("Info: This command is identical to html_to_django, but will always replace the input file(s)!"
|
||||
f"\n\n{description}")
|
||||
|
||||
parser = ArgumentParser(name, description=description, formatter_class=RawDescriptionHelpFormatter)
|
||||
|
||||
parser.add_argument("path", help="""
|
||||
The path to a file (or folder of files) to be converted.
|
||||
In case a folder is passed, ALL html files in it (recursivly) will be converted.
|
||||
In case a folder is passed, ALL html files in it (recursively) will be converted.
|
||||
""", type=str)
|
||||
parser.add_argument("-r", "--replace", help="""
|
||||
Replace the input file(s).
|
||||
""", action='store_true')
|
||||
|
||||
if name == "html_to_django":
|
||||
parser.add_argument("-r", "--replace", help="""
|
||||
Replace the input file(s).
|
||||
""", action='store_true')
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def command_entry() -> None:
|
||||
args = parse_args()
|
||||
args = parse_args("html_to_django")
|
||||
path = os.path.abspath(args.path)
|
||||
if os.path.isdir(path):
|
||||
convert_dir(path, args.replace)
|
||||
@@ -61,3 +71,14 @@ def command_entry() -> None:
|
||||
convert_file(path, args.replace)
|
||||
else:
|
||||
sys.exit(f'The path "{path}" does not exist.')
|
||||
|
||||
|
||||
def command_entry_r() -> None:
|
||||
args = parse_args("html_to_django_r")
|
||||
path = os.path.abspath(args.path)
|
||||
if os.path.isdir(path):
|
||||
convert_dir(path, True)
|
||||
elif os.path.isfile(path):
|
||||
convert_file(path, True)
|
||||
else:
|
||||
sys.exit(f'The path "{path}" does not exist.')
|
||||
Reference in new issue
Block a user