Library globals

Namespace globals . io

View source

Reads and returns a complete file as a string

Functions

basename

dirname

include

is_directory

is_regular_file

load_nasal

Loads Nasal file into namespace and executes it. The namespace (module name) is taken from the optional second argument, or derived from the Nasal file's name. Usage: io.load_nasal(<filename> [, <modulename>]); Example: io.load_nasal(getprop("/sim/fg-root") ~ "/Local/test.nas"); io.load_nasal("/tmp/foo.nas", "test");

read_airport_properties

Load XML file in FlightGear's native <PropertyList> format. file will be located in the airport-scenery directories according to ICAO and filename, i,e in Airports/I/C/A/ICAO.filename.xml If the second, optional target parameter is set, then the properties are loaded to this node in the global property tree. Otherwise they are returned as a separate props.Node tree. Returns the data as a props.Node on success or nil on error. Usage: io.read_airport_properties(<icao>, <filename> [, <props.Node or property-path>]); Examples: var data = io.read_properties("KSFO", "rwyuse");

read_properties

Load XML file in FlightGear's native <PropertyList> format. If the second, optional target parameter is set, then the properties are loaded to this node in the global property tree. Otherwise they are returned as a separate props.Node tree. Returns the data as a props.Node on success or nil on error. Usage: io.read_properties(<filename> [, <props.Node or property-path>]); Examples: var target = props.globals.getNode("/sim/model"); io.read_properties("/tmp/foo.xml", target); var data = io.read_properties("/tmp/foo.xml", "/sim/model"); var data = io.read_properties("/tmp/foo.xml");

readfile

Reads and returns a complete file as a string

readxml

Reads an XML file from an absolute path and returns it as property tree. All nodes will be of type STRING. Data are only written to leafs. Attributes are written as regular nodes with the optional prefix prepended to the name. If the prefix is nil, then attributes are ignored. Returns nil on error.

subdirectories

<path> the path that should be searched for subdirectories returns a vector of subdirectory names

write_properties

Write XML file in FlightGear's native <PropertyList> format. Returns the filename on success or nil on error. If the source is a props.Node that refers to a node in the main tree, then the data are directly written from the tree, yielding a more accurate result. Otherwise the data need to be copied first, which may slightly change node types (FLOAT becomes DOUBLE etc.) Usage: io.write_properties(<filename>, <props.Node or property-path>); Examples: var data = props.Node.new({ a:1, b:2, c:{ d:3, e:4 } }); io.write_properties("/tmp/foo.xml", data); io.write_properties("/tmp/foo.xml", "/sim/model");

writexml

Writes a property tree as returned by readxml() to a file. Children with name starting with <prefix> are again turned into attributes of their parent. <node> must contain exactly one child, which will become the XML file's outermost element.