@@ -76,14 +76,19 @@ def __new__(cls, **kwargs):
76
76
if 'company_id' in kwargs :
77
77
instance .company_id = kwargs ['company_id' ]
78
78
79
- if 'minorversion' in kwargs :
80
- instance .minorversion = kwargs ['minorversion' ]
81
-
82
- if instance .minorversion < instance .MINIMUM_MINOR_VERSION :
83
- warnings .warn (
84
- 'Minor Version no longer supported.'
85
- 'See: https://blogs.intuit.com/2025/01/21/changes-to-our-accounting-api-that-may-impact-your-application/' ,
86
- DeprecationWarning )
79
+ # Handle minorversion with default
80
+ instance .minorversion = kwargs .get ('minorversion' , instance .MINIMUM_MINOR_VERSION )
81
+ if 'minorversion' not in kwargs :
82
+ warnings .warn (
83
+ 'No minor version specified. Defaulting to minimum supported version (75). '
84
+ 'Please specify minorversion explicitly when initializing QuickBooks. '
85
+ 'See: https://blogs.intuit.com/2025/01/21/changes-to-our-accounting-api-that-may-impact-your-application/' ,
86
+ DeprecationWarning )
87
+ elif instance .minorversion < instance .MINIMUM_MINOR_VERSION :
88
+ warnings .warn (
89
+ f'Minor Version { instance .minorversion } is no longer supported. Minimum supported version is { instance .MINIMUM_MINOR_VERSION } . '
90
+ 'See: https://blogs.intuit.com/2025/01/21/changes-to-our-accounting-api-that-may-impact-your-application/' ,
91
+ DeprecationWarning )
87
92
88
93
instance .invoice_link = kwargs .get ('invoice_link' , False )
89
94
@@ -157,8 +162,7 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
157
162
if not params :
158
163
params = {}
159
164
160
- if self .minorversion :
161
- params ['minorversion' ] = self .minorversion
165
+ params ['minorversion' ] = self .minorversion
162
166
163
167
if request_id :
164
168
params ['requestid' ] = request_id
@@ -236,10 +240,18 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
236
240
return result
237
241
238
242
def get (self , * args , ** kwargs ):
239
- return self .make_request ("GET" , * args , ** kwargs )
243
+ if 'params' not in kwargs :
244
+ kwargs ['params' ] = {}
245
+ if 'minorversion' not in kwargs ['params' ]:
246
+ kwargs ['params' ]['minorversion' ] = self .MINIMUM_MINOR_VERSION
247
+ return self .make_request ('GET' , * args , ** kwargs )
240
248
241
249
def post (self , * args , ** kwargs ):
242
- return self .make_request ("POST" , * args , ** kwargs )
250
+ if 'params' not in kwargs :
251
+ kwargs ['params' ] = {}
252
+ if 'minorversion' not in kwargs ['params' ]:
253
+ kwargs ['params' ]['minorversion' ] = self .MINIMUM_MINOR_VERSION
254
+ return self .make_request ('POST' , * args , ** kwargs )
243
255
244
256
def process_request (self , request_type , url , headers = "" , params = "" , data = "" ):
245
257
if self .session is None :
@@ -252,9 +264,10 @@ def process_request(self, request_type, url, headers="", params="", data=""):
252
264
253
265
def get_single_object (self , qbbo , pk , params = None ):
254
266
url = "{0}/company/{1}/{2}/{3}" .format (self .api_url , self .company_id , qbbo .lower (), pk )
255
- result = self .get (url , {}, params = params )
267
+ if params is None :
268
+ params = {}
256
269
257
- return result
270
+ return self . get ( url , {}, params = params )
258
271
259
272
@staticmethod
260
273
def handle_exceptions (results ):
@@ -312,6 +325,9 @@ def isvalid_object_name(self, object_name):
312
325
313
326
def update_object (self , qbbo , request_body , _file_path = None , _file_bytes = None , request_id = None , params = None ):
314
327
url = "{0}/company/{1}/{2}" .format (self .api_url , self .company_id , qbbo .lower ())
328
+ if params is None :
329
+ params = {}
330
+
315
331
result = self .post (url , request_body , file_path = _file_path , file_bytes = _file_bytes , request_id = request_id , params = params )
316
332
317
333
return result
0 commit comments