Skip to content

"TypeError: ord() expected a character, but string of length 0 found" in decoders.py v0.6.5 #184

@AldoErco

Description

@AldoErco

Hi.
I am trying to decode s2gs files on Mac using sc2printer builtin script and get this error:
"AttributeError: 'ByteDecoder' object has no attribute 'read_unit64'"
It's related to line 371 of decoders.py where I can see:
"data = self._buffer.read_unit64()"
Reading the docs ("https://media.readthedocs.org/pdf/sc2reader/latest/sc2reader.pdf") on page 19 claims ByteDecoder is expected to have a read_uint64() and not a read_unit64() member.
Ok so I unpack the .egg file, change that line and repack it.
This is just a hint to you to fix it on your currently (0.6.5) published files.
But now to the error I can't fix myself.
This time I try to open a replay and get:
"File "/Library/Python/2.7/site-packages/sc2reader-0.6.5-py2.7.egg/sc2reader/decoders.py", line 339, in read_struct
TypeError: ord() expected a character, but string of length 0 found"
The code line is:
"datatype = ord(self._buffer.read(1)) if datatype is None else datatype"
This time I don't know what to do.

Please help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions