dss_reuters 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.circleci/config.yml +57 -0
- data/.gitignore +1 -0
- data/.rspec +1 -0
- data/Gemfile.lock +68 -0
- data/README.md +20 -0
- data/dss_reuters.gemspec +5 -1
- data/lib/data_stream_api.rb +150 -0
- data/lib/dss_reuters.rb +3 -0
- data/lib/dss_reuters/version.rb +1 -1
- data/lib/dss_utilities.rb +5 -0
- data/vcr_cassettes/data_stream_login.yml +38 -0
- data/vcr_cassettes/data_stream_ric.yml +68 -0
- data/vcr_cassettes/extract_with_isin.yml +100 -0
- data/vcr_cassettes/extract_with_location.yml +114 -0
- data/vcr_cassettes/get_result.yml +167 -0
- data/vcr_cassettes/login.yml +47 -0
- metadata +72 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 73a283c399a01e94727584d96655fd9b4a340256fe49637b8c7b06d5a42ed0a0
|
4
|
+
data.tar.gz: 474857d298a2c390b83343397c0e286b1a35b7eaddbf69e1373b0df80a3151dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d00a89a2c059857bed3a426c9e6bf73314f4f7eecb66a9d364c5f9cbc145aa6eac27173cb56e7db5c40ac3cb24dcc0a8db2ef5ce1d3f97d2a77135c15e65925
|
7
|
+
data.tar.gz: ca4c418cf406ec3c0b1f1c3b2596e24be880f16ad829ab3ac02b67f92ab0f4407d3f5c6119fca1d8c9a8cd7113048a6888a3dcba08cba216fc97744b768855ff
|
@@ -0,0 +1,57 @@
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
2
|
+
#
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
+
#
|
5
|
+
version: 2
|
6
|
+
jobs:
|
7
|
+
build:
|
8
|
+
docker:
|
9
|
+
# specify the version you desire here
|
10
|
+
- image: circleci/ruby:2.5.1
|
11
|
+
|
12
|
+
# Specify service dependencies here if necessary
|
13
|
+
# CircleCI maintains a library of pre-built images
|
14
|
+
# documented at https://circleci.com/docs/2.0/circleci-images/
|
15
|
+
# - image: circleci/postgres:9.4
|
16
|
+
|
17
|
+
working_directory: ~/repo
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- checkout
|
21
|
+
|
22
|
+
# Download and cache dependencies
|
23
|
+
- restore_cache:
|
24
|
+
keys:
|
25
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
26
|
+
# fallback to using the latest cache if no exact match is found
|
27
|
+
- v1-dependencies-
|
28
|
+
|
29
|
+
- run:
|
30
|
+
name: install dependencies
|
31
|
+
command: |
|
32
|
+
bundle install --jobs=4 --retry=3 --path vendor/bundle
|
33
|
+
|
34
|
+
- save_cache:
|
35
|
+
paths:
|
36
|
+
- ./vendor/bundle
|
37
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
38
|
+
|
39
|
+
# run tests!
|
40
|
+
- run:
|
41
|
+
name: run tests
|
42
|
+
command: |
|
43
|
+
mkdir /tmp/test-results
|
44
|
+
TEST_FILES="$(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)"
|
45
|
+
|
46
|
+
bundle exec rspec --format progress \
|
47
|
+
--format RspecJunitFormatter \
|
48
|
+
--out /tmp/test-results/rspec.xml \
|
49
|
+
--format progress \
|
50
|
+
$TEST_FILES
|
51
|
+
|
52
|
+
# collect reports
|
53
|
+
- store_test_results:
|
54
|
+
path: /tmp/test-results
|
55
|
+
- store_artifacts:
|
56
|
+
path: /tmp/test-results
|
57
|
+
destination: test-results
|
data/.gitignore
CHANGED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--require spec_helper
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
dss_reuters (0.7.0)
|
5
|
+
dotenv
|
6
|
+
httparty (~> 0.16)
|
7
|
+
pry-byebug
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
addressable (2.5.2)
|
13
|
+
public_suffix (>= 2.0.2, < 4.0)
|
14
|
+
byebug (10.0.2)
|
15
|
+
coderay (1.1.2)
|
16
|
+
crack (0.4.3)
|
17
|
+
safe_yaml (~> 1.0.0)
|
18
|
+
diff-lcs (1.3)
|
19
|
+
dotenv (2.5.0)
|
20
|
+
hashdiff (0.3.7)
|
21
|
+
httparty (0.16.2)
|
22
|
+
multi_xml (>= 0.5.2)
|
23
|
+
method_source (0.9.2)
|
24
|
+
multi_xml (0.6.0)
|
25
|
+
pry (0.12.2)
|
26
|
+
coderay (~> 1.1.0)
|
27
|
+
method_source (~> 0.9.0)
|
28
|
+
pry-byebug (3.6.0)
|
29
|
+
byebug (~> 10.0)
|
30
|
+
pry (~> 0.10)
|
31
|
+
public_suffix (3.0.3)
|
32
|
+
rake (10.5.0)
|
33
|
+
rspec (3.8.0)
|
34
|
+
rspec-core (~> 3.8.0)
|
35
|
+
rspec-expectations (~> 3.8.0)
|
36
|
+
rspec-mocks (~> 3.8.0)
|
37
|
+
rspec-core (3.8.0)
|
38
|
+
rspec-support (~> 3.8.0)
|
39
|
+
rspec-expectations (3.8.2)
|
40
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
41
|
+
rspec-support (~> 3.8.0)
|
42
|
+
rspec-mocks (3.8.0)
|
43
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
44
|
+
rspec-support (~> 3.8.0)
|
45
|
+
rspec-support (3.8.0)
|
46
|
+
rspec_junit_formatter (0.4.1)
|
47
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
48
|
+
safe_yaml (1.0.4)
|
49
|
+
vcr (4.0.0)
|
50
|
+
webmock (3.4.2)
|
51
|
+
addressable (>= 2.3.6)
|
52
|
+
crack (>= 0.3.2)
|
53
|
+
hashdiff
|
54
|
+
|
55
|
+
PLATFORMS
|
56
|
+
ruby
|
57
|
+
|
58
|
+
DEPENDENCIES
|
59
|
+
bundler (~> 1.16)
|
60
|
+
dss_reuters!
|
61
|
+
rake (~> 10.0)
|
62
|
+
rspec (~> 3.8)
|
63
|
+
rspec_junit_formatter (~> 0.4)
|
64
|
+
vcr (~> 4.0)
|
65
|
+
webmock (~> 3.4)
|
66
|
+
|
67
|
+
BUNDLED WITH
|
68
|
+
1.16.4
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
A simple gem to extract info from DSS Reuters.
|
4
4
|
|
5
|
+
[![CircleCI](https://circleci.com/gh/c0ze/dss_reuters.svg?style=svg)](https://circleci.com/gh/c0ze/dss_reuters)
|
6
|
+
|
5
7
|
## Installation
|
6
8
|
|
7
9
|
Add this line to your application's Gemfile:
|
@@ -42,6 +44,24 @@ Default request fires a Composite extraction request. You can customize your req
|
|
42
44
|
req = api.extract_with_isin "KE1000001402", :technical_indicators, ["Net Change - Close Price - 1 Day"]
|
43
45
|
req = api.extract_with_isin "KE1000001402", :time_series, ["Close Price", "Trade Date"], {"StartDate" => "2018-01-01", "EndDate" => "2018-08-01"}
|
44
46
|
|
47
|
+
## Data Stream API
|
48
|
+
|
49
|
+
You need to set your credentials as ENVs :
|
50
|
+
|
51
|
+
DATA_STREAM_USERNAME
|
52
|
+
DATA_STREAM_PASSWORD
|
53
|
+
|
54
|
+
You can also set `DATA_STREAM_LOG_LEVEL` to set log level.
|
55
|
+
|
56
|
+
Usage flow goes like this :
|
57
|
+
|
58
|
+
require "dss_reuters"
|
59
|
+
api = DataStream::Api.new
|
60
|
+
res = api.ric_stream ".TRXFLDAUTFIN", "2018-01-01", "2018-04-01"
|
61
|
+
|
62
|
+
Data stream API acepts `RIC` identifier atm. The request is synchronous, so results are available immediately.
|
63
|
+
|
64
|
+
|
45
65
|
## Contributing
|
46
66
|
|
47
67
|
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/dss_reuters. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
data/dss_reuters.gemspec
CHANGED
@@ -23,7 +23,11 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 1.16"
|
25
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
|
-
spec.
|
26
|
+
spec.add_development_dependency "vcr", "~> 4.0"
|
27
|
+
spec.add_development_dependency "webmock", "~> 3.4"
|
28
|
+
spec.add_development_dependency "rspec", "~> 3.8"
|
29
|
+
spec.add_development_dependency "rspec_junit_formatter", "~> 0.4"
|
30
|
+
spec.add_dependency "httparty", "~> 0.16"
|
27
31
|
spec.add_dependency "pry-byebug"
|
28
32
|
spec.add_dependency "dotenv"
|
29
33
|
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
require "dotenv/load"
|
2
|
+
require "logger"
|
3
|
+
require "httparty"
|
4
|
+
require "dss_reuters/version"
|
5
|
+
require_relative "dss_utilities"
|
6
|
+
|
7
|
+
module DataStream
|
8
|
+
class Config
|
9
|
+
BASE_URI = "http://product.datastream.com"
|
10
|
+
LOG_LEVEL = ENV['DATA_STREAM_LOG_LEVEL'] || 'INFO'
|
11
|
+
DATA_STREAM_USERNAME = ENV['DATA_STREAM_USERNAME']
|
12
|
+
DATA_STREAM_PASSWORD = ENV['DATA_STREAM_PASSWORD']
|
13
|
+
end
|
14
|
+
|
15
|
+
class Session
|
16
|
+
include HTTParty
|
17
|
+
include DssUtilities
|
18
|
+
base_uri Config::BASE_URI
|
19
|
+
|
20
|
+
attr_reader :context, :token, :logger
|
21
|
+
|
22
|
+
def configured?
|
23
|
+
!Config::DATA_STREAM_USERNAME.nil? and !Config::DATA_STREAM_PASSWORD.nil?
|
24
|
+
end
|
25
|
+
|
26
|
+
def not_configured_error
|
27
|
+
@logger.error "dss_reuters gem not configured. you will not be able to fetch data from data stream API"
|
28
|
+
end
|
29
|
+
|
30
|
+
def initialize
|
31
|
+
@logger = ::Logger.new(STDOUT)
|
32
|
+
@logger.level = Config::LOG_LEVEL
|
33
|
+
login_path = "/DSWSClient/V1/DSService.svc/rest/Token"
|
34
|
+
options = {
|
35
|
+
query: {
|
36
|
+
"UserName" => Config::DATA_STREAM_USERNAME,
|
37
|
+
"Password" => Config::DATA_STREAM_PASSWORD
|
38
|
+
}
|
39
|
+
}
|
40
|
+
if configured?
|
41
|
+
resp = self.class.get login_path, options
|
42
|
+
@token = resp["TokenValue"]
|
43
|
+
@expiry = parseDate(resp["TokenExpiry"])
|
44
|
+
@logger.debug resp
|
45
|
+
else
|
46
|
+
not_configured_error
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
class Stream
|
52
|
+
include HTTParty
|
53
|
+
base_uri Config::BASE_URI
|
54
|
+
attr_reader :result
|
55
|
+
|
56
|
+
def initialize(session, types, date, instrument)
|
57
|
+
@session = session
|
58
|
+
path = "/DswsClient/V1/DSService.svc/rest/GetData"
|
59
|
+
|
60
|
+
options = {
|
61
|
+
headers: {
|
62
|
+
"Content-Type" => "application/json"
|
63
|
+
},
|
64
|
+
body: {
|
65
|
+
"DataRequest" => {
|
66
|
+
"DataTypes" => types,
|
67
|
+
"Date" => date,
|
68
|
+
"Instrument" => instrument,
|
69
|
+
"Tag" => nil
|
70
|
+
},
|
71
|
+
"Properties" => nil,
|
72
|
+
"TokenValue" => @session.token
|
73
|
+
}.to_json
|
74
|
+
}
|
75
|
+
|
76
|
+
if session.configured?
|
77
|
+
@result = self.class.post path, options
|
78
|
+
@session.logger.debug @result
|
79
|
+
else
|
80
|
+
session.not_configured_error
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
class Api
|
86
|
+
attr_reader :session
|
87
|
+
include DssUtilities
|
88
|
+
def initialize
|
89
|
+
@session = Session.new
|
90
|
+
end
|
91
|
+
|
92
|
+
def stream(id_type=nil, id_value=nil, date_start=nil, date_end=nil)
|
93
|
+
# types = [
|
94
|
+
# {
|
95
|
+
# "Properties" => nil,
|
96
|
+
# "Value" => "PL"
|
97
|
+
# },
|
98
|
+
# {
|
99
|
+
# "Properties" => nil,
|
100
|
+
# "Value" => "PH"
|
101
|
+
# }
|
102
|
+
# ]
|
103
|
+
# date = {
|
104
|
+
# "End" => "-20D",
|
105
|
+
# "Frequency" => "D",
|
106
|
+
# "Kind" => 1,
|
107
|
+
# "Start" => "-30D"
|
108
|
+
# }
|
109
|
+
# instrument = {
|
110
|
+
# "Properties" => nil,
|
111
|
+
# "Value" => "VOD"
|
112
|
+
# }
|
113
|
+
|
114
|
+
|
115
|
+
Stream.new @session, types, date, instrument
|
116
|
+
end
|
117
|
+
|
118
|
+
def ric_stream(ric, date_start, date_end)
|
119
|
+
types = [
|
120
|
+
{
|
121
|
+
"Properties" => nil,
|
122
|
+
"Value" => ric
|
123
|
+
}
|
124
|
+
]
|
125
|
+
|
126
|
+
date = {
|
127
|
+
"End" => date_end,
|
128
|
+
"Frequency" => "",
|
129
|
+
"Kind" => 1,
|
130
|
+
"Start" => date_start
|
131
|
+
}
|
132
|
+
|
133
|
+
instrument = {
|
134
|
+
"Properties" => [
|
135
|
+
{
|
136
|
+
"Key" => "IsExpression",
|
137
|
+
"Value" => true
|
138
|
+
}
|
139
|
+
],
|
140
|
+
"Value" => "RIC"
|
141
|
+
}
|
142
|
+
stream = Stream.new @session, types, date, instrument
|
143
|
+
stream.result["DataResponse"]["Dates"].each_with_index.map do |date, i|
|
144
|
+
{ date: parseDate(date),
|
145
|
+
value: stream.result["DataResponse"]["DataTypeValues"][0]["SymbolValues"][0]["Value"][i]
|
146
|
+
}
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|
data/lib/dss_reuters.rb
CHANGED
@@ -2,6 +2,7 @@ require "dotenv/load"
|
|
2
2
|
require "logger"
|
3
3
|
require "httparty"
|
4
4
|
require "dss_reuters/version"
|
5
|
+
require_relative "data_stream_api"
|
5
6
|
|
6
7
|
module DssReuters
|
7
8
|
class Config
|
@@ -158,6 +159,8 @@ module DssReuters
|
|
158
159
|
end
|
159
160
|
|
160
161
|
class Api
|
162
|
+
attr_reader :session
|
163
|
+
|
161
164
|
def initialize
|
162
165
|
@session = Session.new
|
163
166
|
end
|
data/lib/dss_reuters/version.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://product.datastream.com/DSWSClient/V1/DSService.svc/rest/Token?Password=test&UserName=test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- no-cache
|
23
|
+
Content-Length:
|
24
|
+
- '354'
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/8.0
|
29
|
+
X-Powered-By:
|
30
|
+
- ASP.NET
|
31
|
+
Date:
|
32
|
+
- Sun, 02 Dec 2018 04:33:16 GMT
|
33
|
+
body:
|
34
|
+
encoding: UTF-8
|
35
|
+
string: '{"Properties":null,"TokenExpiry":"\/Date(1543811536519)\/","TokenValue":"sample_token"}'
|
36
|
+
http_version:
|
37
|
+
recorded_at: Sun, 02 Dec 2018 04:33:18 GMT
|
38
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,68 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://product.datastream.com/DSWSClient/V1/DSService.svc/rest/Token?Password=test&UserName=test
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- "*/*"
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Cache-Control:
|
22
|
+
- no-cache
|
23
|
+
Content-Length:
|
24
|
+
- '354'
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/8.0
|
29
|
+
X-Powered-By:
|
30
|
+
- ASP.NET
|
31
|
+
Date:
|
32
|
+
- Sun, 02 Dec 2018 04:33:18 GMT
|
33
|
+
body:
|
34
|
+
encoding: UTF-8
|
35
|
+
string: '{"Properties":null,"TokenExpiry":"\/Date(1543811537194)\/","TokenValue":"sample_token"}'
|
36
|
+
http_version:
|
37
|
+
recorded_at: Sun, 02 Dec 2018 04:33:19 GMT
|
38
|
+
- request:
|
39
|
+
method: post
|
40
|
+
uri: http://product.datastream.com/DswsClient/V1/DSService.svc/rest/GetData
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
string: '{"DataRequest":{"DataTypes":[{"Properties":null,"Value":".TRXFLDAUTFIN"}],"Date":{"End":"2018-04-01","Frequency":"","Kind":1,"Start":"2018-01-01"},"Instrument":{"Properties":[{"Key":"IsExpression","Value":true}],"Value":"RIC"},"Tag":null},"Properties":null,"TokenValue":"sample_token"}'
|
44
|
+
headers:
|
45
|
+
Content-Type:
|
46
|
+
- application/json
|
47
|
+
response:
|
48
|
+
status:
|
49
|
+
code: 200
|
50
|
+
message: OK
|
51
|
+
headers:
|
52
|
+
Content-Length:
|
53
|
+
- '2501'
|
54
|
+
Content-Type:
|
55
|
+
- application/json; charset=utf-8
|
56
|
+
Server:
|
57
|
+
- Microsoft-IIS/8.0
|
58
|
+
X-Powered-By:
|
59
|
+
- ASP.NET
|
60
|
+
Date:
|
61
|
+
- Sun, 02 Dec 2018 04:36:58 GMT
|
62
|
+
body:
|
63
|
+
encoding: ASCII-8BIT
|
64
|
+
string: !binary |-
|
65
|
+
eyJEYXRhUmVzcG9uc2UiOnsiQWRkaXRpb25hbFJlc3BvbnNlcyI6W3siS2V5IjoiRnJlcXVlbmN5IiwiVmFsdWUiOiJEIn1dLCJEYXRhVHlwZU5hbWVzIjpudWxsLCJEYXRhVHlwZVZhbHVlcyI6W3siRGF0YVR5cGUiOiIuVFJYRkxEQVVURklOIiwiU3ltYm9sVmFsdWVzIjpbeyJDdXJyZW5jeSI6IsKjIiwiU3ltYm9sIjoiUklDIiwiVHlwZSI6MTAsIlZhbHVlIjpbMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTMsMTIsMTIsMTIsMTIsMTIsMTIsMTIsMTIsMTEuNSwxMS41LDExLjUsMTEuNSwxMS41LDExLjUsMTAuNSwxMC41LDEwLjUsMTAuNV19XX1dLCJEYXRlcyI6WyJcL0RhdGUoMTUxNDc2NDgwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTQ4NTEyMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE0OTM3NjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNTAyNDAwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTUxMTA0MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE1MzY5NjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNTQ1NjAwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTU1NDI0MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE1NjI4ODAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNTcxNTIwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTU5NzQ0MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE2MDYwODAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNjE0NzIwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTYyMzM2MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE2MzIwMDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNjU3OTIwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTY2NjU2MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE2NzUyMDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNjgzODQwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTY5MjQ4MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE3MTg0MDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNzI3MDQwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTczNTY4MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE3NDQzMjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNzUyOTYwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTc3ODg4MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE3ODc1MjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxNzk2MTYwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTgwNDgwMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE4MTM0NDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxODM5MzYwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTg0ODAwMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE4NTY2NDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxODY1MjgwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTg3MzkyMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE4OTk4NDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxOTA4NDgwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTkxNzEyMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE5MjU3NjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxOTM0NDAwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTk2MDMyMDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE5Njg5NjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUxOTc3NjAwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MTk4NjI0MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTE5OTQ4ODAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMDIwODAwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjAyOTQ0MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIwMzgwODAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMDQ2NzIwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjA1NTM2MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIwODEyODAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMDg5OTIwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjA5ODU2MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIxMDcyMDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMTE1ODQwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjE0MTc2MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIxNTA0MDAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMTU5MDQwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjE2NzY4MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIxNzYzMjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMjAyMjQwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjIxMDg4MDAwMDArMDAwMClcLyIsIlwvRGF0ZSgxNTIyMTk1MjAwMDAwKzAwMDApXC8iLCJcL0RhdGUoMTUyMjI4MTYwMDAwMCswMDAwKVwvIiwiXC9EYXRlKDE1MjIzNjgwMDAwMDArMDAwMClcLyJdLCJTeW1ib2xOYW1lcyI6bnVsbCwiVGFnIjpudWxsfSwiUHJvcGVydGllcyI6bnVsbH0=
|
66
|
+
http_version:
|
67
|
+
recorded_at: Sun, 02 Dec 2018 04:37:00 GMT
|
68
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,100 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Credentials":{"Username":"xxx","Password":"xxx"}}'
|
9
|
+
headers:
|
10
|
+
Prefer:
|
11
|
+
- respond-async
|
12
|
+
Content-Type:
|
13
|
+
- application/json; odata=minimalmetadata
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Cache-Control:
|
20
|
+
- no-cache
|
21
|
+
Pragma:
|
22
|
+
- no-cache
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Expires:
|
26
|
+
- "-1"
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/7.5
|
29
|
+
X-Request-Execution-Correlation-Id:
|
30
|
+
- CiD/0/AAAAAA.0x066341ce7e201788/RA
|
31
|
+
X-App-Id:
|
32
|
+
- Custom.RestApi
|
33
|
+
X-App-Version:
|
34
|
+
- 12.2.513.64
|
35
|
+
Date:
|
36
|
+
- Tue, 30 Oct 2018 01:28:46 GMT
|
37
|
+
Content-Length:
|
38
|
+
- '403'
|
39
|
+
Set-Cookie:
|
40
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcdo80;
|
41
|
+
path=/
|
42
|
+
body:
|
43
|
+
encoding: UTF-8
|
44
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Edm.String","value":"sample_token"}'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Tue, 30 Oct 2018 01:28:47 GMT
|
47
|
+
- request:
|
48
|
+
method: post
|
49
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotes
|
50
|
+
body:
|
51
|
+
encoding: UTF-8
|
52
|
+
string: '{"ExtractionRequest":{"@odata.type":"CompositeExtractionRequest","ContentFieldNames":["Close
|
53
|
+
Price","Contributor Code Description","Currency Code Description","Dividend
|
54
|
+
Yield","Main Index","Market Capitalization","Market Capitalization - Local
|
55
|
+
Currency","Percent Change - Close Price - 1 Day","Universal Close Price Date"],"IdentifierList":{"@odata.type":"InstrumentIdentifierList","InstrumentIdentifiers":[{"Identifier":"KE1000001402","IdentifierType":"Isin"}],"ValidationOptions":null,"UseUserPreferencesForValidationOptions":false},"Condition":null}}'
|
56
|
+
headers:
|
57
|
+
Prefer:
|
58
|
+
- respond-async; wait=5
|
59
|
+
Content-Type:
|
60
|
+
- application/json; odata=minimalmetadata
|
61
|
+
Authorization:
|
62
|
+
- Token sample_token
|
63
|
+
response:
|
64
|
+
status:
|
65
|
+
code: 202
|
66
|
+
message: Accepted
|
67
|
+
headers:
|
68
|
+
Cache-Control:
|
69
|
+
- no-cache
|
70
|
+
Pragma:
|
71
|
+
- no-cache
|
72
|
+
Expires:
|
73
|
+
- "-1"
|
74
|
+
Location:
|
75
|
+
- https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotesResult(ExtractionId='0x066341ce7e301788')
|
76
|
+
Server:
|
77
|
+
- Microsoft-IIS/7.5
|
78
|
+
Status:
|
79
|
+
- InProgress
|
80
|
+
Progress:
|
81
|
+
- ''
|
82
|
+
X-Request-Execution-Correlation-Id:
|
83
|
+
- CiD/9010877/AAAAAA.0x066341ce7e401788/RA
|
84
|
+
X-App-Id:
|
85
|
+
- Custom.RestApi
|
86
|
+
X-App-Version:
|
87
|
+
- 12.2.513.64
|
88
|
+
Date:
|
89
|
+
- Tue, 30 Oct 2018 01:28:52 GMT
|
90
|
+
Content-Length:
|
91
|
+
- '0'
|
92
|
+
Set-Cookie:
|
93
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcdo80;
|
94
|
+
path=/
|
95
|
+
body:
|
96
|
+
encoding: UTF-8
|
97
|
+
string: ''
|
98
|
+
http_version:
|
99
|
+
recorded_at: Tue, 30 Oct 2018 01:28:53 GMT
|
100
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,114 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Credentials":{"Username":"xxx","Password":"xxx"}}'
|
9
|
+
headers:
|
10
|
+
Prefer:
|
11
|
+
- respond-async
|
12
|
+
Content-Type:
|
13
|
+
- application/json; odata=minimalmetadata
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Cache-Control:
|
20
|
+
- no-cache
|
21
|
+
Pragma:
|
22
|
+
- no-cache
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Expires:
|
26
|
+
- "-1"
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/7.5
|
29
|
+
X-Request-Execution-Correlation-Id:
|
30
|
+
- CiD/0/AAAAAA.0x06633ba04b701784/RA
|
31
|
+
X-App-Id:
|
32
|
+
- Custom.RestApi
|
33
|
+
X-App-Version:
|
34
|
+
- 12.2.513.64
|
35
|
+
Date:
|
36
|
+
- Tue, 30 Oct 2018 01:40:03 GMT
|
37
|
+
Content-Length:
|
38
|
+
- '403'
|
39
|
+
Set-Cookie:
|
40
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcao80;
|
41
|
+
path=/
|
42
|
+
body:
|
43
|
+
encoding: UTF-8
|
44
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Edm.String","value":"sample_token"}'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Tue, 30 Oct 2018 01:40:07 GMT
|
47
|
+
- request:
|
48
|
+
method: get
|
49
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotesResult(ExtractionId='0x066341ce7e301788')
|
50
|
+
body:
|
51
|
+
encoding: US-ASCII
|
52
|
+
string: ''
|
53
|
+
headers:
|
54
|
+
Prefer:
|
55
|
+
- respond-async; wait=5
|
56
|
+
Authorization:
|
57
|
+
- Token sample_token
|
58
|
+
response:
|
59
|
+
status:
|
60
|
+
code: 200
|
61
|
+
message: OK
|
62
|
+
headers:
|
63
|
+
Cache-Control:
|
64
|
+
- no-cache
|
65
|
+
Pragma:
|
66
|
+
- no-cache
|
67
|
+
Content-Type:
|
68
|
+
- application/json; charset=utf-8
|
69
|
+
Expires:
|
70
|
+
- "-1"
|
71
|
+
Server:
|
72
|
+
- Microsoft-IIS/7.5
|
73
|
+
X-Request-Execution-Correlation-Id:
|
74
|
+
- CiD/9010877/AAAAAA.0x066362336c90179d/RA
|
75
|
+
X-App-Id:
|
76
|
+
- Custom.RestApi
|
77
|
+
X-App-Version:
|
78
|
+
- 12.2.513.64
|
79
|
+
Date:
|
80
|
+
- Tue, 30 Oct 2018 01:40:04 GMT
|
81
|
+
Content-Length:
|
82
|
+
- '2182'
|
83
|
+
Set-Cookie:
|
84
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcfo80;
|
85
|
+
path=/
|
86
|
+
body:
|
87
|
+
encoding: UTF-8
|
88
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.ExtractionResult","Contents":[{"IdentifierType":"Isin","Identifier":"KE1000001402","Close
|
89
|
+
Price":23.75,"Contributor Code Description":"Nairobi Stock Exchange","Currency
|
90
|
+
Code Description":"Kenyan Shilling","Dividend Yield":4.680851064,"Main Index":"Nairobi
|
91
|
+
SE 20 Share Index","Market Capitalization":9303730810.27668,"Market Capitalization
|
92
|
+
- Local Currency":"KES","Percent Change - Close Price - 1 Day":0,"Universal
|
93
|
+
Close Price Date":"2018-10-29"}],"Notes":["Extraction Services Version 12.2.39800
|
94
|
+
(46e4b31ee8b8), Built Oct 26 2018 17:16:27\r\nHoliday Rollover of Universal
|
95
|
+
Close Price waived.\r\nProcessing started at 10/30/2018 10:28:52.\r\nUser
|
96
|
+
ID: 9010877\r\nExtraction ID: 329459543\r\nSchedule: _OnD_0x066341ce7e301788
|
97
|
+
(ID = 0x066341ce7f901788)\r\nInput List (1 items): _OnD_0x066341ce7e301788
|
98
|
+
(ID = 066341ce7e601788) Created: 10/30/2018 10:28:48 Last Modified: 10/30/2018
|
99
|
+
10:28:49\r\nSchedule Time: 10/30/2018 10:28:50\r\nReport Template (15 fields):
|
100
|
+
_OnD_0x066341ce7e301788 (ID = 0x066341ce7e501788) Created: 10/30/2018 10:28:49
|
101
|
+
Last Modified: 10/30/2018 10:28:49\r\nProcessing completed successfully at
|
102
|
+
10/30/2018 10:28:52, taking 0.779 Secs.\r\nExtraction finished at 10/30/2018
|
103
|
+
01:28:52 UTC, with servers: x02a01, QSHC15 (0.0 secs), QSSHA1 (0.1 secs),
|
104
|
+
QSa01b (0.2 secs), SnS (0.3 secs)\r\nUsage Summary for User 9010877, Client
|
105
|
+
65507, Template Type Composite\r\nBase Usage\r\n Instrument Instrument Terms Price\r\n Count
|
106
|
+
Type Subtype Source Source\r\n-------
|
107
|
+
----------------------------------- ---------------------------- --------------
|
108
|
+
----------------------------------------\r\n 1 Equities N/A N/A\r\n-------\r\n 1
|
109
|
+
Total instrument charged.\r\n 0 Instruments with no reported data.\r\n=======\r\n 1
|
110
|
+
Instrument in the input list.\r\nNo TRPS complex usage to report -- 1 Instrument
|
111
|
+
in the input list had no reported data.\r\n"]}'
|
112
|
+
http_version:
|
113
|
+
recorded_at: Tue, 30 Oct 2018 01:40:08 GMT
|
114
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,167 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Credentials":{"Username":"xxx","Password":"xxx"}}'
|
9
|
+
headers:
|
10
|
+
Prefer:
|
11
|
+
- respond-async
|
12
|
+
Content-Type:
|
13
|
+
- application/json; odata=minimalmetadata
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Cache-Control:
|
20
|
+
- no-cache
|
21
|
+
Pragma:
|
22
|
+
- no-cache
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Expires:
|
26
|
+
- "-1"
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/7.5
|
29
|
+
X-Request-Execution-Correlation-Id:
|
30
|
+
- CiD/0/AAAAAA.0x06633b9d22101784/RA
|
31
|
+
X-App-Id:
|
32
|
+
- Custom.RestApi
|
33
|
+
X-App-Version:
|
34
|
+
- 12.2.513.64
|
35
|
+
Date:
|
36
|
+
- Tue, 30 Oct 2018 01:31:36 GMT
|
37
|
+
Content-Length:
|
38
|
+
- '403'
|
39
|
+
Set-Cookie:
|
40
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcao80;
|
41
|
+
path=/
|
42
|
+
body:
|
43
|
+
encoding: UTF-8
|
44
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Edm.String","value":"sample_token"}'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Tue, 30 Oct 2018 01:31:41 GMT
|
47
|
+
- request:
|
48
|
+
method: post
|
49
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotes
|
50
|
+
body:
|
51
|
+
encoding: UTF-8
|
52
|
+
string: '{"ExtractionRequest":{"@odata.type":"CompositeExtractionRequest","ContentFieldNames":["Close
|
53
|
+
Price","Contributor Code Description","Currency Code Description","Dividend
|
54
|
+
Yield","Main Index","Market Capitalization","Market Capitalization - Local
|
55
|
+
Currency","Percent Change - Close Price - 1 Day","Universal Close Price Date"],"IdentifierList":{"@odata.type":"InstrumentIdentifierList","InstrumentIdentifiers":[{"Identifier":"KE1000001402","IdentifierType":"Isin"}],"ValidationOptions":null,"UseUserPreferencesForValidationOptions":false},"Condition":null}}'
|
56
|
+
headers:
|
57
|
+
Prefer:
|
58
|
+
- respond-async; wait=5
|
59
|
+
Content-Type:
|
60
|
+
- application/json; odata=minimalmetadata
|
61
|
+
Authorization:
|
62
|
+
- Token sample_token
|
63
|
+
response:
|
64
|
+
status:
|
65
|
+
code: 202
|
66
|
+
message: Accepted
|
67
|
+
headers:
|
68
|
+
Cache-Control:
|
69
|
+
- no-cache
|
70
|
+
Pragma:
|
71
|
+
- no-cache
|
72
|
+
Expires:
|
73
|
+
- "-1"
|
74
|
+
Location:
|
75
|
+
- https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotesResult(ExtractionId='0x0663623225a0179d')
|
76
|
+
Server:
|
77
|
+
- Microsoft-IIS/7.5
|
78
|
+
Status:
|
79
|
+
- InProgress
|
80
|
+
Progress:
|
81
|
+
- ''
|
82
|
+
X-Request-Execution-Correlation-Id:
|
83
|
+
- CiD/9010877/AAAAAA.0x0663623225b0179d/RA
|
84
|
+
X-App-Id:
|
85
|
+
- Custom.RestApi
|
86
|
+
X-App-Version:
|
87
|
+
- 12.2.513.64
|
88
|
+
Date:
|
89
|
+
- Tue, 30 Oct 2018 01:31:43 GMT
|
90
|
+
Content-Length:
|
91
|
+
- '0'
|
92
|
+
Set-Cookie:
|
93
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcfo80;
|
94
|
+
path=/
|
95
|
+
body:
|
96
|
+
encoding: UTF-8
|
97
|
+
string: ''
|
98
|
+
http_version:
|
99
|
+
recorded_at: Tue, 30 Oct 2018 01:31:47 GMT
|
100
|
+
- request:
|
101
|
+
method: get
|
102
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Extractions/ExtractWithNotesResult(ExtractionId='0x0663623225a0179d')
|
103
|
+
body:
|
104
|
+
encoding: US-ASCII
|
105
|
+
string: ''
|
106
|
+
headers:
|
107
|
+
Prefer:
|
108
|
+
- respond-async; wait=5
|
109
|
+
Authorization:
|
110
|
+
- Token sample_token
|
111
|
+
response:
|
112
|
+
status:
|
113
|
+
code: 200
|
114
|
+
message: OK
|
115
|
+
headers:
|
116
|
+
Cache-Control:
|
117
|
+
- no-cache
|
118
|
+
Pragma:
|
119
|
+
- no-cache
|
120
|
+
Content-Type:
|
121
|
+
- application/json; charset=utf-8
|
122
|
+
Expires:
|
123
|
+
- "-1"
|
124
|
+
Server:
|
125
|
+
- Microsoft-IIS/7.5
|
126
|
+
X-Request-Execution-Correlation-Id:
|
127
|
+
- CiD/9010877/AAAAAA.0x066362323a10179d/RA
|
128
|
+
X-App-Id:
|
129
|
+
- Custom.RestApi
|
130
|
+
X-App-Version:
|
131
|
+
- 12.2.513.64
|
132
|
+
Date:
|
133
|
+
- Tue, 30 Oct 2018 01:32:02 GMT
|
134
|
+
Content-Length:
|
135
|
+
- '2182'
|
136
|
+
Set-Cookie:
|
137
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcfo80;
|
138
|
+
path=/
|
139
|
+
body:
|
140
|
+
encoding: UTF-8
|
141
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#ThomsonReuters.Dss.Api.Extractions.ExtractionRequests.ExtractionResult","Contents":[{"IdentifierType":"Isin","Identifier":"KE1000001402","Close
|
142
|
+
Price":23.75,"Contributor Code Description":"Nairobi Stock Exchange","Currency
|
143
|
+
Code Description":"Kenyan Shilling","Dividend Yield":4.680851064,"Main Index":"Nairobi
|
144
|
+
SE 20 Share Index","Market Capitalization":9303730810.27668,"Market Capitalization
|
145
|
+
- Local Currency":"KES","Percent Change - Close Price - 1 Day":0,"Universal
|
146
|
+
Close Price Date":"2018-10-29"}],"Notes":["Extraction Services Version 12.2.39800
|
147
|
+
(46e4b31ee8b8), Built Oct 26 2018 17:16:27\r\nHoliday Rollover of Universal
|
148
|
+
Close Price waived.\r\nProcessing started at 10/30/2018 10:31:44.\r\nUser
|
149
|
+
ID: 9010877\r\nExtraction ID: 329459705\r\nSchedule: _OnD_0x0663623225a0179d
|
150
|
+
(ID = 0x0663623229b0179d)\r\nInput List (1 items): _OnD_0x0663623225a0179d
|
151
|
+
(ID = 0663623225e0179d) Created: 10/30/2018 10:31:39 Last Modified: 10/30/2018
|
152
|
+
10:31:39\r\nSchedule Time: 10/30/2018 10:31:40\r\nReport Template (15 fields):
|
153
|
+
_OnD_0x0663623225a0179d (ID = 0x0663623225c0179d) Created: 10/30/2018 10:31:39
|
154
|
+
Last Modified: 10/30/2018 10:31:39\r\nProcessing completed successfully at
|
155
|
+
10/30/2018 10:31:45, taking 0.771 Secs.\r\nExtraction finished at 10/30/2018
|
156
|
+
01:31:45 UTC, with servers: x01a01, QSHC19 (0.0 secs), QSSHA1 (0.0 secs),
|
157
|
+
QSa01b (0.2 secs), SnS (0.4 secs)\r\nUsage Summary for User 9010877, Client
|
158
|
+
65507, Template Type Composite\r\nBase Usage\r\n Instrument Instrument Terms Price\r\n Count
|
159
|
+
Type Subtype Source Source\r\n-------
|
160
|
+
----------------------------------- ---------------------------- --------------
|
161
|
+
----------------------------------------\r\n 1 Equities N/A N/A\r\n-------\r\n 1
|
162
|
+
Total instrument charged.\r\n 0 Instruments with no reported data.\r\n=======\r\n 1
|
163
|
+
Instrument in the input list.\r\nNo TRPS complex usage to report -- 1 Instrument
|
164
|
+
in the input list had no reported data.\r\n"]}'
|
165
|
+
http_version:
|
166
|
+
recorded_at: Tue, 30 Oct 2018 01:32:06 GMT
|
167
|
+
recorded_with: VCR 4.0.0
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://hosted.datascopeapi.reuters.com/RestApi/v1/Authentication/RequestToken
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"Credentials":{"Username":"xxx","Password":"xxx"}}'
|
9
|
+
headers:
|
10
|
+
Prefer:
|
11
|
+
- respond-async
|
12
|
+
Content-Type:
|
13
|
+
- application/json; odata=minimalmetadata
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: OK
|
18
|
+
headers:
|
19
|
+
Cache-Control:
|
20
|
+
- no-cache
|
21
|
+
Pragma:
|
22
|
+
- no-cache
|
23
|
+
Content-Type:
|
24
|
+
- application/json; charset=utf-8
|
25
|
+
Expires:
|
26
|
+
- "-1"
|
27
|
+
Server:
|
28
|
+
- Microsoft-IIS/7.5
|
29
|
+
X-Request-Execution-Correlation-Id:
|
30
|
+
- CiD/0/AAAAAA.0x06631c656b201752/RA
|
31
|
+
X-App-Id:
|
32
|
+
- Custom.RestApi
|
33
|
+
X-App-Version:
|
34
|
+
- 12.2.513.64
|
35
|
+
Date:
|
36
|
+
- Mon, 29 Oct 2018 10:16:17 GMT
|
37
|
+
Content-Length:
|
38
|
+
- '403'
|
39
|
+
Set-Cookie:
|
40
|
+
- BIGipServer~FIFTEEN~US2P-DSSAPI_80=rd15o00000000000000000000ffff0af37bcao80;
|
41
|
+
path=/
|
42
|
+
body:
|
43
|
+
encoding: UTF-8
|
44
|
+
string: '{"@odata.context":"https://hosted.datascopeapi.reuters.com/RestApi/v1/$metadata#Edm.String","value":"sample_token"}'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Mon, 29 Oct 2018 10:16:19 GMT
|
47
|
+
recorded_with: VCR 4.0.0
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dss_reuters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arda Karaduman
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,20 +38,76 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: vcr
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: webmock
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.4'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.8'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.8'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec_junit_formatter
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.4'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.4'
|
41
97
|
- !ruby/object:Gem::Dependency
|
42
98
|
name: httparty
|
43
99
|
requirement: !ruby/object:Gem::Requirement
|
44
100
|
requirements:
|
45
101
|
- - "~>"
|
46
102
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.16
|
103
|
+
version: '0.16'
|
48
104
|
type: :runtime
|
49
105
|
prerelease: false
|
50
106
|
version_requirements: !ruby/object:Gem::Requirement
|
51
107
|
requirements:
|
52
108
|
- - "~>"
|
53
109
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.16
|
110
|
+
version: '0.16'
|
55
111
|
- !ruby/object:Gem::Dependency
|
56
112
|
name: pry-byebug
|
57
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,17 +143,28 @@ executables: []
|
|
87
143
|
extensions: []
|
88
144
|
extra_rdoc_files: []
|
89
145
|
files:
|
146
|
+
- ".circleci/config.yml"
|
90
147
|
- ".gitignore"
|
148
|
+
- ".rspec"
|
91
149
|
- CODE_OF_CONDUCT.md
|
92
150
|
- Gemfile
|
151
|
+
- Gemfile.lock
|
93
152
|
- LICENSE.txt
|
94
153
|
- README.md
|
95
154
|
- Rakefile
|
96
155
|
- bin/console
|
97
156
|
- bin/setup
|
98
157
|
- dss_reuters.gemspec
|
158
|
+
- lib/data_stream_api.rb
|
99
159
|
- lib/dss_reuters.rb
|
100
160
|
- lib/dss_reuters/version.rb
|
161
|
+
- lib/dss_utilities.rb
|
162
|
+
- vcr_cassettes/data_stream_login.yml
|
163
|
+
- vcr_cassettes/data_stream_ric.yml
|
164
|
+
- vcr_cassettes/extract_with_isin.yml
|
165
|
+
- vcr_cassettes/extract_with_location.yml
|
166
|
+
- vcr_cassettes/get_result.yml
|
167
|
+
- vcr_cassettes/login.yml
|
101
168
|
homepage: https://github.com/c0ze/dss_reuters
|
102
169
|
licenses:
|
103
170
|
- MIT
|
@@ -118,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
185
|
version: '0'
|
119
186
|
requirements: []
|
120
187
|
rubyforge_project:
|
121
|
-
rubygems_version: 2.6
|
188
|
+
rubygems_version: 2.7.6
|
122
189
|
signing_key:
|
123
190
|
specification_version: 4
|
124
191
|
summary: This is a simple gem to extract data from DSS Reuters
|