Python 2.5 support: avoid namedtuple, using simplejson if json doesn't exist
This commit is contained in:
parent
b69a89b574
commit
5fdbe25295
|
@ -5,7 +5,6 @@ copyright_stmt = '(* Copyright (C) 2012 Tony Garnock-Jones. All rights reserved.
|
|||
|
||||
import sys
|
||||
import xml.dom.minidom
|
||||
from collections import namedtuple
|
||||
|
||||
###########################################################################
|
||||
# XML utils
|
||||
|
@ -82,27 +81,39 @@ class DatalikeMixin:
|
|||
def match_clause(self):
|
||||
return ' | ' + self.pattern() + ' ->'
|
||||
|
||||
class Class(DatalikeMixin,
|
||||
namedtuple('Class', 'index name fields methods'.split())):
|
||||
class Class(DatalikeMixin):
|
||||
def __init__(self, index, name, fields, methods):
|
||||
self.index = index
|
||||
self.name = name
|
||||
self.fields = fields
|
||||
self.methods = methods
|
||||
|
||||
@property
|
||||
def full_name(self):
|
||||
return self.name + '-properties'
|
||||
|
||||
class Method(DatalikeMixin,
|
||||
namedtuple('Method', ['class_name',
|
||||
'class_index',
|
||||
'has_content',
|
||||
'deprecated',
|
||||
'index',
|
||||
'name',
|
||||
'synchronous',
|
||||
'responses',
|
||||
'fields'])):
|
||||
class Method(DatalikeMixin):
|
||||
def __init__(self, class_name, class_index, has_content, deprecated,
|
||||
index, name, synchronous, responses, fields):
|
||||
self.class_name = class_name
|
||||
self.class_index = class_index
|
||||
self.has_content = has_content
|
||||
self.deprecated = deprecated
|
||||
self.index = index
|
||||
self.name = name
|
||||
self.synchronous = synchronous
|
||||
self.responses = responses
|
||||
self.fields = fields
|
||||
|
||||
@property
|
||||
def full_name(self):
|
||||
return self.class_name + '-' + self.name
|
||||
|
||||
Field = namedtuple('Field', 'name type reserved'.split())
|
||||
class Field:
|
||||
def __init__(self, name, type, reserved):
|
||||
self.name = name
|
||||
self.type = type
|
||||
self.reserved = reserved
|
||||
|
||||
def load_fields(e):
|
||||
return [Field(attr(f, 'name'),
|
||||
|
|
|
@ -4,7 +4,10 @@ from __future__ import with_statement
|
|||
copyright_stmt = '(* Copyright (C) 2012 Tony Garnock-Jones. All rights reserved. *)'
|
||||
|
||||
import sys
|
||||
import json
|
||||
try:
|
||||
import json
|
||||
except:
|
||||
import simplejson as json
|
||||
|
||||
def mlify(s):
|
||||
s = s.replace('-', '_')
|
||||
|
|
Loading…
Reference in New Issue