hook/notify: add android support

This commit is contained in:
ed 2023-01-29 15:14:22 +00:00
parent aecae552a4
commit 5f54d534e3
2 changed files with 26 additions and 8 deletions

View file

@ -6,8 +6,8 @@ these programs either take zero arguments, or a filepath (the affected file), or
# after upload
* [notify.py](notify.py) shows a desktop notification
* [discord-announce.py](discord-announce.py) announces new uploads on discord using webhooks
* [notify.py](notify.py) shows a desktop notification ([example](https://user-images.githubusercontent.com/241032/215335767-9c91ed24-d36e-4b6b-9766-fb95d12d163f.png))
* [discord-announce.py](discord-announce.py) announces new uploads on discord using webhooks ([example](https://user-images.githubusercontent.com/241032/215304439-1c1cb3c8-ec6f-4c17-9f27-81f969b1811a.png))
* [reject-mimetype.py](reject-mimetype.py) rejects uploads unless the mimetype is acceptable

30
bin/hooks/notify.py Normal file → Executable file
View file

@ -1,20 +1,24 @@
#!/usr/bin/env python3
import os
import sys
import subprocess as sp
from plyer import notification
_ = r"""
show os notification on upload; works on windows, linux, macos
show os notification on upload; works on windows, linux, macos, android
depdencies:
python3 -m pip install --user -U plyer
windows: python3 -m pip install --user -U plyer
linux: python3 -m pip install --user -U plyer
macos: python3 -m pip install --user -U plyer pyobjus
android: just termux and termux-api
example usage as global config:
example usages; either as global config (all volumes) or as volflag:
--xau f,bin/hooks/notify.py
example usage as a volflag (per-volume config):
-v srv/inc:inc:c,xau=f,bin/hooks/notify.py
^^^^^^^^^^^^^^^^^^^^^^^^^^^
parameters explained,
xau = execute after upload
@ -23,7 +27,21 @@ parameters explained,
def main():
notification.notify(title="new file uploaded", message=sys.argv[1], timeout=10)
dp, fn = os.path.split(sys.argv[1])
msg = "🏷️ {}\n📁 {}".format(fn, dp)
title = "File received"
if "com.termux" in sys.executable:
sp.run(["termux-notification", "-t", title, "-c", msg])
return
icon = "emblem-documents-symbolic" if sys.platform == "linux" else ""
notification.notify(
title=title,
message=msg,
app_icon=icon,
timeout=10,
)
if __name__ == "__main__":