Files
2026-10-04 20:12:06 +08:00

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})