Browse Source

Merge pull request #400 from piercecohen1/feature/save-enhancement

Add configurable date format for save helper app
main
Daniel Miessler 10 months ago committed by GitHub
parent
commit
c66887c2a6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 19
      installer/client/cli/save.py

19
installer/client/cli/save.py

@ -8,9 +8,8 @@ from dotenv import load_dotenv
DEFAULT_CONFIG = "~/.config/fabric/.env" DEFAULT_CONFIG = "~/.config/fabric/.env"
PATH_KEY = "FABRIC_OUTPUT_PATH" PATH_KEY = "FABRIC_OUTPUT_PATH"
FM_KEY = "FABRIC_FRONTMATTER_TAGS" FM_KEY = "FABRIC_FRONTMATTER_TAGS"
DATE_FORMAT = "%Y-%m-%d"
load_dotenv(os.path.expanduser(DEFAULT_CONFIG)) load_dotenv(os.path.expanduser(DEFAULT_CONFIG))
DATE_FORMAT = os.getenv("SAVE_DATE_FORMAT", "%Y-%m-%d")
def main(tag, tags, silent, fabric): def main(tag, tags, silent, fabric):
out = os.getenv(PATH_KEY) out = os.getenv(PATH_KEY)
@ -31,15 +30,21 @@ def main(tag, tags, silent, fabric):
print(f"'{sys.argv[0]}' takes a single argument to tag your summary") print(f"'{sys.argv[0]}' takes a single argument to tag your summary")
sys.exit(1) sys.exit(1)
yyyymmdd = datetime.now().strftime(DATE_FORMAT) if DATE_FORMAT:
target = f"{out}{yyyymmdd}-{tag}.md" yyyymmdd = datetime.now().strftime(DATE_FORMAT)
target = f"{out}{yyyymmdd}-{tag}.md"
else:
target = f"{out}{tag}.md"
# don't clobber existing files- add an incremented number to the end instead # don't clobber existing files- add an incremented number to the end instead
would_clobber = True would_clobber = True
inc = 0 inc = 0
while would_clobber: while would_clobber:
if inc > 0: if inc > 0:
target = f"{out}{yyyymmdd}-{tag}-{inc}.md" if DATE_FORMAT:
target = f"{out}{yyyymmdd}-{tag}-{inc}.md"
else:
target = f"{out}{tag}-{inc}.md"
if os.path.exists(target): if os.path.exists(target):
inc += 1 inc += 1
else: else:
@ -49,12 +54,12 @@ def main(tag, tags, silent, fabric):
# Prevent a NoneType ending up in the tags # Prevent a NoneType ending up in the tags
frontmatter_tags = "" frontmatter_tags = ""
if fabric: if fabric:
frontmatter_tags = os.getenv(FM_KEY) frontmatter_tags = os.getenv(FM_KEY) or ""
with open(target, "w") as fp: with open(target, "w") as fp:
if frontmatter_tags or len(tags) != 0: if frontmatter_tags or len(tags) != 0:
fp.write("---\n") fp.write("---\n")
now = datetime.now().strftime(f"{DATE_FORMAT} %H:%M") now = datetime.now().strftime(f"%Y-%m-%d %H:%M")
fp.write(f"generation_date: {now}\n") fp.write(f"generation_date: {now}\n")
fp.write(f"tags: {frontmatter_tags} {tag} {' '.join(tags)}\n") fp.write(f"tags: {frontmatter_tags} {tag} {' '.join(tags)}\n")
fp.write("---\n") fp.write("---\n")

Loading…
Cancel
Save