Pycf

Configuration file parser for Python 2.7 basic configuration file.

see ConfigParser.py.

Gem Version Build Status Coverage Status

Installation

Add this line to your application's Gemfile:

gem 'pycf'

And then execute:

$ bundle

Or install it yourself as:

$ gem install pycf

Usage

load

require 'pycf'

python_config = "[DEFAULT]\nServerAliveInterval = 45\nCompression = yes\nCompressionLevel = 9\nForwardX11 = yes\n\n[bitbucket.org]\nUser = hg\n\n[topsecret.server.com]\nPort = 50022\nForwardX11 = no\n"

p Pycf.load(python_config)
# => {"DEFAULT"=>
#      {"serveraliveinterval"=>"45",
#       "compression"=>"yes",
#       "compressionlevel"=>"9",
#       "forwardx11"=>"yes"},
#     "bitbucket.org"=>{"user"=>"hg"},
#     "topsecret.server.com"=>{"port"=>"50022", "forwardx11"=>"no"}}

dump

require 'pycf'
require 'pp'

hash = {"DEFAULT"=>
         {"serveraliveinterval"=>"45",
          "compression"=>"yes",
          "compressionlevel"=>"9",
          "forwardx11"=>"yes"},
        "bitbucket.org"=>{"user"=>"hg"},
        "topsecret.server.com"=>{"port"=>"50022", "forwardx11"=>"no"}}

puts Pycf.dump(hash)
# => [DEFAULT]
#    serveraliveinterval = 45
#    compression = yes
#    compressionlevel = 9
#    forwardx11 = yes
#    [bitbucket.org]
#    user = hg
#    [topsecret.server.com]
#    port = 50022
#    forwardx11 = no