Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor/selene_api #189

Merged
merged 6 commits into from Sep 22, 2022
Merged

Conversation

NeonJarbas
Copy link

@NeonJarbas NeonJarbas commented Aug 25, 2022

refactor to use https://github.com/OpenVoiceOS/selene_api

  • moves identity manager to selene_api
  • moves server api classes to selene_api
  • deprecate MycroftSTT hardcoded plugin in favor of ovos-stt-plugin-selene
  • refactor to use remote settings utils from selene_api
  • re-enabled 2way sync of skills settings (configurable)
    • uses FileWatcher helper class to upload changes real time
  • automatic generation of skill settingsmeta (configurable)
  • re-enable precise upload
  • re-enable backend api unittests under integrationtests for selene_api

@JarbasAl JarbasAl added the refactor code refactor without functional changes label Aug 25, 2022
@JarbasAl JarbasAl added the enhancement New feature or request label Sep 10, 2022
@JarbasAl JarbasAl marked this pull request as ready for review September 10, 2022 14:09
@JarbasAl JarbasAl requested a review from AIIX September 10, 2022 14:11
@JarbasAl
Copy link
Member

@AIIX this new Settings class in selene_api package should plugin nicely with your old skill settings UI PR MycroftAI#2698

you can manipulate skill settings with just the skill_id and auto generate settingsmeta when missing

from selene_api.settings import RemoteSkillSettings

# in ovos-core skill_id is deterministic and safe
# this will also load existing settings file from XDG path
s = RemoteSkillSettings("skill.author") 

# in mycroft-core please ensure a valid remote_id
# in MycroftSkill class you can use
# remote_id = self.settings_meta.skill_gid
# s = RemoteSkillSettings("skill.author", remote_id="@|whatever_msm_decided")
s.download()

s.settings["existing_value"] = True
s.settings["new_value"] = "will NOT show up in UI"
s.upload()

# auto generate new settings meta for all new values before uploading
s.settings["new_value"] = "will show up in UI"
s.generate_meta()  # now "new_value" is in meta
s.upload()

move api tests to integration_tests for selene_api

support runtime backend url changes

fix api unittests

notes on skill manifest and marketplace

comment about manifest upload

configurable 2waysync

restore precise upload

includes MycroftAI#2753

upload meta

settings handling refactor/selene_api

ovos-stt-plugin-selene

requirements.txt

requires_backend decorator
@codecov
Copy link

codecov bot commented Sep 18, 2022

Codecov Report

Merging #189 (7d1bcd1) into dev (6ceb058) will increase coverage by 3.89%.
The diff coverage is 36.93%.

@@            Coverage Diff             @@
##              dev     #189      +/-   ##
==========================================
+ Coverage   50.35%   54.24%   +3.89%     
==========================================
  Files         119      156      +37     
  Lines       10077     9761     -316     
==========================================
+ Hits         5074     5295     +221     
+ Misses       5003     4466     -537     
Impacted Files Coverage Δ
mycroft/audio/__main__.py 0.00% <0.00%> (ø)
mycroft/client/enclosure/__main__.py 0.00% <0.00%> (ø)
mycroft/client/enclosure/mark1/arduino.py 0.00% <0.00%> (ø)
mycroft/client/enclosure/mark1/eyes.py 0.00% <0.00%> (ø)
mycroft/client/enclosure/mark1/mouth.py 0.00% <0.00%> (ø)
mycroft/client/speech/__main__.py 0.00% <0.00%> (ø)
mycroft/client/speech/hotword_factory.py 0.00% <0.00%> (-88.89%) ⬇️
mycroft/client/speech/service.py 0.00% <0.00%> (ø)
mycroft/client/speech/silence.py 0.00% <0.00%> (-42.86%) ⬇️
mycroft/client/text/__init__.py 0.00% <0.00%> (ø)
... and 141 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@JarbasAl JarbasAl added the mycroft-sync cherry pick from upstream label Sep 18, 2022
@JarbasAl JarbasAl merged commit 523e7bf into OpenVoiceOS:dev Sep 22, 2022
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mycroft-sync cherry pick from upstream refactor code refactor without functional changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants