mirror of
https://gitlab.com/ita1024/waf.git
synced 2024-11-22 18:07:12 +01:00
The json module is available only in Python 2.6, so the import cannot be on the top-level
This commit is contained in:
parent
23ceb2262b
commit
eb5aeb8715
@ -20,7 +20,7 @@ Node: filesystem structure, contains lists of nodes
|
|||||||
(:py:class:`waflib.Node.Nod3`, see the :py:class:`waflib.Context.Context` initializer). A reference to the context owning a node is held as self.ctx
|
(:py:class:`waflib.Node.Nod3`, see the :py:class:`waflib.Context.Context` initializer). A reference to the context owning a node is held as self.ctx
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os, re, sys, shutil, json
|
import os, re, sys, shutil
|
||||||
from waflib import Utils, Errors
|
from waflib import Utils, Errors
|
||||||
|
|
||||||
exclude_regs = '''
|
exclude_regs = '''
|
||||||
@ -135,6 +135,20 @@ class Node(object):
|
|||||||
"""
|
"""
|
||||||
return Utils.readf(self.abspath(), flags, encoding)
|
return Utils.readf(self.abspath(), flags, encoding)
|
||||||
|
|
||||||
|
def write(self, data, flags='w', encoding='ISO8859-1'):
|
||||||
|
"""
|
||||||
|
Write some text to the physical file represented by this node::
|
||||||
|
|
||||||
|
def build(bld):
|
||||||
|
bld.path.make_node('foo.txt').write('Hello, world!')
|
||||||
|
|
||||||
|
:type data: string
|
||||||
|
:param data: data to write
|
||||||
|
:type flags: string
|
||||||
|
:param flags: Write mode
|
||||||
|
"""
|
||||||
|
Utils.writef(self.abspath(), data, flags, encoding)
|
||||||
|
|
||||||
def read_json(self, convert=True, encoding='utf-8'):
|
def read_json(self, convert=True, encoding='utf-8'):
|
||||||
"""
|
"""
|
||||||
Read and parse the contents of this node as JSON::
|
Read and parse the contents of this node as JSON::
|
||||||
@ -151,6 +165,7 @@ class Node(object):
|
|||||||
:rtype: object
|
:rtype: object
|
||||||
:return: Parsed file contents
|
:return: Parsed file contents
|
||||||
"""
|
"""
|
||||||
|
import json # Python 2.6 and up
|
||||||
object_pairs_hook = None
|
object_pairs_hook = None
|
||||||
|
|
||||||
if convert and sys.hexversion < 0x3000000:
|
if convert and sys.hexversion < 0x3000000:
|
||||||
@ -169,20 +184,6 @@ class Node(object):
|
|||||||
|
|
||||||
return json.loads(self.read(encoding=encoding), object_pairs_hook=object_pairs_hook)
|
return json.loads(self.read(encoding=encoding), object_pairs_hook=object_pairs_hook)
|
||||||
|
|
||||||
def write(self, data, flags='w', encoding='ISO8859-1'):
|
|
||||||
"""
|
|
||||||
Write some text to the physical file represented by this node::
|
|
||||||
|
|
||||||
def build(bld):
|
|
||||||
bld.path.make_node('foo.txt').write('Hello, world!')
|
|
||||||
|
|
||||||
:type data: string
|
|
||||||
:param data: data to write
|
|
||||||
:type flags: string
|
|
||||||
:param flags: Write mode
|
|
||||||
"""
|
|
||||||
Utils.writef(self.abspath(), data, flags, encoding)
|
|
||||||
|
|
||||||
def write_json(self, data, pretty=True):
|
def write_json(self, data, pretty=True):
|
||||||
"""
|
"""
|
||||||
Writes a python object as JSON to disk. Files are always written as UTF8 as per the JSON standard::
|
Writes a python object as JSON to disk. Files are always written as UTF8 as per the JSON standard::
|
||||||
@ -195,6 +196,7 @@ class Node(object):
|
|||||||
:type pretty: boolean
|
:type pretty: boolean
|
||||||
:param pretty: Determines if the JSON will be nicely space separated
|
:param pretty: Determines if the JSON will be nicely space separated
|
||||||
"""
|
"""
|
||||||
|
import json # Python 2.6 and up
|
||||||
indent = 2
|
indent = 2
|
||||||
separators = (',', ': ')
|
separators = (',', ': ')
|
||||||
sort_keys = pretty
|
sort_keys = pretty
|
||||||
|
Loading…
Reference in New Issue
Block a user