mirror of
https://github.com/ethauvin/warp-themes.git
synced 2025-04-25 09:07:11 -07:00
Lint + reqs (#7)
This commit is contained in:
parent
8f1d647423
commit
9b6be86ccd
2 changed files with 22 additions and 8 deletions
|
@ -4,20 +4,25 @@ import argparse
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
def get_all_input_files(input_dir: str) -> List[str]:
|
def get_all_input_files(input_dir: str) -> List[str]:
|
||||||
filenames = next(os.walk(input_dir), (None, None, []))[2]
|
filenames = next(os.walk(input_dir), (None, None, []))[2]
|
||||||
files = filter(lambda f: (f.endswith("yaml") or f.endswith("yml")), filenames)
|
files = filter(lambda f: (f.endswith("yaml")
|
||||||
|
or f.endswith("yml")), filenames)
|
||||||
return list(files)
|
return list(files)
|
||||||
|
|
||||||
|
|
||||||
def ensure_output_dir(output_dir: str):
|
def ensure_output_dir(output_dir: str):
|
||||||
if not os.path.exists(output_dir):
|
if not os.path.exists(output_dir):
|
||||||
os.makedirs(output_dir)
|
os.makedirs(output_dir)
|
||||||
|
|
||||||
|
|
||||||
def add_color_to_dict(output: Dict[str, str], obj: Dict[str, str], key: str, prefix: Optional[str] = None):
|
def add_color_to_dict(output: Dict[str, str], obj: Dict[str, str], key: str, prefix: Optional[str] = None):
|
||||||
if not prefix:
|
if not prefix:
|
||||||
prefix = ""
|
prefix = ""
|
||||||
output[f"{prefix}{key}"] = obj[key]
|
output[f"{prefix}{key}"] = obj[key]
|
||||||
|
|
||||||
|
|
||||||
def get_color_dict(input_dir: str, file_name: str) -> Dict[str, str]:
|
def get_color_dict(input_dir: str, file_name: str) -> Dict[str, str]:
|
||||||
file = open(os.path.join(input_dir, file_name), 'r')
|
file = open(os.path.join(input_dir, file_name), 'r')
|
||||||
loaded_theme = yaml.safe_load(file)
|
loaded_theme = yaml.safe_load(file)
|
||||||
|
@ -36,6 +41,7 @@ def get_color_dict(input_dir: str, file_name: str) -> Dict[str, str]:
|
||||||
|
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
|
||||||
def file_name_to_display(file_name: str) -> str:
|
def file_name_to_display(file_name: str) -> str:
|
||||||
file_name = Path(file_name).with_suffix('').name
|
file_name = Path(file_name).with_suffix('').name
|
||||||
|
|
||||||
|
@ -45,6 +51,7 @@ def file_name_to_display(file_name: str) -> str:
|
||||||
output.append(s.capitalize())
|
output.append(s.capitalize())
|
||||||
return " ".join(output)
|
return " ".join(output)
|
||||||
|
|
||||||
|
|
||||||
def gen_svg_for_theme(color_dict: Dict[str, str], svg_template: str) -> str:
|
def gen_svg_for_theme(color_dict: Dict[str, str], svg_template: str) -> str:
|
||||||
output = svg_template
|
output = svg_template
|
||||||
|
|
||||||
|
@ -52,12 +59,17 @@ def gen_svg_for_theme(color_dict: Dict[str, str], svg_template: str) -> str:
|
||||||
output = output.replace(f"{{{key}}}", value)
|
output = output.replace(f"{{{key}}}", value)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description='Generate README.md with embedded SVG previews.')
|
parser = argparse.ArgumentParser(
|
||||||
parser.add_argument('input_dir', type=str, help='Directory from which to read in all Warp themes.')
|
description='Generate README.md with embedded SVG previews.')
|
||||||
|
parser.add_argument('input_dir', type=str,
|
||||||
|
help='Directory from which to read in all Warp themes.')
|
||||||
parser.add_argument('output_dir', type=str, help='Where to save README.md')
|
parser.add_argument('output_dir', type=str, help='Where to save README.md')
|
||||||
parser.add_argument("svg_path", type=str, help="Path to svg template file.")
|
parser.add_argument("svg_path", type=str,
|
||||||
parser.add_argument("intro_file", type=str, help="What should go on top of README.md.")
|
help="Path to svg template file.")
|
||||||
|
parser.add_argument("intro_file", type=str,
|
||||||
|
help="What should go on top of README.md.")
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
ensure_output_dir(args.output_dir)
|
ensure_output_dir(args.output_dir)
|
||||||
|
@ -68,7 +80,7 @@ def main():
|
||||||
markdown.append("| --- | --- |")
|
markdown.append("| --- | --- |")
|
||||||
svg = open(args.svg_path, 'r').read()
|
svg = open(args.svg_path, 'r').read()
|
||||||
svg_dir = os.path.join(args.output_dir, "previews")
|
svg_dir = os.path.join(args.output_dir, "previews")
|
||||||
os.makedirs(svg_dir, exist_ok = True)
|
os.makedirs(svg_dir, exist_ok=True)
|
||||||
|
|
||||||
intro = open(args.intro_file, 'r').read()
|
intro = open(args.intro_file, 'r').read()
|
||||||
|
|
||||||
|
@ -83,9 +95,10 @@ def main():
|
||||||
cell += f"<img src='previews/{input_file}.svg' width='300'>|"
|
cell += f"<img src='previews/{input_file}.svg' width='300'>|"
|
||||||
markdown.append(cell)
|
markdown.append(cell)
|
||||||
|
|
||||||
output_str = intro + "\n".join(markdown)
|
output_str = intro + "\n".join(markdown)
|
||||||
with open(os.path.join(args.output_dir,"README.md"), 'w') as output:
|
with open(os.path.join(args.output_dir, "README.md"), 'w') as output:
|
||||||
output.write(output_str)
|
output.write(output_str)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
1
scripts/requirements.txt
Normal file
1
scripts/requirements.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
PyYAML==5.4.1
|
Loading…
Add table
Add a link
Reference in a new issue