mirror of
https://github.com/SteamFramelyHomebrew/framely.git
synced 2026-10-18 05:01:23 +02:00
23 lines
1.1 KiB
Python
23 lines
1.1 KiB
Python
#!/usr/bin/python3
|
|
import os,pathlib
|
|
from framely import serve
|
|
|
|
data=pathlib.Path(os.environ.get('FRAMELY_DATA_DIR','/tmp/framely-example'))
|
|
def initialize(context):
|
|
data.mkdir(parents=True,exist_ok=True)
|
|
(data/'version.txt').write_text(context['version'])
|
|
return {'ready':True}
|
|
def stop(context):
|
|
return {'stopped':True}
|
|
def dispatch(method,params):
|
|
if method=='identity':
|
|
try:list(pathlib.Path('/home/steamos').iterdir());accessible=True
|
|
except (OSError,PermissionError):accessible=False
|
|
return {'uid':os.getuid(),'gid':os.getgid(),'home':os.environ.get('HOME'),'dataDir':str(data),'steamHomeAccessible':accessible}
|
|
if method=='save':
|
|
text=str(params.get('text',''))[:4096];(data/'note.txt').write_text(text);return {'saved':text}
|
|
if method=='read':return {'text':(data/'note.txt').read_text() if (data/'note.txt').exists() else ''}
|
|
if method=='notification.action':return {'action':params.get('action'),'notification':params.get('id')}
|
|
raise ValueError('Unknown method')
|
|
serve(dispatch,{'onInstall':initialize,'onUpdate':initialize,'onStart':initialize,'onStop':stop,'onUninstall':stop,'onCrashCleanup':stop})
|