Home > dot_xen

dot_xen

Dot_xen is a project mainly written in Ruby, based on the MIT license.

parsing xen's .xen files for reading and writing

dot_xen

A gem that provides reading and writing of xen files

Usage

mpro% irb

require 'lib/dot_xen' => true puts XenConfigFile::Parser.new.simple_parse(File.read("spec/fixtures/ey00-s00348.xen")).to_s

-- mode: python; --

kernel = "/boot/vmlinuz-2.6.18-xenU" memory = 712 maxmem = 4096 name = "ey00-s00348" vif = [ "bridge=xenbr0" ] root = "/dev/sda1 ro" vcpus = 1 cpu_cap = 100 disk = [ "phy:/dev/ey00-data4/root-s00348,sda1,w", "phy:/dev/ey00-data4/swap-s00348,sda2,w", "phy:/dev/ey00-data4/gfs-00218,sdb1,w!", ] => nil

There's two parts to this

The .simple_parse traverses the tree and builds the representation using the models in lib/xen/ast.rb. It'll return nil if the document is invalid.