Skip to content

Commit 854169e

Browse files
committed
* Fixes issue #5. (for adwords, dfa, and dfp)
1 parent 08397da commit 854169e

File tree

9 files changed

+35
-20
lines changed

9 files changed

+35
-20
lines changed

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
1.0.4 - 04/22/2014
2+
* Fixed a bug where https_proxy wasn't set for retrieving the API WSDL. This
3+
resolves issue #5.
4+
15
1.0.3 - 04/02/2014
26
==================
37
* The common module's LoadFromStorage method now parses the yaml file with

examples/dfp/v201403/suggested_ad_unit_service/approve_all_suggested_ad_units.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,6 @@ def main(client):
6464
statement.ToStatement())
6565
if result and int(result['numChanges']) > 0:
6666
num_approved_suggested_ad_units += int(result['numChanges'])
67-
statement.offset += dfp.SUGGESTED_PAGE_LIMIT
6867
else:
6968
break
7069

googleads/adwords.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,16 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
188188
"""
189189
if server[-1] == '/': server = server[:-1]
190190
try:
191+
proxy_option = None
192+
if self.https_proxy:
193+
proxy_option = {
194+
'https': self.https_proxy
195+
}
196+
191197
client = suds.client.Client(
192198
self._SOAP_SERVICE_FORMAT %
193-
(server, _SERVICE_MAP[version][service_name], version, service_name))
199+
(server, _SERVICE_MAP[version][service_name], version, service_name),
200+
proxy=proxy_option)
194201
except KeyError:
195202
if version in _SERVICE_MAP:
196203
raise googleads.errors.GoogleAdsValueError(
@@ -202,7 +209,6 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
202209
'Unrecognized version of the AdWords API. Version given: %s '
203210
'Supported versions: %s' % (version, _SERVICE_MAP.keys()))
204211

205-
if self.https_proxy: client.set_options(proxy={'https': self.https_proxy})
206212
return googleads.common.SudsServiceProxy(
207213
client, _AdWordsHeaderHandler(self, version))
208214

googleads/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import googleads.errors
2727
import googleads.oauth2
2828

29-
VERSION = '1.0.3'
29+
VERSION = '1.0.4'
3030
_COMMON_LIB_SIG = 'googleads/%s' % VERSION
3131
_PYTHON_VERSION = 'Python/%d.%d' % (sys.version_info[0], sys.version_info[1])
3232

googleads/dfa.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,15 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
129129
"""
130130
server = server[:-1] if server[-1] == '/' else server
131131
try:
132+
proxy_option = None
133+
if self.https_proxy:
134+
proxy_option = {
135+
'https': self.https_proxy
136+
}
137+
132138
client = suds.client.Client(
133-
self._SOAP_SERVICE_FORMAT % (server, version, service_name))
139+
self._SOAP_SERVICE_FORMAT % (server, version, service_name),
140+
proxy=proxy_option)
134141
except suds.transport.TransportError:
135142
if version in self._SERVICE_MAP:
136143
if service_name in self._SERVICE_MAP[version]:
@@ -145,7 +152,6 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
145152
'Unrecognized version of the DFA API. Version given: %s Supported '
146153
'versions: %s' % (version, self._SERVICE_MAP.keys()))
147154

148-
if self.https_proxy: client.set_options(proxy={'https': self.https_proxy})
149155
return googleads.common.SudsServiceProxy(client, self._header_handler)
150156

151157

googleads/dfp.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,15 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
153153
"""
154154
server = server[:-1] if server[-1] == '/' else server
155155
try:
156+
proxy_option = None
157+
if self.https_proxy:
158+
proxy_option = {
159+
'https': self.https_proxy
160+
}
161+
156162
client = suds.client.Client(
157-
self._SOAP_SERVICE_FORMAT % (server, version, service_name))
163+
self._SOAP_SERVICE_FORMAT % (server, version, service_name),
164+
proxy=proxy_option)
158165
except suds.transport.TransportError:
159166
if version in _SERVICE_MAP:
160167
if service_name in _SERVICE_MAP[version]:
@@ -169,7 +176,6 @@ def GetService(self, service_name, version=sorted(_SERVICE_MAP.keys())[-1],
169176
'Unrecognized version of the DFP API. Version given: %s Supported '
170177
'versions: %s' % (version, _SERVICE_MAP.keys()))
171178

172-
if self.https_proxy: client.set_options(proxy={'https': self.https_proxy})
173179
return googleads.common.SudsServiceProxy(client, self._header_handler)
174180

175181
def GetDataDownloader(self, version=sorted(_SERVICE_MAP.keys())[-1],

tests/adwords_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,9 +154,7 @@ def testGetService_success(self):
154154

155155
mock_client.assert_called_once_with(
156156
'https://testing.test.com/api/adwords/%s/%s/%s?wsdl'
157-
% (namespace, version, service))
158-
mock_client.return_value.set_options.assert_called_once_with(
159-
proxy=https_proxy)
157+
% (namespace, version, service), proxy=https_proxy)
160158
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
161159

162160
# Use the default server and https_proxy.
@@ -166,7 +164,7 @@ def testGetService_success(self):
166164

167165
mock_client.assert_called_once_with(
168166
'https://adwords.google.com/api/adwords/%s/%s/%s?wsdl'
169-
% (namespace, version, service))
167+
% (namespace, version, service), proxy=None)
170168
self.assertFalse(mock_client.return_value.set_options.called)
171169
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
172170

tests/dfa_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,7 @@ def testGetService_success(self):
106106

107107
mock_client.assert_called_once_with(
108108
'https://testing.test.com/%s/api/dfa-api/%s?wsdl'
109-
% (version, service))
110-
mock_client.return_value.set_options.assert_called_once_with(
111-
proxy=https_proxy)
109+
% (version, service), proxy=https_proxy)
112110
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
113111

114112
# Use the default server and https_proxy.
@@ -118,7 +116,7 @@ def testGetService_success(self):
118116

119117
mock_client.assert_called_once_with(
120118
'https://advertisersapi.doubleclick.com/%s/api/dfa-api/%s?wsdl'
121-
% (version, service))
119+
% (version, service), proxy=None)
122120
self.assertFalse(mock_client.return_value.set_options.called)
123121
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
124122

tests/dfp_test.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,9 +97,7 @@ def testGetService_success(self):
9797

9898
mock_client.assert_called_once_with(
9999
'https://testing.test.com/apis/ads/publisher/%s/%s?wsdl'
100-
% (version, service))
101-
mock_client.return_value.set_options.assert_called_once_with(
102-
proxy=https_proxy)
100+
% (version, service), proxy=https_proxy)
103101
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
104102

105103
# Use the default server and https proxy.
@@ -109,7 +107,7 @@ def testGetService_success(self):
109107

110108
mock_client.assert_called_once_with(
111109
'https://www.google.com/apis/ads/publisher/%s/%s?wsdl'
112-
% (version, service))
110+
% (version, service), proxy=None)
113111
self.assertFalse(mock_client.return_value.set_options.called)
114112
self.assertIsInstance(suds_service, googleads.common.SudsServiceProxy)
115113

0 commit comments

Comments
 (0)