Storyyeller / Krakatau

Java decompiler, assembler, and disassembler
GNU General Public License v3.0
1.95k stars 219 forks source link

'rU' mode generate a backtrace in python 3.11+ #201

Closed martin-feaux closed 2 months ago

martin-feaux commented 10 months ago

Reopen of #161.

Since python 3.11, rU is no longer allowed.

python3 -W iKrakatau/ea9b62d01e53e3ab3de4731e79af2eb7b0fa3766/assemble.py -q -out a.jar -r a/
Traceback (most recent call last):
  File "Krakatau/ea9b62d01e53e3ab3de4731e79af2eb7b0fa3766/assemble.py", line 40, in <module>
    pairs = assembleClass(target)
            ^^^^^^^^^^^^^^^^^^^^^
  File "Krakatau/ea9b62d01e53e3ab3de4731e79af2eb7b0fa3766/assemble.py", line 16, in assembleClass
    with open(filename, 'rU') as f:
         ^^^^^^^^^^^^^^^^^^^^
ValueError: invalid mode: 'rU'
Storyyeller commented 10 months ago

If you just need the assembler or disassembler, I'd recommend using the Rust version.

Kreijstal commented 2 months ago

If you just need the assembler or disassembler, I'd recommend using the Rust version.

I mean it is an easy fix.. and some systems like cygwin dont have rust yet

Storyyeller commented 2 months ago

I just added a quick fix which will hopefully solve the problem, although I only have Python 3.8 installed myself so I can't check for sure.