adops_report_scrapper 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0082c7090e52c9044326067bb9ed39a70d5a0237
4
- data.tar.gz: 1a60f7832c0bc680649a9c503df3a9868bdf6036
3
+ metadata.gz: 10e30e07782bffd3f6b6e2dc3a5774f8f91196b3
4
+ data.tar.gz: 748a6a341e21f648cd5b0291ded6d1e6c3dad686
5
5
  SHA512:
6
- metadata.gz: 17988b97f376fbf513edfdf1a595b3bcaab5baeaf6fff141f2e5366d84e3d1f5cca3ac1632ccfb2f17d8d5deff301af105aa18efb4ca0abb568aa8743b260939
7
- data.tar.gz: 80e72569eaef29964ee8be186abf158338042e44413e89b1129a3c5d517f262e61f44085d5f31c7d3513f3f7d6dc4436702d185a297a761f6792362e4252f36e
6
+ metadata.gz: 2e9a718dc2bb16862cba915583bacc1c369a6835812f0123516065f83d447d16d06bf2d4fa40c53e39da0ac4efc76a2e3f8dada1d36c053a1c3d388976c775b2
7
+ data.tar.gz: 2d851c270ec6e056aa27cd69098817b490964266fb403d0b9487b3a7c2da1dff7a8cac097136937b0051399f99970a4e67a3116e06de137a4ccd3a4624002735
@@ -14,6 +14,12 @@ class AdopsReportScrapper::AdsenseClient < AdopsReportScrapper::BaseClient
14
14
  CREDENTIAL_STORE_FILE = "#{API_NAME}-oauth2.json"
15
15
  API_SCOPE = 'https://www.googleapis.com/auth/adsense.readonly'
16
16
 
17
+ def date_supported?(date = nil)
18
+ _date = date || @date
19
+ return true if _date < Date.today
20
+ false
21
+ end
22
+
17
23
  private
18
24
 
19
25
  def init_client
@@ -43,10 +49,11 @@ class AdopsReportScrapper::AdsenseClient < AdopsReportScrapper::BaseClient
43
49
  end
44
50
 
45
51
  def scrap
52
+ date_str = @date.strftime('%Y-%m-%d')
46
53
  result = @client.accounts.reports.generate(
47
54
  :accountId => @account_id,
48
- :startDate => 'today-1d',
49
- :endDate => 'today-1d',
55
+ :startDate => date_str,
56
+ :endDate => date_str,
50
57
  :metric => ['AD_REQUESTS', 'INDIVIDUAL_AD_IMPRESSIONS', 'CLICKS', 'EARNINGS'],
51
58
  :dimension => ['DATE', 'AD_UNIT_CODE', 'AD_UNIT_NAME', 'COUNTRY_CODE', 'PLATFORM_TYPE_NAME'],
52
59
  :alt => 'csv').execute
@@ -3,6 +3,12 @@ require_relative 'base_client'
3
3
  require 'rest-client'
4
4
 
5
5
  class AdopsReportScrapper::AdsupplyClient < AdopsReportScrapper::BaseClient
6
+ def date_supported?(date = nil)
7
+ _date = date || @date
8
+ return true if _date < Date.today
9
+ false
10
+ end
11
+
6
12
  def init_client
7
13
  end
8
14
 
@@ -14,6 +14,12 @@ class AdopsReportScrapper::AdxClient < AdopsReportScrapper::BaseClient
14
14
  CREDENTIAL_STORE_FILE = "#{API_NAME}-oauth2.json"
15
15
  API_SCOPE = 'https://www.googleapis.com/auth/adexchange.seller.readonly'
16
16
 
17
+ def date_supported?(date = nil)
18
+ _date = date || @date
19
+ return true if _date < Date.today
20
+ false
21
+ end
22
+
17
23
  private
18
24
 
19
25
  def init_client
@@ -43,10 +49,11 @@ class AdopsReportScrapper::AdxClient < AdopsReportScrapper::BaseClient
43
49
  end
44
50
 
45
51
  def scrap
52
+ date_str = @date.strftime('%Y-%m-%d')
46
53
  result = @client.accounts.reports.generate(
47
54
  :accountId => @account_id,
48
- :startDate => 'today-1d',
49
- :endDate => 'today-1d',
55
+ :startDate => date_str,
56
+ :endDate => date_str,
50
57
  :metric => ['AD_REQUESTS', 'AD_IMPRESSIONS', 'CLICKS', 'EARNINGS'],
51
58
  :dimension => ['DATE', 'DFP_AD_UNITS', 'DFP_AD_UNIT_ID', 'COUNTRY_CODE', 'PLATFORM_TYPE_NAME'],
52
59
  :alt => 'csv').execute
@@ -2,6 +2,12 @@ require 'date'
2
2
  require_relative 'base_client'
3
3
 
4
4
  class AdopsReportScrapper::SonobiClient < AdopsReportScrapper::BaseClient
5
+ def date_supported?(date = nil)
6
+ _date = date || @date
7
+ return true if _date >= Date.today - 2
8
+ false
9
+ end
10
+
5
11
  private
6
12
 
7
13
  def login
@@ -25,10 +31,19 @@ class AdopsReportScrapper::SonobiClient < AdopsReportScrapper::BaseClient
25
31
  end
26
32
 
27
33
  def request_report(country)
34
+ date_str = @date.strftime('%Y-%m-%d')
28
35
  is_us = country == :us
29
- # all sites
30
36
  @client.find(:xpath, '//*[text()="Reports"]').click
31
37
  sleep 2
38
+ # set date
39
+ @client.select 'Custom'
40
+ sleep 1
41
+ @client.find(:xpath, '//input[@name="_range_start_date"]').click
42
+ @client.find(:xpath, "//*[@date=\"#{date_str}\"]").click
43
+ @client.find(:xpath, '//input[@name="_range_end_date"]').click
44
+ @client.find(:xpath, "//*[@date=\"#{date_str}\"]").click
45
+
46
+ # all sites
32
47
  @client.find(:xpath, '//div[@name="_siteid"]').click
33
48
  sleep 2
34
49
  @client.find(:xpath, '//*[text()="Select All"]').click
@@ -88,4 +103,4 @@ class AdopsReportScrapper::SonobiClient < AdopsReportScrapper::BaseClient
88
103
  end
89
104
  sleep 5
90
105
  end
91
- end
106
+ end
@@ -1,3 +1,3 @@
1
1
  module AdopsReportScrapper
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adops_report_scrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stayman Hou
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-14 00:00:00.000000000 Z
11
+ date: 2016-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httpclient