Browse Source

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

Add configurable date format for save helper app
main
Daniel Miessler 6 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