Commit Graph

4907 Commits (28d512e54c80ef574394bbda6cf66911dc0d9a10)

Author SHA1 Message Date
Kris Gesling 28d512e54c
Fix shellcheck error on Arch install command (#3092)
Double quote to prevent globbing
2022-04-07 15:45:10 +09:30
Khionu Sybiern 2d15fca581
Add pipewire check for Arch installs (#3091)
Check if pipewire-pulse is installed, installs pulse otherwise

==== Fixed Issues ====
Partial fix: #2980

====  Tech Notes ====
pipewire-pulse is a compat layer, providing a pulseaudio API
2022-04-07 14:45:06 +09:30
Åke c6f7c1ad0a
Shellcheck scripts in root folder (#3090)
* Fix Shellcheck: Add -r flag to read

read will mangle backslashes without it. These are not expected
characters so not explicitly necessary, but also won't hurt.

* Fix Shellcheck SC2086: Double quote variables

* Fix Shellcheck SC2004: dollar sign unnecessary on arithmetic vars

* Fix Shellcheck SC2129: use curly braces to >> file

* Disable shellcheck on sourced venv/bin/activate

* Fix Shellcheck SC1004

Simplify sed-expression to be a single line only removing the need for
the offending / and linefeed

* Fix Shellcheck SC2046 when finding repo root

Splits the check into to files to be able to quote the expressions
in a good way.

* Fix Shellcheck SC2086 Unquoted apt packagaes

This converts the variable APT_PACKAGE_LIST from a string to an array.
This is a safer way to handle arguments according to BashFAQ
(http://mywiki.wooledge.org/BashFAQ/050)

* Fix Shellcheck SC2230 by changing which to command -v

* CICD: Activate shellcheck job for dev_setup.sh

* Shellcheck start-mycroft.sh

This fixes the following shellcheck issues:
- https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |...
- https://www.shellcheck.net/wiki/SC2206 -- Quote to prevent word splitting/g...
- https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...
- https://www.shellcheck.net/wiki/SC2124 -- Assigning an array to a string! A...

The command is added to the CICD run of shellcheck

* Shellcheck stop-mycroft.sh

Fixes the following issues:
- https://www.shellcheck.net/wiki/SC2164 -- Use 'cd ... || exit' or 'cd ... |...
- https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...

The file is now automatically checked by the CICD job

* Shellcheck venv-activate.sh

Fix the following shellcheck issues:
- https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ...
- https://www.shellcheck.net/wiki/SC2145 -- Argument mixes string and array. ...
- https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind...
- https://www.shellcheck.net/wiki/SC2139 -- This expands when defined, not wh...
- https://www.shellcheck.net/wiki/SC2155 -- Declare and assign separately to ...

The help for invalid arg now works when the faulty argument isn't the
first argument

Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
2022-04-07 14:21:26 +09:30
fsa317 ccd577bbf4
Issue-3006 replaced hot_words with hotwords to correctly lookup configuration (#3088) 2022-03-23 11:24:38 +09:30
Kris Gesling 536ea7e9b5
Remove skills dir symlink on --clean (#3086)
* Remove skills dir symlink on --clean

* Add note on --clean about files not removed
2022-03-22 15:47:43 +09:30
Åke 5f4c68e583
Don't overwrite invalid json in config (#2881)
* Separate tests of LocalConf into new test class

* Do not overwrite configs with malformed json

If a config file is loaded and is invalid saves to that file will not be
possible until it's manually restored. The store accepts a force flag to
override this protection.

The method returns True if the store succeeded so call sites can
verbally report the issue as well.
2022-03-07 10:03:10 +09:30
Åke 660b7b9bd3
Merge pull request #3082 from MycroftAI/refactor/python-detect
Send python version detection output to /dev/null
2022-03-02 08:33:42 +01:00
Kris Gesling b583cbbf7e Send python version detection output to /dev/null 2022-03-02 12:14:53 +09:30
Åke e7ddd51256
TTS playback queue singleton (#3055)
* fix issues when remote excepts out

* Remove explicit clear_cache from MimicTTS

* Updates for using singleton TTS playback thread

- Cache is called on all tts's registered as using the thread
- Begin audio and end audio is handled by the playback thread
- Further changes from self.playback to TTS.playback for consistency

* Remove redundant try/except

* Consolidate general and TTS-specific sentence splitting

This performs all sentence-splitting at the same stage. This fixes a
subtle issue where a TTS splits a sentence into chunks and throws an
error on only one of those chunks. The fallback would generate a
sentence for the original un-chunked sentence. possibly saying the same
parts twice.

This also pre-compiles the regexes used to speed things up a bit.

Co-authored-by: Ken <ken.smith@mycroft.ai>
2022-03-02 09:59:57 +09:30
Kris Gesling 36620af703
Remove inflection dependency (#3031)
The dependency was being used for a single string operation that is easily
replaced.
2022-03-01 07:46:21 +09:30
Kris Gesling f0eecc93e1
Bump requests to remove GPL from dependency tree (#3081)
Versions prior to 2.26.0 used a GPL licensed package Chardet.
This has been replaced with charset_normalizer (MIT license).
2022-03-01 07:44:54 +09:30
Åke 012d5a517c
Merge pull request #3080 from MycroftAI/bugfix/pip-install
Fix pip url for Python > 3.6
2022-02-28 21:54:32 +01:00
Daniel McKnight eb97bb339e
Add `supported_languages` parameter to STT and TTS base classes (#3059)
* Add `supported_languages` parameter to STT and TTS base classes

* Refactor `supported_languages` to `available_languages` and updated docstring to be more precise
2022-02-28 15:36:48 +09:30
Åke dd7f7abba6
Shellcheck scripts folder (#3063)
* Remove unused scripts

install-pocketsphinx and install-pygtk is no longer used by the
dev-setup.

* Fix shellcheck issues in scripts

* Remove space in cores argument

* Update my-info.sh script

- Make it use the new method to activate venv if needed
- Improve requirements.txt parsing
- Update process detection from old "screen" setup
- Update log-files paths
- Fix finding mycroft-core folder

* Fix shellcheck issues in mycroft-use.sh

Mainly quoting but also unpacking of arguments and improving some if
statements

* Update shellcheck test to include scripts folder
2022-02-28 14:44:15 +09:30
Kris Gesling df0b8fe212 Remove mplayer audioservice
It is no longer supported by the projects maintainer.
2022-02-28 14:43:10 +09:30
Kris Gesling 909d89e28e Fix pip url for Python > 3.6 2022-02-28 14:35:23 +09:30
Åke Forslund 8ee3e8d640 Add noise_words.list for Swedish 2022-02-24 10:22:57 +09:30
Åke Forslund e1731f53ec Remove unused imports from common_query_skill.py 2022-02-24 10:22:09 +09:30
Åke Forslund 3fa99f288f Handle missing noise words file in CQS
This treats a None result from resolve_resource_file() as a FileNotFound
exception.
2022-02-24 10:22:09 +09:30
luca-vercelli 4791114609
missing initial value (#3061)
Condition

    if [ $disable_precise_later == true ]; 

gives a syntax error if variable is not initialized
2022-02-24 10:21:17 +09:30
Kris Gesling 953cc53e13
Merge pull request #3060 from kleo/dev
Use double bracket for shell conditional
2022-02-24 10:17:11 +09:30
Kris Gesling 99ac12cbf8
Merge pull request #3068 from forslund/bugfix/vk-dialogfile-from-sentence
Voight kampff: Bugfix dialogfile from sentence
2022-02-23 16:44:33 +09:30
TheRealDGD 34f66d234c
Added duration_to_bytes to FileMockMicrophone (#3071)
* Added duration_to_bytes to FileMockMicrophone

Added duration_to_bytes to fix AttributeError: 'FileMockMicrophone' object has no attribute 'duration_to_bytes'
in call from mycroft-core/mycroft/client/speech/mic.py _wait_until_wake_word

* Update wake_word_test.py

Fixed formatting issues

* Update wake_word_test.py

Fixed formatting

* Remove whitespaces for PEP8

Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
2022-02-23 16:08:46 +09:30
Kris Gesling f556f84412
Add phonetic spellings for IP and Wikipedia (#3023)
Co-authored-by: jarbasal <jarbasai@mailfence.com>
2022-02-23 15:42:16 +09:30
Kris Gesling 1ae6900b26
Remove ResponsiveVoice TTS module from core (#3049)
This module in its current format does not work due to API changes.
There is also a community built plugin that is now described in our
documentation.
2022-02-23 15:40:53 +09:30
Aditya Mehra 5d88eb3a33
Fix: show text delegate as per autofit label refactor (#3065)
* fix show text delegate as per autofit label refactor

* Make rectangle containing text transparent

For different background colors, the background on the card should be set.

Co-authored-by: Kris Gesling <kris.gesling@mycroft.ai>
2022-02-23 15:31:19 +09:30
Kris Gesling 0dadc9ba07
Switch CLA Checker to new credentials (#3077) 2022-02-23 14:47:03 +09:30
Åke a487f66958
Select the proper get-pip url for Python 3.6 (#3073)
The bootstrap script no longer supports Python 3.6, instead it
recommends python 3.6 users to use an alternative url.
2022-02-14 15:10:24 +09:30
Åke Forslund f8aa77c8e7 VK simplify dialog matching
This uses the existing dialog renderer and the standard format library
to in two steps create a regex where the {elements} in a dialog is
replaced with ".*" to match the given sentence.
2022-01-28 21:48:25 +01:00
Åke Forslund a3fd830cb0 VK: Expand the parentheses from dialog files 2022-01-26 20:09:12 +01:00
Åke Forslund 825b3879a5 VK: Fix regex used in _match_dialog_patterns
A redundant step caused issue when performing tests in the tv-remove-control-skill
2022-01-25 07:15:31 +01:00
Åke Forslund 03ef7f4b21 VK: Include locale folders in dialog_from_sentence
Only dialog folder was used previously this adds globbing through the
locale/lang/ folder and it's subfolders
2022-01-25 07:15:31 +01:00
Kleo Bercero 6d66b800dc Use double bracket 2022-01-01 19:49:36 +08:00
Kris Gesling 3d963cee40
Merge pull request #3047 from forslund/feature/do-not-create-identity-folder
Do not create identity folder when trying to read the identity file
2021-12-13 10:07:11 +09:30
Kris Gesling 2411f5d317
Merge pull request #3043 from MycroftAI/feature/pyxdg-update
Update pyxdg to ensure Python3.8 compatibility
2021-12-13 10:06:30 +09:30
Kris Gesling 947b7f3fc7
Merge pull request #3030 from forslund/cicd/shellcheck-directives
Use shellcheck directive instead of excludes
2021-12-13 10:06:15 +09:30
Kris Gesling 4061a04bb4
Merge pull request #3014 from putnik/dev
Update Russian words and dialogues
2021-12-13 10:05:51 +09:30
devs-mycroft 322a4c5599 Version bump from 21.2.1 to 21.2.2 2021-12-10 04:51:54 +00:00
Åke Forslund 4dd3dd3027 Add log if an exception loading identity occurs 2021-12-05 16:47:00 +01:00
Åke Forslund b342ab70c3 Only try to open the identity2.json if it exists 2021-12-05 16:46:39 +01:00
Kris Gesling ae99974398
Merge pull request #3045 from forslund/bugfix/config-creation-at-import
Do not create configs folders until writing
2021-12-01 09:17:41 +09:30
Kris Gesling d479a79b7e
Merge pull request #3033 from forslund/bugfix/config
Fix config priority
2021-12-01 09:13:28 +09:30
Åke Forslund 6b5d45e507 Do not create configs folders until writing
This replaces save_*_path with usage of the xdg_*_home when handling
config files. This means the config folders will not be created unless
actually written to.

The check for whether a directory needs to be created is handled behind
a lock to avoid race conditions
2021-11-30 22:50:09 +01:00
Kris Gesling bdfb7c3981 Update pyxdg for Python3.8 compatibility 2021-11-30 22:20:12 +09:30
Kris Gesling 8e319b49ef
Merge pull request #3042 from HFabi/feature/issue-3041
Issue-3041 - Install pip for python version specified by argument in dev_setup
2021-11-30 07:09:26 +09:30
Fabian Heck d9c280afd4 Issue-3041 - Install pip for python version specified by argument in dev_setup 2021-11-29 16:57:34 +01:00
Kris Gesling c3bd1f2c5f
Merge pull request #3039 from rooky-c3bo/bugfix/issue-3026
Issue-3026 - Update Gentoo libffi dependency reference
2021-11-29 12:12:58 +09:30
Bahadır Yaren bd85c94cdb Issue-3026 - Fixing Gentoo dependency 2021-11-25 12:21:00 +01:00
Kris Gesling 89cfad7943
Check if GUI is connected rather than maintain list of platforms (#3025)
* Check if GUI is connected rather than maintain list of platforms

There are already many Mycroft platforms that have GUIs
and this will only grow. We want to know if the device
has a GUI connected rather than if it is in a pre-defined
list of platforms.

* Create a mock GUI with a settable connected attribute
2021-11-24 14:51:10 +09:30
Åke Forslund b0f9a10e71 Disable source lookup errors 2021-11-23 11:56:54 +01:00