usd 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/bin/rusdc +34 -30
- data/usd.gemspec +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1dc348116c2ad35950bcea88ca80863c751b7b50c8d30e9f7e1b61555f6d08dd
|
4
|
+
data.tar.gz: 4fb82b76d1aa8ba9277ac3512e6d4fd0bc40e29fdff4054192de6f94709ee27a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b99881822e2e345d1dc7c227806f7df202af50d51fef1d3bc4dd16563dd58e3e01b95249aab6cb910ba7209e78fc0bad04ad39613895c9bc7ad1d1e070d749a
|
7
|
+
data.tar.gz: ddb9e9db898df0849150849d75fae4d848bc0d5305f6605ca881a3e5ae2c1c6498af3ac4c8f7d3370f81a278b7d41b6990853a94cf4e3dcf4e275df5cddc46c1
|
data/README.md
CHANGED
@@ -23,12 +23,11 @@ yum install ruby-devel
|
|
23
23
|
|
24
24
|
# external tools
|
25
25
|
|
26
|
-
|
26
|
+
If you use the `rusdc find` command with `--format mlr` option then you need `mlr`.
|
27
27
|
|
28
|
-
- [jq](https://stedolan.github.io/jq/) - a great tool for query and manipulate json-data
|
29
28
|
- [mlr - Miller](http://johnkerl.org/miller/doc/index.html) - a great tool for data-transforming to and from json, csv and many more
|
30
29
|
|
31
|
-
|
30
|
+
Place the `mlr`-binary in a path, which is in your PATH-Environment.
|
32
31
|
|
33
32
|
# funktions from the commandline-tool `rusdc`
|
34
33
|
|
data/bin/rusdc
CHANGED
@@ -84,10 +84,32 @@ class Rusdc < Thor
|
|
84
84
|
option :nice_time, :type => :boolean, :default => true
|
85
85
|
option :debug, :type => :boolean, :default => false
|
86
86
|
def find(object, wc, fields="*")
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
87
|
+
unless (fields =~ /^[\w\_,@]+$/)
|
88
|
+
puts "fields-problem: there must be only letters, numbers, comma and underscore, nothing else!"
|
89
|
+
else
|
90
|
+
con = loadcon
|
91
|
+
con.debug = options[:debug]
|
92
|
+
e = con.search(object,{'fields' => fields,"wc" => wc})
|
93
|
+
fields_array=fields.split(/,/)
|
94
|
+
e.each do |elem|
|
95
|
+
elem.keys.each do |elem_key|
|
96
|
+
if fields_array.include?(elem_key)
|
97
|
+
if elem[elem_key].class == Hash
|
98
|
+
elem_value = elem[elem_key]["@COMMON_NAME"]
|
99
|
+
elem.delete(elem_key)
|
100
|
+
elem[elem_key] = elem_value
|
101
|
+
end
|
102
|
+
else
|
103
|
+
elem.delete(elem_key)
|
104
|
+
end
|
105
|
+
end
|
106
|
+
# fill up not found keys
|
107
|
+
fields_array.each do |elem_key|
|
108
|
+
unless elem.has_key?(elem_key)
|
109
|
+
elem[elem_key]=""
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
91
113
|
if options[:nice_time]
|
92
114
|
e.each_index do |i|
|
93
115
|
e[i].keys.each do |key|
|
@@ -103,35 +125,17 @@ class Rusdc < Thor
|
|
103
125
|
when "yaml"
|
104
126
|
puts e.to_yaml
|
105
127
|
when "mlr"
|
106
|
-
# hierfuer
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
jq_mapping << %("#{key}": ."#{key}"."@COMMON_NAME")
|
114
|
-
else
|
115
|
-
jq_mapping << %("#{key}": ."#{key}")
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
jq_mapping_string = jq_mapping.join(",")
|
120
|
-
file = Tempfile.new('inner_cmd')
|
121
|
-
cmd = %(jq "[.[]|{#{jq_mapping_string}}]" #{file.path} | mlr --ijson --o#{options[:mlr_format]} cat)
|
122
|
-
file.write(e.jp)
|
123
|
-
file.close
|
124
|
-
puts `#{cmd}`
|
125
|
-
file.unlink
|
126
|
-
else
|
127
|
-
puts "fields Problem: es sind nur Buchstaben, Ziffern, Komma und Unterstrich zulaessig."
|
128
|
-
end
|
128
|
+
# hierfuer muss mlr verfuegbar sein
|
129
|
+
file = Tempfile.new('json')
|
130
|
+
cmd = %(mlr --ijson --o#{options[:mlr_format]} cat #{file.path})
|
131
|
+
file.write(e.jp)
|
132
|
+
file.close
|
133
|
+
puts `#{cmd}`
|
134
|
+
file.unlink
|
129
135
|
else
|
130
136
|
puts "das Format #{options[:format]} ist nicht hinterlegt. Es gibt nur json, yaml oder mlr."
|
131
137
|
end
|
132
|
-
|
133
|
-
puts "keine Einträge gefunden!"
|
134
|
-
end
|
138
|
+
end # fields check
|
135
139
|
end
|
136
140
|
|
137
141
|
desc "get", "get <object> <cn>"
|
data/usd.gemspec
CHANGED