mirror of
https://github.com/Picovoice/porcupine.git
synced 2022-01-28 03:27:53 +03:00
Add specific error classes for Python (#596)
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#
|
||||
|
||||
from .porcupine import Porcupine
|
||||
from .porcupine_error import *
|
||||
from .util import *
|
||||
|
||||
LIBRARY_PATH = pv_library_path('')
|
||||
|
||||
@@ -13,6 +13,8 @@ import os
|
||||
from ctypes import *
|
||||
from enum import Enum
|
||||
|
||||
from porcupine_error import *
|
||||
|
||||
|
||||
class Porcupine(object):
|
||||
"""
|
||||
@@ -37,17 +39,17 @@ class Porcupine(object):
|
||||
ACTIVATION_REFUSED = 11
|
||||
|
||||
_PICOVOICE_STATUS_TO_EXCEPTION = {
|
||||
PicovoiceStatuses.OUT_OF_MEMORY: MemoryError,
|
||||
PicovoiceStatuses.IO_ERROR: IOError,
|
||||
PicovoiceStatuses.INVALID_ARGUMENT: ValueError,
|
||||
PicovoiceStatuses.STOP_ITERATION: StopIteration,
|
||||
PicovoiceStatuses.KEY_ERROR: KeyError,
|
||||
PicovoiceStatuses.INVALID_STATE: ValueError,
|
||||
PicovoiceStatuses.RUNTIME_ERROR: RuntimeError,
|
||||
PicovoiceStatuses.ACTIVATION_ERROR: RuntimeError,
|
||||
PicovoiceStatuses.ACTIVATION_LIMIT_REACHED: PermissionError,
|
||||
PicovoiceStatuses.ACTIVATION_THROTTLED: PermissionError,
|
||||
PicovoiceStatuses.ACTIVATION_REFUSED: PermissionError
|
||||
PicovoiceStatuses.OUT_OF_MEMORY: PorcupineMemoryError,
|
||||
PicovoiceStatuses.IO_ERROR: PorcupineIOError,
|
||||
PicovoiceStatuses.INVALID_ARGUMENT: PorcupineInvalidArgumentError,
|
||||
PicovoiceStatuses.STOP_ITERATION: PorcupineStopIterationError,
|
||||
PicovoiceStatuses.KEY_ERROR: PorcupineKeyError,
|
||||
PicovoiceStatuses.INVALID_STATE: PorcupineInvalidStateError,
|
||||
PicovoiceStatuses.RUNTIME_ERROR: PorcupineRuntimeError,
|
||||
PicovoiceStatuses.ACTIVATION_ERROR: PorcupineActivationError,
|
||||
PicovoiceStatuses.ACTIVATION_LIMIT_REACHED: PorcupineActivationLimitError,
|
||||
PicovoiceStatuses.ACTIVATION_THROTTLED: PorcupineActivationThrottledError,
|
||||
PicovoiceStatuses.ACTIVATION_REFUSED: PorcupineActivationRefusedError
|
||||
}
|
||||
|
||||
class CPorcupine(Structure):
|
||||
|
||||
57
binding/python/porcupine_error.py
Normal file
57
binding/python/porcupine_error.py
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Copyright 2021 Picovoice Inc.
|
||||
#
|
||||
# You may not use this file except in compliance with the license. A copy of the license is located in the "LICENSE"
|
||||
# file accompanying this source.
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
|
||||
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations under the License.
|
||||
#
|
||||
|
||||
class PorcupineError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineMemoryError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineIOError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineInvalidArgumentError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineStopIterationError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineKeyError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineInvalidStateError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineRuntimeError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineActivationError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineActivationLimitError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineActivationThrottledError(PorcupineError):
|
||||
pass
|
||||
|
||||
|
||||
class PorcupineActivationRefusedError(PorcupineError):
|
||||
pass
|
||||
@@ -42,6 +42,7 @@ MANIFEST_IN = """
|
||||
include pvporcupine/LICENSE
|
||||
include pvporcupine/__init__.py
|
||||
include pvporcupine/porcupine.py
|
||||
include pvporcupine/porcupine_error.py
|
||||
include pvporcupine/util.py
|
||||
include pvporcupine/lib/common/porcupine_params.pv
|
||||
include pvporcupine/lib/beaglebone/libpv_porcupine.so
|
||||
|
||||
Reference in New Issue
Block a user