From 9b909fd89724a15eb29eed41d40a33d998046555 Mon Sep 17 00:00:00 2001 From: undergrinder Date: Tue, 26 May 2026 11:14:52 +0200 Subject: [PATCH] Add dadd package --- packages/dadd/0.1.0/README.md | 21 +++++++++++++++++++++ packages/dadd/0.1.0/_manifest.yml | 7 +++++++ packages/dadd/0.1.0/package.yml | 29 +++++++++++++++++++++++++++++ packages/dadd/0.1.0/screenshot.png | Bin 0 -> 12954 bytes 4 files changed, 57 insertions(+) create mode 100644 packages/dadd/0.1.0/README.md create mode 100644 packages/dadd/0.1.0/_manifest.yml create mode 100644 packages/dadd/0.1.0/package.yml create mode 100644 packages/dadd/0.1.0/screenshot.png diff --git a/packages/dadd/0.1.0/README.md b/packages/dadd/0.1.0/README.md new file mode 100644 index 00000000..f173a6d4 --- /dev/null +++ b/packages/dadd/0.1.0/README.md @@ -0,0 +1,21 @@ +# dadd - Date Add + +This package is an utility for quick date calculation like insert the date that is +12 from tomorrow, +or -5 day from today. + +The package contain only one trigger that is :dadd (short for date add). + +![screenshot](screenshot.png) + +The form has two field: + - Day num: Number of days to add or extract. For extraction use negative number. + - Date base (YYYY-MM-DD format): The date that will be used for add or extract. 'Today' and 'Now' are also valid values. 'Today' is the default. + +The output will be also in YYYY-MM-DD format. + +# Installation + +``` +espanso install dadd +espanso restart +``` diff --git a/packages/dadd/0.1.0/_manifest.yml b/packages/dadd/0.1.0/_manifest.yml new file mode 100644 index 00000000..c7572516 --- /dev/null +++ b/packages/dadd/0.1.0/_manifest.yml @@ -0,0 +1,7 @@ +name: "dadd" +title: "Date add package" +description: An utility for quick date calculations +homepage: "https://github.com/undergrinder/espanso-hub/tree/main/packages/dadd/0.1.0" +version: 0.1.0 +author: undergrinder +tags: ["math", "utility"] diff --git a/packages/dadd/0.1.0/package.yml b/packages/dadd/0.1.0/package.yml new file mode 100644 index 00000000..e37277fd --- /dev/null +++ b/packages/dadd/0.1.0/package.yml @@ -0,0 +1,29 @@ +matches: + - trigger: ":dadd" + replace: "{{result_dateadd}}" + vars: + - name: "input_dateadd" + type: "form" + params: + layout: | + Day num: [[dayTimeDelta]] + Date base (YYYY-MM-DD format): [[dateBase]] + fields: + dayTimeDelta: + default: "1" + dateBase: + default: "today" + - name: result_dateadd + type: script + params: + args: + - python + - -c + - | + from datetime import datetime, timedelta + clean_input = '{{input_dateadd.dateBase}}'.strip("' \"").replace('.', '-') + if clean_input in ['now', 'today']: + dt = datetime.today().date() + else: + dt = datetime.strptime(clean_input, '%Y-%m-%d') + print(f"{dt + timedelta(days=int('{{input_dateadd.dayTimeDelta}}'))}") diff --git a/packages/dadd/0.1.0/screenshot.png b/packages/dadd/0.1.0/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..1d08b3f5fcda1dafcd20f3d22ab6123299f22274 GIT binary patch literal 12954 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 bPyRh#@qw1_X}|sbcZHmkl4Pa0VbK2o6+q|S literal 0 HcmV?d00001