From bb21c279494d74c3f1a788434a0f13c541611ed3 Mon Sep 17 00:00:00 2001 From: eclipse Date: Thu, 28 Aug 2025 21:06:45 +0200 Subject: [PATCH] many changes --- README.md | 20 ++++++++++++++ background.js | 19 +++++++++++++ contentscript.js | 42 ++++++++++++++++++++++++++++ icons/icons8-samovar-32.png | Bin 0 -> 4247 bytes icons/icons8-samovar-48.png | Bin 0 -> 4247 bytes icons/icons8-samovar-96.png | Bin 0 -> 4247 bytes icons/samoware-multisave-32.png | Bin 385 -> 0 bytes icons/samoware-multisave-48.png | Bin 522 -> 0 bytes icons/samoware-multisave-96.png | Bin 966 -> 0 bytes manifest.json | 23 ++++++++++------ samoware-multisave.js | 47 -------------------------------- 11 files changed, 95 insertions(+), 56 deletions(-) create mode 100644 README.md create mode 100644 background.js create mode 100644 contentscript.js create mode 100644 icons/icons8-samovar-32.png create mode 100644 icons/icons8-samovar-48.png create mode 100644 icons/icons8-samovar-96.png delete mode 100644 icons/samoware-multisave-32.png delete mode 100644 icons/samoware-multisave-48.png delete mode 100644 icons/samoware-multisave-96.png delete mode 100644 samoware-multisave.js diff --git a/README.md b/README.md new file mode 100644 index 0000000..a53cec6 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# samoware-multisave + +A very-special-use-case Firefox extension. + +## Installation + +You can't install samoware-multisave as a regular browser extension as it is not signed by Mozilla. Load it as a temporary extension instead: + +1. Visit the special Firefox page `about:degugging` +2. Click "This Firefox" +3. Click "Load Temporary Add-on …" +4. Select the file `manifest.json` from the extension's project directory. (Actually, you can use any file from the extension.) + +## Known bugs + +* Does not work with Flatpak Firefox (temporary extensions can't seem to be loaded due to [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1852990)). Use Firefox from Snap instead (`sudo snap install firefox`). + +## Acknowledgements + +[Samovar icon](https://icons8.com/icon/g1dzsG1bI6vw/samovar) from [Icons8](https://icons8.com/) \ No newline at end of file diff --git a/background.js b/background.js new file mode 100644 index 0000000..da7a730 --- /dev/null +++ b/background.js @@ -0,0 +1,19 @@ +console.log("background.js started!"); + +function handlePageactionClick(tab, onClickData) { + console.log("background.js: executing content script"); + let executing = browser.tabs.executeScript({file: "/contentscript.js"}) + executing.then(onExecuted, onExecutionError); +} + +function onExecuted(result) { + console.log(`background.js: content script execution successful with result: ${result}`); +} + +function onExecutionError(error) { + console.error(`background.js: The following error occured while executing a content script: ${error}`); +} + +// add listener for the extension button +browser.pageAction.onClicked.addListener(handlePageactionClick); + diff --git a/contentscript.js b/contentscript.js new file mode 100644 index 0000000..d9bee42 --- /dev/null +++ b/contentscript.js @@ -0,0 +1,42 @@ +console.log("contentscript.js started!"); + +function getCurrentDate() { + let today = new Date(); + let yyyy = today.getFullYear(); + let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! + let dd = String(today.getDate()).padStart(2, '0'); + return yyyy + "-" + mm + "-" + dd; +} + +function extractFileUrlsAndNames() { + return []; +} + +function onStartedDownload(id) { + console.log(`Started downloading: ${id}`); +} + +function onFailedToStartDownload(error) { + console.log(`Download failed: ${error}`); +} + + +let currentDate = getCurrentDate(); +console.log(`contentscript.js: currentDate is ${currentDate}`); + +let files = extractFileUrlsAndNames(); +console.log(`contentscript.js: files is ${files}`); + +for (let i = 0; i < files.length; i++) { + // prefix files[i].filename with currentDate + let prefixedFilename = currentDate + " " + files[i].filename; + + let downloading = browser.downloads.download({ + url: files[i].url, + filename: prefixedFilename, + saveAs: (i == 0) // raise a path chooser dialog for the first file only; all later files will (hopefully!) be saved to the same folder + }); + downloading.then(onStartedDownload, onFailedToStartDownload); +} + +"contentscript.js has finished"; \ No newline at end of file diff --git a/icons/icons8-samovar-32.png b/icons/icons8-samovar-32.png new file mode 100644 index 0000000000000000000000000000000000000000..817633b277842ad8fbe6857b652139b7165c86b2 GIT binary patch literal 4247 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 literal 0 HcmV?d00001 diff --git a/icons/icons8-samovar-48.png b/icons/icons8-samovar-48.png new file mode 100644 index 0000000000000000000000000000000000000000..817633b277842ad8fbe6857b652139b7165c86b2 GIT binary patch literal 4247 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 literal 0 HcmV?d00001 diff --git a/icons/icons8-samovar-96.png b/icons/icons8-samovar-96.png new file mode 100644 index 0000000000000000000000000000000000000000..817633b277842ad8fbe6857b652139b7165c86b2 GIT binary patch literal 4247 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 literal 0 HcmV?d00001 diff --git a/icons/samoware-multisave-32.png b/icons/samoware-multisave-32.png deleted file mode 100644 index f3b76534f255f7934baedd82f6bac94dcd84754c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=38P)xV&*MLAxe$?UwsyPZ&(-PRj?q3R=g-ivKG8L#!BCv{5j6f;O zWiD`u4$6H3c`q3|}O6UK^p2t>@`1|K2!n3wZMSnOMY-#&S&0uhA}SqjXA zZ8YhgUk~?AEKtDF82kRwkkv`;6^zS(Ky$=zdD=8WXP3RA3>?%(nWPL$B=B}O|q00000NkvXXu0mjfg^ilb diff --git a/icons/samoware-multisave-48.png b/icons/samoware-multisave-48.png deleted file mode 100644 index 4e82f3589f1b44fbb9f73fad6525329b4b883f49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 522 zcmV+l0`>igP)3#3}}mmtvd<|0w|< zz!R_nENVyz7*!?Uu@hm0y!BwD6t6~01hd^0=ADAexE_1y3B>Vzp+2+dF zL5Xz@RArubV8JIaFGt7QwrTnz-tZlXj^umKd)rcR6{-fj0{(T+Yrl+EV<=wxeP9V# zRy?O;-^hSz=@6*u_cUZqZ36We`aE@=0^`!uRn_mQ$Rma}fh2MMr9d{~C#Iyx0FP3u zSMv`}eeK1jp=n8tCqZ^Iz@-6QXSYu-q}Hw!LVV~>Dg~A2qs0Pz0nOmj?TJ%VSpWb4 M07*qoM6N<$f{P>5Pyhe` diff --git a/icons/samoware-multisave-96.png b/icons/samoware-multisave-96.png deleted file mode 100644 index 25591e8dd86f0e42c1434100cf37277187348975..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 966 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wk0|Rq~ zr;B4q#hkZut+Pb}CEDck4c+!E*&Ng%;GrnRBI+98t{z&x^FE^{c#Mu*#n+^DO&%XKQP0fAF-?kqP36-6nQ#t?ayEE^M z*m({cfRM9ncVk@wgGG=-8I$ZKYf-M_jphzP1!)a`FIg|2E3Kn0ha=*XE?iSD780G5JQ$2d1C7(f{Xn&%;RWGfTOCF|5%n_;dHb{hpR$);@Wg zy)%oBMQ!L^c*d-bp;q^X--IuzrzCR^noVQ&H@-b{%i+tPSS-pyDm7;@y>p#%`#@;I zY&XU}ZB^Oa%oEHDqGva#9&l!TIz_a+WT(?)hT}#FH}(sv=T7L>5Dr+#eS;;ZS7UcW z^h~?^Ox*z*3Sluf&l}BMxB5GSaDdHs!YY{YehSkF8@iFmSgXXAzjuV1HoC{|#rH-ue7~H%sWl=8OKHd;Z_x`;+B%z-6zs z^v)R>ZVhwUP5S3{a3(Xg7&0E3!H~E}^up8n;1aX*;k8XJ+7I%w=9ORY-okWm`LmaK z*{V^D^MgN^Y~Pv$Q|{AXpynVUtkATy;T?x}G&kGTC zQk$iH%zJWt%P(#4);OCh<-=%c}R{j-TX* myH{hk90zBE!v-4j>sNeI`7UWbkzLb6Mw<&;$T%qMIE6 diff --git a/manifest.json b/manifest.json index 7bb5887..4b0335c 100644 --- a/manifest.json +++ b/manifest.json @@ -3,26 +3,31 @@ "name": "samoware-multisave", "version": "1.0", - "description": "Whne using the groupware CommuniGate with the web application Samoware, this Browser extension saves all files attached to an openend email to a directory of the user's chhosing, prefixing each entry's filename with the current date. Yes, it's quite specific.", + "description": "When using the groupware CommuniGate with the web application Samoware, this browser extension saves all attachments from the currently opened email to a directory of the user's choosing, prefixing each entry's filename with the current date. Yep, it's quite specific.", "icons": { - "48": "icons/samoware-multisave-48.png", - "96": "icons/samoware-multisave-96.png" + "48": "icons/icons8-samovar-48.png", + "96": "icons/icons8-samovar-96.png" }, "permissions": [ "activeTab", + "tabs", "downloads" ], - "browser_action": { - "default_icon": "icons/samoware-multisave-32.png", - "default_title": "Samoware MultiSave" + "page_action": { + "default_icon": "icons/icons8-samovar-32.png", + "default_title": "Samoware MultiSave", + "show_matches": [ + "https://communigate.aip.de/*" + ] }, "background": { "scripts": [ - "samoware-multisave.js" - ] + "background.js" + ], + "persistent": false } -} +} \ No newline at end of file diff --git a/samoware-multisave.js b/samoware-multisave.js deleted file mode 100644 index 0fe9675..0000000 --- a/samoware-multisave.js +++ /dev/null @@ -1,47 +0,0 @@ - - - -function getCurrentDate() { - let today = new Date(); - let yyyy = today.getFullYear(); - let mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0! - let dd = String(today.getDate()).padStart(2, '0'); - return yyyy + "-" + mm + "-" + dd; -} - -function extractFileUrlsAndNames() { - return []; -} - -function onStartedDownload(id) { - console.log(`Started downloading: ${id}`); -} - -function onFailed(error) { - console.log(`Download failed: ${error}`); -} - - - -function handleButtonClick(event) { - let currentDate = getCurrentDate(); - - let files = extractFileUrlsAndNames(); - - for (let i = 0; i < files.length; i++) { - // prefix files[i].filename with currentDate - let prefixedFilename = currentDate + " " + files[i].filename; - - let dl = browser.downloads.download({ - url: files[i].url, - filename: prefixedFilename, - saveAs: (i == 0) // raise a path chooser dialog for the first file only; all later files will (hopefully!) be saved to the same folder - }).then(onStartedDownload, onFailed); - } -} - - - - -// add listener for the extension button -browser.browserAction.onClicked.addListener(handleButtonClick); \ No newline at end of file