dss_reuters 0.6.0 → 0.7.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 +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
|
+
[](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
|