make gbz80disasm work with python2.6 again

There was an incompatible change to the json module api between py26 and
py27, causing gbz80disasm to not work with py26. The fix is to simply
alias the new loads method to the old read function.

A possibly better plan might be to not support py26 at all.

original-commit-id: db5208b41f8a505f68ddbccb34dca206df9ca77e
This commit is contained in:
Bryan Bishop 2013-01-27 17:13:18 -06:00
parent 2b6ca1f9a8
commit 457c03a49f
2 changed files with 8 additions and 3 deletions

View File

@ -13,6 +13,7 @@ import random
# for capwords
import string
# for python2.6
if not hasattr(json, "dumps"):
json.dumps = json.write

View File

@ -4,10 +4,12 @@ import os
import sys
from copy import copy, deepcopy
from ctypes import c_int8
import json
import random
import json
spacing = "\t"
# New versions of json don't have read anymore.
if not hasattr(json, "read"):
json.read = json.loads
from romstr import RomStr
@ -19,6 +21,8 @@ def load_rom(filename="../baserom.gbc"):
file_handler.close()
return rom
spacing = "\t"
temp_opt_table = [
[ "ADC A", 0x8f, 0 ],
[ "ADC B", 0x88, 0 ],
@ -557,7 +561,7 @@ all_labels = {}
def load_labels(filename="labels.json"):
global all_labels
if os.path.exists(filename):
all_labels = json.loads(open(filename, "r").read())
all_labels = json.read(open(filename, "r").read())
else:
print "You must run crystal.scan_for_predefined_labels() to create \"labels.json\". Trying..."
import crystal