Files
pythonProject/synology_api/notestation.py
Victor Alexandrovich Tsyrenschikov ab5d6bf686 EspHome
2025-11-21 00:03:34 +05:00

101 lines
3.7 KiB
Python

from __future__ import annotations
from typing import Optional
from . import base_api
class NoteStation(base_api.BaseApi):
def settings_info(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Setting'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'get'}
return self.request_data(api_name, api_path, req_param)
# TODO success response but need more info about it
'''def notestation_settings_init(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Setting'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'init'}
return self.request_data(api_name, api_path, req_param)'''
def info(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Info'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'get'}
return self.request_data(api_name, api_path, req_param)
def notebooks_info(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Notebook'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def tags_info(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Tag'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def shortcuts(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Shortcut'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def todo(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Todo'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def smart(self) -> dict[str, object] | str: # TODO need to investigate for additional params
api_name = 'SYNO.NoteStation.Smart'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def note_list(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Note'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'list'}
return self.request_data(api_name, api_path, req_param)
def specific_note_id(self, note_id) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Note'
info = self.gen_list[api_name]
api_path = info['path']
if note_id is None:
return 'note_id must be specify, run note_list() and copy object_id that you need'
req_param = {'version': info['maxVersion'], 'method': 'get', 'object_id': note_id}
return self.request_data(api_name, api_path, req_param)
# TODO success response but need additional data
'''def note_idle(self) -> dict[str, object] | str:
api_name = 'SYNO.NoteStation.Note'
info = self.gen_list[api_name]
api_path = info['path']
req_param = {'version': info['maxVersion'], 'method': 'idle'}
return self.request_data(api_name, api_path, req_param)'''