wmls 0.1.18 → 1.0.0
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 +63 -0
- data/lib/wmls.rb +11 -9
- metadata +8 -8
- data/README +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17b61e58f1cb6cd7348ca44488b3131ca2a09306
|
4
|
+
data.tar.gz: caa970c7834d81229b205e41cc19b8d2b1fcb938
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 551c7d5a9221db13bf1fda35f2ae2f7817221e869e3980efe2fa77870cc23d74c65510a7af6837cd66c32acbc275e227f3e2a0efa0382ae7181bdc9148a3bcb5
|
7
|
+
data.tar.gz: 7c030bfc5c2ad6693bdc6bb9d32f917f98210499088a2a69a1b427228556816b8f550318b1cf354844dd358c48a963716772aa8e799c5e320e750004db1de89b
|
data/README.md
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
#wmls WITSML command line tool in Ruby
|
2
|
+
|
3
|
+
Use this script to call GetCap, GetFromStore, AddToStore, UpdateInStore, or DeleteFromStore on
|
4
|
+
a WITSML server.
|
5
|
+
|
6
|
+
##Install
|
7
|
+
Make sure you've [installed Ruby](https://www.ruby-lang.org/en/downloads/). Then
|
8
|
+
|
9
|
+
```
|
10
|
+
gem install wmls
|
11
|
+
```
|
12
|
+
After install, the wmls command should be on your path. It uses lib/wmls.rb, a library you can use to write your own WITSML programs, which is installed as part of this gem.
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
##Usage
|
17
|
+
|
18
|
+
wmls [options]
|
19
|
+
-Dvariable=value Replace occurrences of %variable% with value, in the query template
|
20
|
+
-v, --verbose Run verbosely
|
21
|
+
-r, --url url URL of the WITSML service
|
22
|
+
-t, --timeout seconds timeout in seconds (optional, default 60)
|
23
|
+
-u, --username USER HTTP user name
|
24
|
+
-p, --password PASS HTTP password
|
25
|
+
-q, --query QUERYFILE Path to file containing query, delete, add or update template
|
26
|
+
-a, --action cap|get|add|update|delete WITSML action; default is 'get'
|
27
|
+
-o, --optionsin OPTIONSIN optionsIn string (optional)
|
28
|
+
-h, --help Show this message
|
29
|
+
|
30
|
+
|
31
|
+
##Example
|
32
|
+
|
33
|
+
```
|
34
|
+
wmls -q query_v1311/get_all_wells.xml -r https://yourserver.com/witsml -u username -p mypassword -a get
|
35
|
+
```
|
36
|
+
|
37
|
+
I've included a bunch of sample query templates originally created by Gary Masters of Energistics.
|
38
|
+
You can obtain them by downloading the source zip at
|
39
|
+
https://github.com/wellstorm/wmls/archive/master.zip
|
40
|
+
The templates contain variables delimited by % characters, e.g. "%uidWellbore%".
|
41
|
+
Inspect the templates you want to use to determine the variables you need to replace.
|
42
|
+
Pass substitution values for these values on the wmls command line, e.g:
|
43
|
+
|
44
|
+
```
|
45
|
+
wmls -DuidWell=ABC -DuidWellbore=1234 ...
|
46
|
+
```
|
47
|
+
|
48
|
+
##License
|
49
|
+
Apache 2.0
|
50
|
+
|
51
|
+
##History
|
52
|
+
10 Mar 2011 -- initial commit.
|
53
|
+
16 Oct 2011 -- added -D option to wmls command line tool (0.1.7)
|
54
|
+
01 May 2012 -- added GetCap support (0.1.8)
|
55
|
+
01 May 2012 -- added support for capabilitiesIn parameter to all calls (0.1.9)
|
56
|
+
04 May 2012 -- added support for a headers parameter to all calls (0.1.11)
|
57
|
+
07 May 2012 -- fix headers param to get_cap (default should be {}) (0.1.13)
|
58
|
+
14 Jun 2012 -- return values to shell from wmls script (0.1.14)
|
59
|
+
14 Aug 2012 -- add timeout option to wmls script (0.1.15)
|
60
|
+
18 Jul 2015 -- replace REXML with nokogiri, and fix missing endDateTimeIndex (0.1.16) (thanks emre.demirors and alex.bednarczyk)
|
61
|
+
21 Jul 2015 -- revert back to REXML. (nokogiri install too fragile) (0.1.18) (do not install this version)
|
62
|
+
19 Apr 2016 -- revert back to 0.1.15 plus endDateTimeIndex fix (1.0.0)
|
63
|
+
|
data/lib/wmls.rb
CHANGED
@@ -18,7 +18,7 @@ require 'net/http'
|
|
18
18
|
require 'net/https'
|
19
19
|
require 'uri'
|
20
20
|
require 'stringio'
|
21
|
-
require '
|
21
|
+
require 'rexml/document'
|
22
22
|
|
23
23
|
# A WITSML client library.
|
24
24
|
#
|
@@ -149,27 +149,29 @@ END
|
|
149
149
|
end
|
150
150
|
|
151
151
|
def pretty_xml(xml_data)
|
152
|
-
|
153
|
-
|
152
|
+
s = ''
|
153
|
+
doc = REXML::Document.new(xml_data)
|
154
|
+
doc.write(s, 2)
|
155
|
+
return s
|
154
156
|
end
|
155
157
|
|
156
158
|
# parse the xml and return the singular of the root element name.
|
157
159
|
def extract_type(xml_data)
|
158
|
-
doc =
|
160
|
+
doc = REXML::Document.new(xml_data)
|
159
161
|
plural = doc.root.name
|
160
162
|
return plural[0..plural.length-2]
|
161
163
|
end
|
162
164
|
|
163
165
|
#extract the witsml response: status_code and xml_out
|
164
166
|
def extract_response(xml_data)
|
165
|
-
doc =
|
167
|
+
doc = REXML::Document.new(xml_data)
|
166
168
|
r = 0
|
167
169
|
x = ''
|
168
170
|
s = ''
|
169
|
-
doc.
|
170
|
-
doc.
|
171
|
-
doc.
|
172
|
-
doc.
|
171
|
+
doc.root.each_element('//Result') { |elt| r = elt.text}
|
172
|
+
doc.root.each_element('//XMLout') { |elt| x = pretty_xml(elt.text)}
|
173
|
+
doc.root.each_element('//CapabilitiesOut') { |elt| x = pretty_xml(elt.text)}
|
174
|
+
doc.root.each_element('//SuppMsgOut') { |elt| s = elt.text }
|
173
175
|
return [r.to_i,s,x];
|
174
176
|
end
|
175
177
|
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wmls
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hugh Winkler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Wmls calls GetCap, GetFromStore, AddToStore, UpdateInStore, or DeleteFromStore
|
14
14
|
on a WITSML server.
|
15
|
-
email:
|
15
|
+
email: hughw@hughw.net
|
16
16
|
executables:
|
17
17
|
- wmls
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- README.md
|
21
22
|
- LICENSE
|
22
|
-
- README
|
23
|
-
- bin/wmls
|
24
23
|
- lib/wmls.rb
|
24
|
+
- bin/wmls
|
25
25
|
homepage: https://github.com/wellstorm/wmls/
|
26
26
|
licenses:
|
27
27
|
- Apache-2.0
|
@@ -32,17 +32,17 @@ require_paths:
|
|
32
32
|
- lib
|
33
33
|
required_ruby_version: !ruby/object:Gem::Requirement
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
38
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
|
-
- -
|
40
|
+
- - '>='
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '0'
|
43
43
|
requirements: []
|
44
44
|
rubyforge_project:
|
45
|
-
rubygems_version: 2.
|
45
|
+
rubygems_version: 2.0.0
|
46
46
|
signing_key:
|
47
47
|
specification_version: 4
|
48
48
|
summary: Calls GetCap, GetFromStore, AddToStore, UpdateInStore, or DeleteFromStore
|
data/README
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
wmls -- WITSML command line tool in Ruby.
|
2
|
-
|
3
|
-
wmls is a script in the bin folder. It uses lib/wmls.rb, a library you can use to
|
4
|
-
write your own WiTSML programs.
|
5
|
-
|
6
|
-
Use this script to call GetCap, GetFromStore, AddToStore, UpdateInStore, or DeleteFromStore on
|
7
|
-
a WITSML server.
|
8
|
-
|
9
|
-
Usage: wmls [options]
|
10
|
-
-Dvariable=value Replace occurrences of %variable% with value, in the query template
|
11
|
-
-v, --verbose Run verbosely
|
12
|
-
-r, --url url URL of the WITSML service
|
13
|
-
-t, --timeout seconds timeout in seconds (optional, default 60)
|
14
|
-
-u, --username USER HTTP user name
|
15
|
-
-p, --password PASS HTTP password
|
16
|
-
-q, --query QUERYFILE Path to file containing query, delete, add or update template
|
17
|
-
-a cap|get|add|update|delete WITSML action; default is 'get'
|
18
|
-
--action
|
19
|
-
-o, --optionsin OPTIONSIN optionsIn string (optional)
|
20
|
-
-h, --help Show this message
|
21
|
-
|
22
|
-
Example:
|
23
|
-
wmls -q query_v1311/get_all_wells.xml -r https://witsml.wellstorm.com/witsml/services/store -u username -p mypassword -a get
|
24
|
-
|
25
|
-
I've included a bunch of sample query templates originally created by Gary Masters of Energistics.
|
26
|
-
|
27
|
-
wmls files: Copyright 2012 Welstorm Development
|
28
|
-
License: Apache 2.0
|
29
|
-
|
30
|
-
History:
|
31
|
-
|
32
|
-
10 Mar 2011 -- initial commit.
|
33
|
-
16 Oct 2011 -- added -D option to wmls command line tool (0.1.7)
|
34
|
-
01 May 2012 -- added GetCap support (0.1.8)
|
35
|
-
01 May 2012 -- added support for capabilitiesIn parameter to all calls (0.1.9)
|
36
|
-
04 May 2012 -- added support for a headers parameter to all calls (0.1.11)
|
37
|
-
07 May 2012 -- fix headers param to get_cap (default should be {}) (0.1.13)
|
38
|
-
14 Jun 2012 -- return values to shell from wmls script (0.1.14)
|
39
|
-
14 Aug 2012 -- add timeout option to wmls script
|
40
|
-
18 Jul 2015 -- replace REXML with nokogiri, and fix missing endDateTimeIndex (0.1.16)
|
41
|
-
(thanks emre.demirors and alex.bednarczyk)
|
42
|
-
21 Jul 2015 -- revert back to REXML. (nokogiri gem install too fragile) (0.1.18)
|
43
|
-
|