@@ -76,14 +76,19 @@ def __new__(cls, **kwargs):
7676 if 'company_id' in kwargs :
7777 instance .company_id = kwargs ['company_id' ]
7878
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 )
8792
8893 instance .invoice_link = kwargs .get ('invoice_link' , False )
8994
@@ -157,8 +162,7 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
157162 if not params :
158163 params = {}
159164
160- if self .minorversion :
161- params ['minorversion' ] = self .minorversion
165+ params ['minorversion' ] = self .minorversion
162166
163167 if request_id :
164168 params ['requestid' ] = request_id
@@ -236,10 +240,18 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
236240 return result
237241
238242 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 )
240248
241249 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 )
243255
244256 def process_request (self , request_type , url , headers = "" , params = "" , data = "" ):
245257 if self .session is None :
@@ -252,9 +264,10 @@ def process_request(self, request_type, url, headers="", params="", data=""):
252264
253265 def get_single_object (self , qbbo , pk , params = None ):
254266 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 = {}
256269
257- return result
270+ return self . get ( url , {}, params = params )
258271
259272 @staticmethod
260273 def handle_exceptions (results ):
@@ -312,6 +325,9 @@ def isvalid_object_name(self, object_name):
312325
313326 def update_object (self , qbbo , request_body , _file_path = None , _file_bytes = None , request_id = None , params = None ):
314327 url = "{0}/company/{1}/{2}" .format (self .api_url , self .company_id , qbbo .lower ())
328+ if params is None :
329+ params = {}
330+
315331 result = self .post (url , request_body , file_path = _file_path , file_bytes = _file_bytes , request_id = request_id , params = params )
316332
317333 return result
0 commit comments