-
Notifications
You must be signed in to change notification settings - Fork 142
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #143 from smeech/main
Form URL list
- Loading branch information
Showing
4 changed files
with
82 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Espanso documentation, https://espanso.org/docs/ | ||
DuckDuckGo, https://duckduckgo.com |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |