8000 Some code improvements, fixes & Readme updates. by k4976 · Pull Request #61 · angel-one/smartapi-python · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Some code improvements, fixes & Readme updates. #61

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,34 @@ except Exception as e:
raise e

correlation_id = "abcde"
# Method 1: login api using password.
data = smartApi.generateSession(username, pwd, totp)

if data['status'] == False:
logger.error(data)
if data.get('status', False):
logger.info(f"Your login data: {data}")

else:
# login api call
# logger.info(f"You Credentials: {data}")
# To get authToken/jwtToken.
authToken = data['data']['jwtToken']
# To get refreshToken.
refreshToken = data['data']['refreshToken']
# fetch the feedtoken
# To get the feedtoken.
feedToken = smartApi.getfeedToken()
# fetch User Profile
res = smartApi.getProfile(refreshToken)

else:
# Error msg if can't able to login with password(pin).
logger.error(data)

# Method 2: To login or generate authToken/jwtToken using RefreshToken.
refreshToken = "Your refresh token from last login"
smartApi.generateToken(refreshToken)
res=res['data']['exchanges']

# fetch User Profile
res = smartApi.getProfile()

if not res.get('status'):
logger.error(f"Can't login check your credentials: {res}.")

else:
#place order
try:
orderparams = {
Expand Down Expand Up @@ -127,7 +138,7 @@ else:
logger.exception(f"Historic Api failed: {e}")
#logout
try:
logout=smartApi.terminateSession('Your Client Id')
logout=smartApi.terminateSession()
logger.info("Logout Successfull")
except Exception as e:
logger.exception(f"Logout failed: {e}")
Expand Down
14 changes: 7 additions & 7 deletions SmartApi/smartConnect.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,8 +160,8 @@ def setSessionExpiryHook(self, method):
raise TypeError("Invalid input type. Only functions are accepted.")
self.session_expiry_hook = method

def getUserId():
return userId
def getUserId(self):
return self.userId

def setUserId(self,id):
self.userId=id
Expand Down Expand Up @@ -270,7 +270,7 @@ def generateSession(self,clientCode,password,totp):
params={"clientcode":clientCode,"password":password,"totp":totp}
loginResultObject=self._postRequest("api.login",params)

if loginResultObject['status']==True:
if loginResultObject.get('status')==True:
jwtToken=loginResultObject['data']['jwtToken']
self.setAccessToken(jwtToken)
refreshToken = loginResultObject['data']['refreshToken']
Expand All @@ -290,8 +290,8 @@ def generateSession(self,clientCode,password,totp):
else:
return loginResultObject

def terminateSession(self,clientCode):
logoutResponseObject=self._postRequest("api.logout",{"clientcode":clientCode})
def terminateSession(self):
logoutResponseObject=self._postRequest("api.logout",{"clientcode":self.userId})
return logoutResponseObject

def generateToken(self,refresh_token):
Expand Down Expand Up @@ -319,8 +319,8 @@ def renewAccessToken(self):

return tokenSet

def getProfile(self,refreshToken):
user=self._getRequest("api.user.profile",{"refreshToken":refreshToken})
def getProfile(self):
user=self._getRequest("api.user.profile")
return user

def placeOrder(self,orderparams):
Expand Down
0