configparser 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/configparser.gemspec +3 -3
- data/lib/configparser.rb +2 -2
- data/lib/configparser/version.rb +1 -1
- data/test/configparser_example.cfg +41 -0
- data/test/helper.rb +5 -1
- data/test/test_configparser.rb +34 -4
- metadata +14 -34
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26c531c67c5b36be5e065f5724dbbe79912fcd17
|
4
|
+
data.tar.gz: 0a0dbe4809dd15cb05a0fb2a57f725eb34ad3991
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcac507b266312e93519fadf779cc1d7954929bbb74fcc0af83438230bf8f1a3067f604f27684382d6c77dc38d5aa6ebfa5ba885047f2d7aa03f33e9d56432d8
|
7
|
+
data.tar.gz: c754988f122b18ecd8dfacaea82951865d4e383d9d8a72d4c0e9cbfccfac8abe32aae47ab74e44981fa4f1cefed07111ac1619abf89ef240f13256dc51c7b634
|
data/README.md
CHANGED
data/configparser.gemspec
CHANGED
@@ -18,12 +18,12 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_development_dependency "minitest", "~> 5.5"
|
21
22
|
spec.add_development_dependency "bundler", "~> 1.3"
|
22
23
|
spec.add_development_dependency "rake"
|
23
|
-
spec.add_development_dependency "minitest"
|
24
24
|
|
25
|
-
spec.signing_key = "#{File.dirname(__FILE__)}/../gem-private_key.pem"
|
26
|
-
spec.cert_chain = ["#{File.dirname(__FILE__)}/../gem-public_cert.pem"]
|
25
|
+
#spec.signing_key = "#{File.dirname(__FILE__)}/../gem-private_key.pem"
|
26
|
+
#spec.cert_chain = ["#{File.dirname(__FILE__)}/../gem-public_cert.pem"]
|
27
27
|
|
28
28
|
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
29
29
|
end
|
data/lib/configparser.rb
CHANGED
@@ -11,7 +11,7 @@ class ConfigParser < Hash
|
|
11
11
|
section = nil
|
12
12
|
key = nil
|
13
13
|
input_source.each do |line|
|
14
|
-
next if (line =~
|
14
|
+
next if (line =~ /^\s*(#|;)/)
|
15
15
|
|
16
16
|
# parse out the lines of the config
|
17
17
|
if line =~ /^\s*(.+?)\s*[=:]\s*(.+)$/ # handle key=value lines
|
@@ -23,7 +23,7 @@ class ConfigParser < Hash
|
|
23
23
|
key = $1
|
24
24
|
self[key] = $2
|
25
25
|
end
|
26
|
-
elsif line =~ /^\[(.+?)\]/ # handle new sections
|
26
|
+
elsif line =~ /^\s*\[(.+?)\]/ # handle new sections
|
27
27
|
section = $1
|
28
28
|
elsif line =~ /^\s+(.+?)$/ # handle continued lines
|
29
29
|
if section
|
data/lib/configparser/version.rb
CHANGED
@@ -0,0 +1,41 @@
|
|
1
|
+
[Simple Values]
|
2
|
+
key=value
|
3
|
+
spaces in keys=allowed
|
4
|
+
spaces in values=allowed as well
|
5
|
+
spaces around the delimiter = obviously
|
6
|
+
you can also use : to delimit keys from values
|
7
|
+
|
8
|
+
[All Values Are Strings]
|
9
|
+
values like this: 1000000
|
10
|
+
or this: 3.14159265359
|
11
|
+
are they treated as numbers? : no
|
12
|
+
integers, floats and booleans are held as: strings
|
13
|
+
can use the API to get converted values directly: true
|
14
|
+
|
15
|
+
[Multiline Values]
|
16
|
+
chorus: I'm a lumberjack, and I'm okay
|
17
|
+
I sleep all night and I work all day
|
18
|
+
|
19
|
+
[No Values]
|
20
|
+
key_without_value
|
21
|
+
empty string value here =
|
22
|
+
|
23
|
+
[You can use comments]
|
24
|
+
# like this
|
25
|
+
; or this
|
26
|
+
|
27
|
+
# By default only in an empty line.
|
28
|
+
# Inline comments can be harmful because they prevent users
|
29
|
+
# from using the delimiting characters as parts of values.
|
30
|
+
# That being said, this can be customized.
|
31
|
+
|
32
|
+
[Sections Can Be Indented]
|
33
|
+
can_values_be_as_well = True
|
34
|
+
does_that_mean_anything_special = False
|
35
|
+
purpose = formatting for readability
|
36
|
+
multiline_values = are
|
37
|
+
handled just fine as
|
38
|
+
long as they are indented
|
39
|
+
deeper than the first line
|
40
|
+
of a value
|
41
|
+
# Did I mention we can indent comments, too?
|
data/test/helper.rb
CHANGED
data/test/test_configparser.rb
CHANGED
@@ -8,10 +8,10 @@ end
|
|
8
8
|
|
9
9
|
require_relative 'helper'
|
10
10
|
|
11
|
-
class TestConfigparser < Test
|
11
|
+
class TestConfigparser < Minitest::Test
|
12
12
|
def test_parse_a_simple_config
|
13
13
|
cp = ConfigParser.new('test/simple.cfg')
|
14
|
-
|
14
|
+
refute_nil(cp)
|
15
15
|
assert_equal('hi',cp['test1'])
|
16
16
|
assert_equal('hello',cp['test2'])
|
17
17
|
assert_equal('55',cp['first_section']['mytest'])
|
@@ -36,7 +36,7 @@ myway: or the highway
|
|
36
36
|
|
37
37
|
def test_parse_a_config_with_substitutions
|
38
38
|
cp = ConfigParser.new('test/complex.cfg')
|
39
|
-
|
39
|
+
refute_nil(cp)
|
40
40
|
assert_equal('strange-default-whatever',cp['global2'])
|
41
41
|
assert_equal('strange-default-whatever-yodel-local',cp['section1']['local1'])
|
42
42
|
assert_equal('recent hotel',cp['section2']['local2'])
|
@@ -45,7 +45,7 @@ myway: or the highway
|
|
45
45
|
|
46
46
|
def test_parse_a_config_with_indents
|
47
47
|
cp = ConfigParser.new('test/smb.cfg')
|
48
|
-
|
48
|
+
refute_nil(cp)
|
49
49
|
assert_equal("WORKGROUP", cp['global']["workgroup"])
|
50
50
|
assert_equal("%h server (Samba, Ubuntu)", cp['global']["server string"])
|
51
51
|
assert_equal("no", cp['global']["dns proxy"])
|
@@ -81,4 +81,34 @@ end_of_simple
|
|
81
81
|
"myway" => "or the highway"
|
82
82
|
}})
|
83
83
|
end
|
84
|
+
|
85
|
+
def test_parse_configparser_example_from_python
|
86
|
+
cp = ConfigParser.new('test/configparser_example.cfg')
|
87
|
+
refute_nil(cp)
|
88
|
+
doc = "[All Values Are Strings]
|
89
|
+
are they treated as numbers?: no
|
90
|
+
can use the API to get converted values directly: true
|
91
|
+
integers, floats and booleans are held as: strings
|
92
|
+
or this: 3.14159265359
|
93
|
+
values like this: 1000000
|
94
|
+
[Multiline Values]
|
95
|
+
chorus: I'm a lumberjack, and I'm okay I sleep all night and I work all day
|
96
|
+
[No Values]
|
97
|
+
key_without_value
|
98
|
+
[Sections Can Be Indented]
|
99
|
+
can_values_be_as_well: True
|
100
|
+
does_that_mean_anything_special: False
|
101
|
+
multiline_values: are handled just fine as long as they are indented deeper than the first line of a value
|
102
|
+
purpose: formatting for readability
|
103
|
+
[Simple Values]
|
104
|
+
key: value
|
105
|
+
spaces around the delimiter: obviously
|
106
|
+
spaces in keys: allowed
|
107
|
+
spaces in values: allowed as well
|
108
|
+
you can also use: to delimit keys from values
|
109
|
+
"
|
110
|
+
|
111
|
+
assert_equal(doc, cp.to_s)
|
112
|
+
end
|
113
|
+
|
84
114
|
end
|
metadata
CHANGED
@@ -1,67 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: configparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chrislee35
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
-
|
12
|
-
-----BEGIN CERTIFICATE-----
|
13
|
-
MIIDYjCCAkqgAwIBAgIBADANBgkqhkiG9w0BAQUFADBXMREwDwYDVQQDDAhydWJ5
|
14
|
-
Z2VtczEYMBYGCgmSJomT8ixkARkWCGNocmlzbGVlMRMwEQYKCZImiZPyLGQBGRYD
|
15
|
-
ZGhzMRMwEQYKCZImiZPyLGQBGRYDb3JnMB4XDTEzMDUyMjEyNTk0N1oXDTE0MDUy
|
16
|
-
MjEyNTk0N1owVzERMA8GA1UEAwwIcnVieWdlbXMxGDAWBgoJkiaJk/IsZAEZFghj
|
17
|
-
aHJpc2xlZTETMBEGCgmSJomT8ixkARkWA2RoczETMBEGCgmSJomT8ixkARkWA29y
|
18
|
-
ZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANcPrx8BZiWIR9xWWG8I
|
19
|
-
tqR538tS1t+UJ4FZFl+1vrtU9TiuWX3Vj37TwUpa2fFkziK0n5KupVThyEhcem5m
|
20
|
-
OGRjvgrRFbWQJSSscIKOpwqURHVKRpV9gVz/Hnzk8S+xotUR1Buo3Ugr+I1jHewD
|
21
|
-
Cgr+y+zgZbtjtHsJtsuujkOcPhEjjUinj68L9Fz9BdeJQt+IacjwAzULix6jWCht
|
22
|
-
Uc+g+0z8Esryca2G6I1GsrgX6WHw8dykyQDT9dCtS2flCOwSC1R0K5T/xHW54f+5
|
23
|
-
wcw8mm53KLNe+tmgVC6ZHyME+qJsBnP6uxF0aTEnGA/jDBQDhQNTF0ZP/abzyTsL
|
24
|
-
zjUCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFO8w
|
25
|
-
+aeP7T6kVJblCg6eusOII9DfMA0GCSqGSIb3DQEBBQUAA4IBAQBCQyRJLXsBo2Fy
|
26
|
-
8W6e/W4RemQRrlAw9DK5O6U71JtedVob2oq+Ob+zmS+PifE2+L+3RiJ2H6VTlOzi
|
27
|
-
x+A061MUXhGraqVq4J2FC8kt4EQywAD0P0Ta5GU24CGSF08Y3GkJy1Sa4XqTC2YC
|
28
|
-
o51s7JP+tkCCtpVYSdzJhTllieRAWBpGV1dtaoeUKE6tYPMBkosxSRcVGczk/Sc3
|
29
|
-
7eQCpexYy9JlUBI9u3BqIY9E+l+MSn8ihXSPmyK0DgrhaCu+voaSFVOX6Y+B5qbo
|
30
|
-
jLXMQu2ZgISYwXNjNbGVHehut82U7U9oiHoWcrOGazaRUmGO9TXP+aJLH0gw2dcK
|
31
|
-
AfMglXPi
|
32
|
-
-----END CERTIFICATE-----
|
33
|
-
date: 2014-05-20 00:00:00.000000000 Z
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-06-17 00:00:00.000000000 Z
|
34
12
|
dependencies:
|
35
13
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
14
|
+
name: minitest
|
37
15
|
requirement: !ruby/object:Gem::Requirement
|
38
16
|
requirements:
|
39
17
|
- - "~>"
|
40
18
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
19
|
+
version: '5.5'
|
42
20
|
type: :development
|
43
21
|
prerelease: false
|
44
22
|
version_requirements: !ruby/object:Gem::Requirement
|
45
23
|
requirements:
|
46
24
|
- - "~>"
|
47
25
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
26
|
+
version: '5.5'
|
49
27
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
28
|
+
name: bundler
|
51
29
|
requirement: !ruby/object:Gem::Requirement
|
52
30
|
requirements:
|
53
|
-
- - "
|
31
|
+
- - "~>"
|
54
32
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
33
|
+
version: '1.3'
|
56
34
|
type: :development
|
57
35
|
prerelease: false
|
58
36
|
version_requirements: !ruby/object:Gem::Requirement
|
59
37
|
requirements:
|
60
|
-
- - "
|
38
|
+
- - "~>"
|
61
39
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
40
|
+
version: '1.3'
|
63
41
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
42
|
+
name: rake
|
65
43
|
requirement: !ruby/object:Gem::Requirement
|
66
44
|
requirements:
|
67
45
|
- - ">="
|
@@ -90,6 +68,7 @@ files:
|
|
90
68
|
- lib/configparser.rb
|
91
69
|
- lib/configparser/version.rb
|
92
70
|
- test/complex.cfg
|
71
|
+
- test/configparser_example.cfg
|
93
72
|
- test/helper.rb
|
94
73
|
- test/simple.cfg
|
95
74
|
- test/smb.cfg
|
@@ -120,6 +99,7 @@ specification_version: 4
|
|
120
99
|
summary: parses configuration files compatable with Python's ConfigParser
|
121
100
|
test_files:
|
122
101
|
- test/complex.cfg
|
102
|
+
- test/configparser_example.cfg
|
123
103
|
- test/helper.rb
|
124
104
|
- test/simple.cfg
|
125
105
|
- test/smb.cfg
|
checksums.yaml.gz.sig
DELETED
Binary file
|
data.tar.gz.sig
DELETED
Binary file
|
metadata.gz.sig
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
x��n�ˉ���qut7���5%�l}�O�>�iGi��{oz ��<�兾FM��ގ`�2Hb�x�C�*�_|&� jp���l�?�X�Wg��8e�o�vU�]{�~��2����g&n�����|���gJP�6tb������
|