FAForever / legacy-replay-server

Deprecated live replay server - please go to faf-aio-replayserver for the current one!
https://github.com/FAForever/faf-aio-replayserver
GNU General Public License v3.0
0 stars 3 forks source link

Umlauts in game titles prevents all upcoming replays from being stored #4

Open micheljung opened 6 years ago

micheljung commented 6 years ago

Jaggedappliance reported that no replays are being stored since an hour. The log revealed the following exception repeatedly:

faf-legacy-live-replay-server    | Traceback (most recent call last):
faf-legacy-live-replay-server    |   File "/code/liveReplay/replayServerThread.py", line 94, in readDatas
faf-legacy-live-replay-server    |     self.parent.replays.put(self.replay, gw)
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 599, in put
faf-legacy-live-replay-server    |     self.checkOldReplays()
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 579, in checkOldReplays
faf-legacy-live-replay-server    |     r.forceEnd()
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 96, in forceEnd
faf-legacy-live-replay-server    |     writer.stop()
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 503, in stop
faf-legacy-live-replay-server    |     self.replay.removeWriter(self)
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 223, in removeWriter
faf-legacy-live-replay-server    |     self.done()
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 264, in done
faf-legacy-live-replay-server    |     self.getReplaysInfos()
faf-legacy-live-replay-server    |   File "/code/liveReplay/replays.py", line 148, in getReplaysInfos
faf-legacy-live-replay-server    |     values.append(str(query.value(i)))
faf-legacy-live-replay-server    | UnicodeEncodeError: 'ascii' codec can't encode character u'\xc4' in position 0: ordinal not in range(128)

Therefore I assume that once there's a game with an umlaut in its title, all subsequent replays fail to be stored.