Skip to content

Commit

Permalink
Merge pull request #143 from smeech/main
Browse files Browse the repository at this point in the history
Form URL list
  • Loading branch information
smeech authored Dec 13, 2024
2 parents 8f465a7 + 9489f00 commit 08770c8
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 0 deletions.
19 changes: 19 additions & 0 deletions packages/form-list/0.2.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Form list
## A package for getting a list of expansions from one form via a CSV list.

# Setup
The `package.yml` does not need to be edited.

You will need to edit the entries in the `form_urls.csv`. The sample lines are a good starting point. The basic syntax is:

| Name/description (without quotes) | URL |
| --- | --- |
| gmail | https://gmail.com/ |

**Separate the two fields with a comma.** Remember to save the file! Ensure you retain its UTF-8 encoding - spreadsheet programs may switch to UTF-8-BOM.

## Reuse

You can of course also copy the contents of this package and create multiple form lists with other text. 👍 If you do so, you will need to edit the global variable for the location of the csv file.

Requires Python, but if present should work in all operating systems.
7 changes: 7 additions & 0 deletions packages/form-list/0.2.0/_manifest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: "form-list"
title: "Form URLs List"
description: Uses a CSV to present a list of links and then pastes the chosen URL.
version: 0.2.0
author: Ben Alexander (mistahBen), updated by Stephen Meech (smeech)
tags: ["utility", "internet", "URL", "CSV", "forms"]
homepage: https://github.com/smeech
2 changes: 2 additions & 0 deletions packages/form-list/0.2.0/form_urls.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Espanso documentation, https://espanso.org/docs/
DuckDuckGo, https://duckduckgo.com
54 changes: 54 additions & 0 deletions packages/form-list/0.2.0/package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/espanso/espanso/dev/schemas/match.schema.json

global_vars:
# OS-agnostic derivation of path to CSV file.
- name: urlcsv
type: script
params:
args:
- python
- -c
- |
import os
config_path = os.getenv("CONFIG")
print(os.path.join(config_path, "match", "packages", "form-list", "0.2.0", "form_urls.csv"))
matches:
- trigger: :forms
replace: '{{form_url}}'
vars:
# Read choice-list options from CSV file.
- name: form_names
type: script
params:
args:
- python
- -c
- |
import csv
with open(r'{{urlcsv}}', newline='') as f:
for row in csv.reader(f): print(row[0])
# Form
- name: choice
type: form
params:
layout: |
Get link for:
[[choices]]
fields:
choices:
type: list
values: '{{form_names}}'
# Return paired item as selected above
- name: form_url
type: script
params:
args:
- python
- -c
- |
import csv
with open(r'{{urlcsv}}', newline='') as f:
for row in csv.reader(f):
if row[0] == '{{choice.choices}}':
print(row[1]) ; break

0 comments on commit 08770c8

Please sign in to comment.