More pep8 fixes. A tiny bit of refactoring.
This commit is contained in:
@ -2,16 +2,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Fenrir TTY screen reader
|
||||
# By Chrys, Storm Dragon, and contributers.
|
||||
# By Chrys, Storm Dragon, and contributors.
|
||||
|
||||
from fenrirscreenreader.core import debug
|
||||
from fenrirscreenreader.core.remoteDriver import RemoteDriver as remoteDriver
|
||||
from fenrirscreenreader.core.eventData import FenrirEventType
|
||||
|
||||
import select
|
||||
import socket
|
||||
import os
|
||||
import os.path
|
||||
import select
|
||||
import socket
|
||||
|
||||
from fenrirscreenreader.core import debug
|
||||
from fenrirscreenreader.core.eventData import FenrirEventType
|
||||
from fenrirscreenreader.core.remoteDriver import RemoteDriver as remoteDriver
|
||||
|
||||
|
||||
class driver(remoteDriver):
|
||||
@ -20,27 +20,36 @@ class driver(remoteDriver):
|
||||
|
||||
def initialize(self, environment):
|
||||
self.env = environment
|
||||
self.env['runtime']['ProcessManager'].add_custom_event_thread(
|
||||
self.watch_dog, multiprocess=True)
|
||||
self.env["runtime"]["ProcessManager"].add_custom_event_thread(
|
||||
self.watch_dog, multiprocess=True
|
||||
)
|
||||
|
||||
def watch_dog(self, active, event_queue):
|
||||
# echo "command say this is a test" | socat -
|
||||
# UNIX-CLIENT:/tmp/fenrirscreenreader-deamon.sock
|
||||
socket_file = ''
|
||||
socket_file = ""
|
||||
try:
|
||||
socket_file = self.env['runtime']['SettingsManager'].get_setting(
|
||||
'remote', 'socket_file')
|
||||
socket_file = self.env["runtime"]["SettingsManager"].get_setting(
|
||||
"remote", "socket_file"
|
||||
)
|
||||
except Exception as e:
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'unixDriver watch_dog: Error getting socket file setting: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
if socket_file == '':
|
||||
if self.env['runtime']['SettingsManager'].get_setting(
|
||||
'screen', 'driver') == 'vcsaDriver':
|
||||
socket_file = '/tmp/fenrirscreenreader-deamon.sock'
|
||||
self.env["runtime"]["DebugManager"].write_debug_out(
|
||||
"unixDriver watch_dog: Error getting socket file setting: "
|
||||
+ str(e),
|
||||
debug.DebugLevel.ERROR,
|
||||
)
|
||||
if socket_file == "":
|
||||
if (
|
||||
self.env["runtime"]["SettingsManager"].get_setting(
|
||||
"screen", "driver"
|
||||
)
|
||||
== "vcsaDriver"
|
||||
):
|
||||
socket_file = "/tmp/fenrirscreenreader-deamon.sock"
|
||||
else:
|
||||
socket_file = '/tmp/fenrirscreenreader-' + \
|
||||
str(os.getppid()) + '.sock'
|
||||
socket_file = (
|
||||
"/tmp/fenrirscreenreader-" + str(os.getppid()) + ".sock"
|
||||
)
|
||||
if os.path.exists(socket_file):
|
||||
os.unlink(socket_file)
|
||||
self.fenrirSock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
@ -63,28 +72,37 @@ class driver(remoteDriver):
|
||||
try:
|
||||
rawdata = client_sock.recv(8129)
|
||||
except Exception as e:
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'unixDriver watch_dog: Error receiving data from client: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
rawdata = b'' # Set default empty data if recv fails
|
||||
self.env["runtime"]["DebugManager"].write_debug_out(
|
||||
"unixDriver watch_dog: Error receiving data from client: "
|
||||
+ str(e),
|
||||
debug.DebugLevel.ERROR,
|
||||
)
|
||||
rawdata = b"" # Set default empty data if recv fails
|
||||
|
||||
try:
|
||||
data = rawdata.decode("utf-8").rstrip().lstrip()
|
||||
event_queue.put({"Type": FenrirEventType.remote_incomming,
|
||||
"data": data
|
||||
})
|
||||
event_queue.put(
|
||||
{
|
||||
"Type": FenrirEventType.remote_incomming,
|
||||
"data": data,
|
||||
}
|
||||
)
|
||||
except Exception as e:
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'unixDriver watch_dog: Error decoding/queuing data: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
self.env["runtime"]["DebugManager"].write_debug_out(
|
||||
"unixDriver watch_dog: Error decoding/queuing data: "
|
||||
+ str(e),
|
||||
debug.DebugLevel.ERROR,
|
||||
)
|
||||
finally:
|
||||
# Always close client socket, even if data processing fails
|
||||
try:
|
||||
client_sock.close()
|
||||
except Exception as e:
|
||||
self.env['runtime']['DebugManager'].write_debug_out(
|
||||
'unixDriver watch_dog: Error closing client socket: ' + str(e),
|
||||
debug.DebugLevel.ERROR)
|
||||
self.env["runtime"]["DebugManager"].write_debug_out(
|
||||
"unixDriver watch_dog: Error closing client socket: "
|
||||
+ str(e),
|
||||
debug.DebugLevel.ERROR,
|
||||
)
|
||||
if self.fenrirSock:
|
||||
self.fenrirSock.close()
|
||||
self.fenrirSock = None
|
||||
|
Reference in New Issue
Block a user