Skip to content

Commit 71eb2ff

Browse files
committed
updates.
1 parent 97ab327 commit 71eb2ff

24 files changed

Lines changed: 213 additions & 84 deletions

quickbooks/auth.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class AuthSessionManager(object):
3939
sandbox = False
4040
session = None
4141
started = False
42+
request_token = ''
43+
request_token_secret = ''
4244

4345
def __new__(cls, **kwargs):
4446
instance = object.__new__(cls)

quickbooks/client.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def create_session(self):
144144
self.consumer_key,
145145
self.consumer_secret,
146146
self.access_token,
147-
self.access_token_secret,
147+
self.access_tokcreate_sessionen_secret,
148148
)
149149
self.session = session
150150
else:
@@ -246,10 +246,6 @@ def reconnect_account(self):
246246

247247
def make_request(self, request_type, url, request_body=None, content_type='application/json',
248248
params=None, file_path=None):
249-
250-
if self.session_manager is None:
251-
raise QuickbooksException('No session manager')
252-
253249
if not params:
254250
params = {}
255251

@@ -300,9 +296,7 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
300296
"""
301297
) % (boundary, request_body, boundary, content_type, binary_data, boundary)
302298

303-
req = self.session_manager.get_session().request(
304-
request_type, url, True, self.company_id,
305-
headers=headers, params=params, data=request_body)
299+
req = self.process_request(request_type, url, headers=headers, params=params, data=request_body)
306300

307301
if req.status_code == httplib.UNAUTHORIZED:
308302
raise AuthorizationException("Application authentication failed", detail=req.text)
@@ -320,6 +314,14 @@ def make_request(self, request_type, url, request_body=None, content_type='appli
320314
else:
321315
return result
322316

317+
def process_request(self, request_type, url, headers="", params="", data=""):
318+
if self.session_manager is None:
319+
raise QuickbooksException('No session manager')
320+
321+
return self.session_manager.get_session().request(
322+
request_type, url, True, self.company_id,
323+
headers=headers, params=params, data=data)
324+
323325
def get_single_object(self, qbbo, pk):
324326
url = self.api_url + "/company/{0}/{1}/{2}/".format(self.company_id, qbbo.lower(), pk)
325327
result = self.make_request("GET", url, {})
@@ -396,7 +398,7 @@ def download_pdf(self, qbbo, item_id):
396398
'User-Agent': 'python-quickbooks V3 library'
397399
}
398400

399-
response = self.session_manager.get_session().request("GET", url, True, self.company_id, headers=headers)
401+
response = self.process_request("GET", url, headers=headers)
400402

401403
if response.status_code != httplib.OK:
402404
try:

tests/integration/test_account.py

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ def setUp(self):
1616
access_token=os.environ.get('ACCESS_TOKEN'),
1717
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
1818
)
19-
#session = self.session.start_session()
2019

2120
self.qb_client = QuickBooks(
2221
session_manager=self.session_manager,
@@ -51,27 +50,27 @@ def test_update(self):
5150

5251
self.assertEquals(query_account.Name, "Updated Name {0}".format(self.account_number))
5352

54-
def test_temp(self):
55-
session_manager = Oauth1SessionManager(
56-
sandbox=True,
57-
consumer_key=os.environ.get('CONSUMER_KEY'),
58-
consumer_secret=os.environ.get('CONSUMER_SECRET'),
59-
callback_url='http://localhost:8000'
60-
)
61-
62-
authorize_url = session_manager.get_authorize_url()
63-
64-
print authorize_url
65-
print session_manager.request_token
66-
print session_manager.request_token_secret
67-
68-
session_manager.authorize_url = authorize_url
69-
#session_manager.request_token = request_token
70-
#session_manager.request_token_secret = request_token_secret
71-
session_manager.set_up_service()
72-
73-
session_manager.get_access_tokens(request.GET['oauth_verifier'])
74-
75-
realm_id = request.GET['realmId']
76-
access_token = client.access_token
77-
access_token_secret = client.access_token_secret
53+
# def test_temp(self):
54+
# session_manager = Oauth1SessionManager(
55+
# sandbox=True,
56+
# consumer_key=os.environ.get('CONSUMER_KEY'),
57+
# consumer_secret=os.environ.get('CONSUMER_SECRET'),
58+
# callback_url='http://localhost:8000'
59+
# )
60+
#
61+
# authorize_url = session_manager.get_authorize_url()
62+
#
63+
# print authorize_url
64+
# print session_manager.request_token
65+
# print session_manager.request_token_secret
66+
#
67+
# session_manager.authorize_url = authorize_url
68+
# #session_manager.request_token = request_token
69+
# #session_manager.request_token_secret = request_token_secret
70+
# session_manager.set_up_service()
71+
#
72+
# session_manager.get_access_tokens(request.GET['oauth_verifier'])
73+
#
74+
# realm_id = request.GET['realmId']
75+
# access_token = client.access_token
76+
# access_token_secret = client.access_token_secret

tests/integration/test_attachable.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import unittest
33
from datetime import datetime
44

5+
from quickbooks.auth import Oauth1SessionManager
56
from quickbooks.client import QuickBooks
67
from quickbooks.objects.attachable import Attachable
78
from quickbooks.objects.base import Ref, AttachableRef
@@ -10,12 +11,17 @@
1011

1112
class AttachableTest(unittest.TestCase):
1213
def setUp(self):
13-
self.qb_client = QuickBooks(
14+
self.session_manager = Oauth1SessionManager(
1415
sandbox=True,
1516
consumer_key=os.environ.get('CONSUMER_KEY'),
1617
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1718
access_token=os.environ.get('ACCESS_TOKEN'),
1819
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
20+
)
21+
22+
self.qb_client = QuickBooks(
23+
session_manager=self.session_manager,
24+
sandbox=True,
1925
company_id=os.environ.get('COMPANY_ID')
2026
)
2127

tests/integration/test_bill.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import unittest
33
from datetime import datetime
44

5+
from quickbooks.auth import Oauth1SessionManager
56
from quickbooks.client import QuickBooks
67
from quickbooks.objects.base import Ref
78
from quickbooks.objects.bill import Bill
@@ -11,12 +12,17 @@
1112

1213
class BillTest(unittest.TestCase):
1314
def setUp(self):
14-
self.qb_client = QuickBooks(
15+
self.session_manager = Oauth1SessionManager(
1516
sandbox=True,
1617
consumer_key=os.environ.get('CONSUMER_KEY'),
1718
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1819
access_token=os.environ.get('ACCESS_TOKEN'),
1920
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
21+
)
22+
23+
self.qb_client = QuickBooks(
24+
session_manager=self.session_manager,
25+
sandbox=True,
2026
company_id=os.environ.get('COMPANY_ID')
2127
)
2228

tests/integration/test_billpayment.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import unittest
33
from datetime import datetime
44

5+
from quickbooks.auth import Oauth1SessionManager
56
from quickbooks.client import QuickBooks
67
from quickbooks.objects.account import Account
78
from quickbooks.objects.bill import Bill
@@ -11,12 +12,17 @@
1112

1213
class BillPaymentTest(unittest.TestCase):
1314
def setUp(self):
14-
self.qb_client = QuickBooks(
15+
self.session_manager = Oauth1SessionManager(
1516
sandbox=True,
1617
consumer_key=os.environ.get('CONSUMER_KEY'),
1718
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1819
access_token=os.environ.get('ACCESS_TOKEN'),
1920
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
21+
)
22+
23+
self.qb_client = QuickBooks(
24+
session_manager=self.session_manager,
25+
sandbox=True,
2026
company_id=os.environ.get('COMPANY_ID')
2127
)
2228

tests/integration/test_creditmemo.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import unittest
33

4+
from quickbooks.auth import Oauth1SessionManager
45
from quickbooks.objects.customer import Customer
56
from quickbooks.objects.detailline import SalesItemLine
67
from quickbooks.objects.item import Item
@@ -11,12 +12,17 @@
1112

1213
class CreditMemoTest(unittest.TestCase):
1314
def setUp(self):
14-
self.qb_client = QuickBooks(
15+
self.session_manager = Oauth1SessionManager(
1516
sandbox=True,
1617
consumer_key=os.environ.get('CONSUMER_KEY'),
1718
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1819
access_token=os.environ.get('ACCESS_TOKEN'),
1920
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
21+
)
22+
23+
self.qb_client = QuickBooks(
24+
session_manager=self.session_manager,
25+
sandbox=True,
2026
company_id=os.environ.get('COMPANY_ID')
2127
)
2228

tests/integration/test_customer.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import os
33
import unittest
44

5+
from quickbooks.auth import Oauth1SessionManager
56
from quickbooks.objects.base import Address, PhoneNumber, EmailAddress
67

78
from quickbooks.objects.customer import Customer
@@ -11,12 +12,17 @@
1112

1213
class CustomerTest(unittest.TestCase):
1314
def setUp(self):
14-
self.qb_client = QuickBooks(
15+
self.session_manager = Oauth1SessionManager(
1516
sandbox=True,
1617
consumer_key=os.environ.get('CONSUMER_KEY'),
1718
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1819
access_token=os.environ.get('ACCESS_TOKEN'),
1920
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
21+
)
22+
23+
self.qb_client = QuickBooks(
24+
session_manager=self.session_manager,
25+
sandbox=True,
2026
company_id=os.environ.get('COMPANY_ID')
2127
)
2228

tests/integration/test_department.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,25 @@
22
import unittest
33
from datetime import datetime
44

5+
from quickbooks.auth import Oauth1SessionManager
56
from quickbooks.objects.department import Department
67

78
from quickbooks import QuickBooks
89

910

1011
class DepartmentTest(unittest.TestCase):
1112
def setUp(self):
12-
self.qb_client = QuickBooks(
13+
self.session_manager = Oauth1SessionManager(
1314
sandbox=True,
1415
consumer_key=os.environ.get('CONSUMER_KEY'),
1516
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1617
access_token=os.environ.get('ACCESS_TOKEN'),
1718
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
19+
)
20+
21+
self.qb_client = QuickBooks(
22+
session_manager=self.session_manager,
23+
sandbox=True,
1824
company_id=os.environ.get('COMPANY_ID')
1925
)
2026

tests/integration/test_deposit.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import os
22
import unittest
33

4+
from quickbooks.auth import Oauth1SessionManager
45
from quickbooks.objects.account import Account
56

67
from quickbooks.objects.deposit import Deposit, DepositLine, DepositLineDetail
@@ -10,12 +11,17 @@
1011

1112
class DepositTest(unittest.TestCase):
1213
def setUp(self):
13-
self.qb_client = QuickBooks(
14+
self.session_manager = Oauth1SessionManager(
1415
sandbox=True,
1516
consumer_key=os.environ.get('CONSUMER_KEY'),
1617
consumer_secret=os.environ.get('CONSUMER_SECRET'),
1718
access_token=os.environ.get('ACCESS_TOKEN'),
1819
access_token_secret=os.environ.get('ACCESS_TOKEN_SECRET'),
20+
)
21+
22+
self.qb_client = QuickBooks(
23+
session_manager=self.session_manager,
24+
sandbox=True,
1925
company_id=os.environ.get('COMPANY_ID')
2026
)
2127

0 commit comments

Comments
 (0)