Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ dist/'
docs/_build
__pycache__/
*.py[cod]
*.egg-info
107 changes: 59 additions & 48 deletions accessible_output2/__init__.py
Original file line number Diff line number Diff line change
@@ -1,48 +1,59 @@
from __future__ import absolute_import
import ctypes
import os
import types
from platform_utils import paths


def load_library(libname, cdll=False):
if paths.is_frozen():
libfile = os.path.join(
paths.embedded_data_path(), "accessible_output2", "lib", libname
)
else:
libfile = os.path.join(paths.module_path(), "lib", libname)
if not os.path.exists(libfile):
_cxfreeze_libfile = os.path.join(
paths.embedded_data_path(), "lib", "accessible_output2", "lib", libname
)
if os.path.exists(_cxfreeze_libfile):
libfile = _cxfreeze_libfile
if cdll:
return ctypes.cdll[libfile]
return ctypes.windll[libfile]


def get_output_classes():
from . import outputs

module_type = types.ModuleType
classes = [
m.output_class
for m in outputs.__dict__.values()
if isinstance(m, module_type) and hasattr(m, "output_class")
]
return sorted(classes, key=lambda c: c.priority)


def find_datafiles():
import platform
from glob import glob
import accessible_output2

if platform.system() != "Windows":
return []
path = os.path.join(accessible_output2.__path__[0], "lib", "*.dll")
results = glob(path)
dest_dir = os.path.join("accessible_output2", "lib")
return [(dest_dir, results)]
from __future__ import absolute_import
import ctypes
import os
import sys
import types
from platform_utils import paths


def _get_nuitka_binary_dir():
"""Get Nuitka onefile extraction directory if running under Nuitka."""
import __main__
return getattr(__main__, "__nuitka_binary_dir", None)


def load_library(libname, cdll=False):
# Check for Nuitka onefile first - it extracts to a temp directory
nuitka_dir = _get_nuitka_binary_dir()
if nuitka_dir:
libfile = os.path.join(nuitka_dir, "accessible_output2", "lib", libname)
elif paths.is_frozen():
libfile = os.path.join(
paths.embedded_data_path(), "accessible_output2", "lib", libname
)
else:
libfile = os.path.join(paths.module_path(), "lib", libname)
if not os.path.exists(libfile):
_cxfreeze_libfile = os.path.join(
paths.embedded_data_path(), "lib", "accessible_output2", "lib", libname
)
if os.path.exists(_cxfreeze_libfile):
libfile = _cxfreeze_libfile
if cdll:
return ctypes.cdll[libfile]
return ctypes.windll[libfile]


def get_output_classes():
from . import outputs

module_type = types.ModuleType
classes = [
m.output_class
for m in outputs.__dict__.values()
if isinstance(m, module_type) and hasattr(m, "output_class")
]
return sorted(classes, key=lambda c: c.priority)


def find_datafiles():
import platform
from glob import glob
import accessible_output2

if platform.system() != "Windows":
return []
path = os.path.join(accessible_output2.__path__[0], "lib", "*.dll")
results = glob(path)
dest_dir = os.path.join("accessible_output2", "lib")
return [(dest_dir, results)]
2 changes: 1 addition & 1 deletion accessible_output2/outputs/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ def _load_com(*names):
from . import system_access
from . import dolphin
from . import pc_talker
from . import zdsr


# import sapi4

Expand Down
2 changes: 1 addition & 1 deletion accessible_output2/outputs/auto.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ def braille(self, *args, **kwargs):
def output(self, *args, **kwargs):
output = self.get_first_available_output()
if output:
output.speak(*args, **kwargs)
output.output(*args, **kwargs)

def is_system_output(self):
"""Returns True if this output is a system output."""
Expand Down
4 changes: 2 additions & 2 deletions accessible_output2/outputs/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ def output(self, text, **options):
RuntimeError: If the requested output doesn't define either speak or braille.
"""
output = False
if self.speak(text, **options):
if self.speak(text, **options) is not False:
output = True
if self.braille(text, **options):
if self.braille(text, **options) is not False:
output = True
if not output:
raise RuntimeError(
Expand Down
42 changes: 0 additions & 42 deletions accessible_output2/outputs/zdsr.py

This file was deleted.

5 changes: 4 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,10 @@
packages=find_packages(),
package_data={"accessible_output2": ["lib/*"]},
zip_safe=False,
install_requires=["libloader", "platform_utils"],
install_requires=[
"libloader",
"platform_utils @ git+https://github.com/accessibleapps/platform_utils.git"
],
extras_require={
':sys_platform == "win32"': ["pywin32", "libloader"],
':sys_platform == "darwin"': ["appscript"],
Expand Down