Skip to content

Commit 275b15b

Browse files
committed
Unicode for OSX fixes
1 parent 2eee94d commit 275b15b

File tree

6 files changed

+35
-27
lines changed

6 files changed

+35
-27
lines changed

resources/lib/kodilogging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ def log(loglevel=None, msg=''):
6363
msg = msg.decode("utf-8")
6464
if KodiLogger.kodirunning:
6565
message = u"$$$ [%s] - %s" % (u'kodi.callbacks', msg)
66-
xbmc.log(msg=message.encode("utf-8", errors='replace'), level=loglevel)
66+
xbmc.log(msg=message.encode("utf-8", 'replace'), level=loglevel)
6767
else:
6868
print msg

resources/lib/tasks/taskHttp.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,15 @@ def sendRequest(self, session, verb, url, postget=False):
111111
return err, msg
112112
if verb == 'POST' or verb == 'PUT':
113113
prepped.headers['Content-Type'] = self.taskKwargs['content-type']
114-
msg = u'Prepped URL: %s\nBody: %s' % (prepped.url.decode('utf-8'), prepped.body.decode('utf-8'))
114+
try:
115+
pu = prepped.url.decode('utf-8')
116+
except (AttributeError, UnicodeDecodeError):
117+
pu = u''
118+
try:
119+
pb = prepped.body.decode('utf-8')
120+
except (AttributeError, UnicodeDecodeError):
121+
pb = u''
122+
msg = u'Prepped URL: %s\nBody: %s' % (pu, pb)
115123
sys.exc_clear()
116124
try:
117125
resp = session.send(prepped, timeout=20)
@@ -121,7 +129,7 @@ def sendRequest(self, session, verb, url, postget=False):
121129
if resp.text == '':
122130
respmsg = u'No response received'
123131
else:
124-
respmsg = resp.text.decode('unicode_escape', errors='ignore')
132+
respmsg = resp.text.decode('unicode_escape', 'ignore')
125133
msg += u'\nResponse for %s: %s' %(verb, respmsg)
126134
resp.close()
127135
except requests.ConnectionError:

resources/lib/tasks/taskJson.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@ def run(self):
5656
data = json.dumps(self.publisherKwargs)
5757
try:
5858
qs = u'{ "jsonrpc": "2.0", "id": 0, "method": "JSONRPC.NotifyAll", "params": {"sender":"%s", "message":"%s", "data":%s} }' %(self.taskKwargs['jsonnotify'], message, data)
59-
qs = qs.encode('utf-8', errors='ignore')
59+
qs = qs.encode('utf-8', 'ignore')
6060
json_query = xbmc.executeJSONRPC(qs)
61-
json_query = unicode(json_query, 'utf-8', errors='ignore')
61+
json_query = unicode(json_query, 'utf-8', 'ignore')
6262
json_response = json.loads(json_query)
6363
except Exception:
6464
e = sys.exc_info()[0]

resources/lib/tasks/taskScript.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def run(self):
159159
stdoutdata, stderrdata = p.communicate()
160160
if stdoutdata is not None:
161161
fse = sys.getfilesystemencoding()
162-
stdoutdata = stdoutdata.decode(fse, errors='ignore').strip()
162+
stdoutdata = stdoutdata.decode(fse, 'ignore').strip()
163163
if stdoutdata != '':
164164
msg += _(u'Process returned data: [%s]\n') % stdoutdata
165165
else:
@@ -168,7 +168,7 @@ def run(self):
168168
msg += _(u'Process returned no data\n')
169169
if stderrdata is not None:
170170
fse = sys.getfilesystemencoding()
171-
stderrdata = stderrdata.decode(fse, errors='ignore').strip()
171+
stderrdata = stderrdata.decode(fse, 'ignore').strip()
172172
if stderrdata != '':
173173
msg += _(u'Process returned error: %s') % stderrdata
174174
except ValueError, e:
@@ -182,7 +182,7 @@ def run(self):
182182
err = True
183183
if hasattr(e, 'message'):
184184
msg = unicode(e.message)
185-
msg = msg + u'\n' +traceback.format_exc().decode('utf-8')
185+
msg = msg + u'\n' +traceback.format_exc().decode('utf-8', 'ignore')
186186
finally:
187187
os.chdir(cwd)
188188
self.threadReturn(err, msg)

resources/lib/tests/tstScript.sh

100644100755
File mode changed.

resources/lib/utils/poutil.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -697,25 +697,25 @@ def homepath():
697697
return ret
698698

699699

700-
class ReversibleDict(dict):
701-
def __init__(self, *args, **kwargs):
702-
super(ReversibleDict, self).__init__(*args, **kwargs)
703-
self.rev = {v: k for k, v in self.items()}
704-
705-
def __delitem__(self, k):
706-
del self.rev[self[k]]
707-
del super(ReversibleDict, self)[k]
708-
709-
def __setitem__(self, k, v):
710-
try:
711-
del self.rev[self[k]]
712-
except KeyError:
713-
pass
714-
super(ReversibleDict, self)[k] = v
715-
self.rev[v] = k
716-
717-
def lookup(self, v):
718-
return self.rev[v]
700+
# class ReversibleDict(dict):
701+
# def __init__(self, *args, **kwargs):
702+
# super(ReversibleDict, self).__init__(*args, **kwargs)
703+
# self.rev = {v: k for k, v in self.items()}
704+
#
705+
# def __delitem__(self, k):
706+
# del self.rev[self[k]]
707+
# del super(ReversibleDict, self)[k]
708+
#
709+
# def __setitem__(self, k, v):
710+
# try:
711+
# del self.rev[self[k]]
712+
# except KeyError:
713+
# pass
714+
# super(ReversibleDict, self)[k] = v
715+
# self.rev[v] = k
716+
#
717+
# def lookup(self, v):
718+
# return self.rev[v]
719719

720720

721721
if __name__ == '__main__':

0 commit comments

Comments
 (0)