diff options
| author | Paul Iannetta <paul.iannetta@ens-lyon.fr> | 2022-04-21 23:39:28 +0200 |
|---|---|---|
| committer | Paul Iannetta <paul.iannetta@ens-lyon.fr> | 2022-04-21 23:39:28 +0200 |
| commit | e5cb4057fda66962ccb710b460a363bd8aab7414 (patch) | |
| tree | b2f06360231f733ca832b86cd0e7f684ab5bf2e3 /.config/imapfilter/imapfilter-common.lua | |
| parent | 580859ae5ceb66280137256c0dbd8ba4744df169 (diff) | |
add offlineimap & imapfilter confs
Diffstat (limited to '.config/imapfilter/imapfilter-common.lua')
| -rwxr-xr-x | .config/imapfilter/imapfilter-common.lua | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/.config/imapfilter/imapfilter-common.lua b/.config/imapfilter/imapfilter-common.lua new file mode 100755 index 0000000..8460bb0 --- /dev/null +++ b/.config/imapfilter/imapfilter-common.lua @@ -0,0 +1,30 @@ +-- Utility function to get IMAP username from pass +function get_imap_username(account) + local str = io.popen('pass institutions/' .. account .. '/id'):read() + return str; +end + +-- Utility function to get IMAP password from pass +function get_imap_password(account) + local str = io.popen('pass institutions/' .. account .. '/pass'):read() + return str; +end + +-- https://stackoverflow.com/a/11402486 +function case_insensitive_pattern(pattern) + + -- find an optional '%' (group 1) followed by any character (group 2) + local p = pattern:gsub("(%%?)(.)", function(percent, letter) + + if percent ~= "" or not letter:match("%a") then + -- if the '%' matched, or `letter` is not a letter, return "as is" + return percent .. letter + else + -- else, return a case-insensitive character class of the matched letter + return string.format("[%s%s]", letter:lower(), letter:upper()) + end + + end) + + return p +end |
