quantplay 2.0.70__tar.gz → 2.0.72__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. {quantplay-2.0.70 → quantplay-2.0.72}/PKG-INFO +1 -1
  2. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/aliceblue.py +2 -2
  3. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/angelone.py +1 -1
  4. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/auto_login/aliceblue.py +2 -2
  5. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/five_paisa.py +1 -1
  6. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/ft_utils/flattrade_utils.py +2 -2
  7. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/generics/broker.py +1 -1
  8. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/kite_utils.py +3 -3
  9. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/motilal.py +5 -3
  10. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/shoonya.py +1 -1
  11. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/uplink/uplink_utils.py +2 -2
  12. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/xts.py +1 -1
  13. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay.egg-info/PKG-INFO +1 -1
  14. {quantplay-2.0.70 → quantplay-2.0.72}/setup.py +1 -1
  15. {quantplay-2.0.70 → quantplay-2.0.72}/README.md +0 -0
  16. {quantplay-2.0.70 → quantplay-2.0.72}/pyproject.toml +0 -0
  17. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/__init__.py +0 -0
  18. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/__init__.py +0 -0
  19. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/auto_login/__init__.py +0 -0
  20. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/broker_factory.py +0 -0
  21. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/dhan.py +0 -0
  22. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/finvasia_utils/__init__.py +0 -0
  23. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/finvasia_utils/fa_noren.py +0 -0
  24. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/flattrade.py +0 -0
  25. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/ft_utils/__init__.py +0 -0
  26. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/ft_utils/ft_noren.py +0 -0
  27. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/generics/__init__.py +0 -0
  28. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/iifl_xts.py +0 -0
  29. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/kotak.py +0 -0
  30. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/noren.py +0 -0
  31. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/uplink/__init__.py +0 -0
  32. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/upstox.py +0 -0
  33. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/xts_utils/Connect.py +0 -0
  34. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/xts_utils/Exception.py +0 -0
  35. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/xts_utils/InteractiveSocketClient.py +0 -0
  36. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/xts_utils/__init__.py +0 -0
  37. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/broker/zerodha.py +0 -0
  38. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/exception/__init__.py +0 -0
  39. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/exception/exceptions.py +0 -0
  40. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/model/__init__.py +0 -0
  41. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/model/broker.py +0 -0
  42. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/model/generics.py +0 -0
  43. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/model/instrument_data.py +0 -0
  44. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/model/order_event.py +0 -0
  45. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/py.typed +0 -0
  46. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/__init__.py +0 -0
  47. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/caching.py +0 -0
  48. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/constant.py +0 -0
  49. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/exchange.py +0 -0
  50. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/number_utils.py +0 -0
  51. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/pickle_utils.py +0 -0
  52. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/utils/selenium_utils.py +0 -0
  53. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/wrapper/__init__.py +0 -0
  54. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/wrapper/aws/__init__.py +0 -0
  55. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay/wrapper/aws/s3.py +0 -0
  56. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay.egg-info/SOURCES.txt +0 -0
  57. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay.egg-info/dependency_links.txt +0 -0
  58. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay.egg-info/requires.txt +0 -0
  59. {quantplay-2.0.70 → quantplay-2.0.72}/quantplay.egg-info/top_level.txt +0 -0
  60. {quantplay-2.0.70 → quantplay-2.0.72}/setup.cfg +0 -0
  61. {quantplay-2.0.70 → quantplay-2.0.72}/tests/__init__.py +0 -0
  62. {quantplay-2.0.70 → quantplay-2.0.72}/tests/conftest.py +0 -0
  63. {quantplay-2.0.70 → quantplay-2.0.72}/tests/wrapper/__init__.py +0 -0
  64. {quantplay-2.0.70 → quantplay-2.0.72}/tests/wrapper/aws/__init__.py +0 -0
  65. {quantplay-2.0.70 → quantplay-2.0.72}/tests/wrapper/aws/s3_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quantplay
3
- Version: 2.0.70
3
+ Version: 2.0.72
4
4
  Summary: This python package will be stored in AWS CodeArtifact
5
5
  Home-page:
6
6
  Author:
@@ -234,7 +234,7 @@ class Aliceblue(Broker):
234
234
  Constants.logger.info(f"[PLACE_ORDER_RESPONSE] {response}")
235
235
  return response["NOrdNo"]
236
236
  except Exception as e:
237
- print(traceback.print_exc())
237
+ traceback.print_exc()
238
238
  exception_message = f"Order placement failed [{str(e)}]"
239
239
  raise QuantplayOrderPlacementException(exception_message)
240
240
 
@@ -307,7 +307,7 @@ class Aliceblue(Broker):
307
307
  )
308
308
  logger.info(f"[MODIFY_ORDER_RESPONSE] [{order_id}] response [{response}]")
309
309
  except Exception as e:
310
- print(traceback.print_exc())
310
+ traceback.print_exc()
311
311
  Constants.logger.error(
312
312
  f"[MODIFY_ORDER_FAILED] {data} with exception {str(e)}"
313
313
  )
@@ -79,7 +79,7 @@ class AngelOne(Broker):
79
79
  self.wrapper.generateSession, # type: ignore
80
80
  clientCode=user_id,
81
81
  password=mpin,
82
- totp=pyotp.TOTP(totp).now(),
82
+ totp=pyotp.TOTP(str(totp)).now(),
83
83
  )
84
84
 
85
85
  if response["status"] is False:
@@ -83,7 +83,7 @@ class AliceblueLogin:
83
83
  AliceblueLogin.click_on_login(driver)
84
84
  AliceblueLogin.enter_user_id(driver, user_id)
85
85
  AliceblueLogin.enter_password(driver, password)
86
- AliceblueLogin.enter_totp(driver, pyotp.TOTP(totp).now())
86
+ AliceblueLogin.enter_totp(driver, pyotp.TOTP(str(totp)).now())
87
87
 
88
88
  except binascii.Error:
89
89
  raise InvalidArgumentException("Invalid TOTP key provided")
@@ -97,5 +97,5 @@ class AliceblueLogin:
97
97
  traceback.print_exc()
98
98
  raise RetryableException("Selenium setup need to be fixed")
99
99
  except Exception as e:
100
- print(traceback.print_exc())
100
+ traceback.print_exc()
101
101
  raise RetryableException(str(e))
@@ -77,7 +77,7 @@ class FivePaisa(Broker):
77
77
  if totp is None:
78
78
  raise InvalidArgumentException("TOTP Key is Missing")
79
79
 
80
- self.client.get_totp_session(client_id, pyotp.TOTP(totp).now(), pin)
80
+ self.client.get_totp_session(client_id, pyotp.TOTP(str(totp)).now(), pin)
81
81
 
82
82
  try:
83
83
  self.margins()
@@ -33,7 +33,7 @@ class FlatTradeUtils:
33
33
  )
34
34
  def get_request_code(api_key: str, user_id: str, password: str, totp: str):
35
35
  try:
36
- pyotp.TOTP(totp).now()
36
+ pyotp.TOTP(str(totp)).now()
37
37
  driver = Selenium().get_browser()
38
38
 
39
39
  flattrade_url = f"https://auth.flattrade.in/?app_key={api_key}"
@@ -48,7 +48,7 @@ class FlatTradeUtils:
48
48
  password_element.send_keys(password)
49
49
 
50
50
  totp_pin = driver.find_element("xpath", FlatTradeUtils.totp_xpath)
51
- totp_pin.send_keys(pyotp.TOTP(totp).now())
51
+ totp_pin.send_keys(pyotp.TOTP(str(totp)).now())
52
52
 
53
53
  time.sleep(1)
54
54
 
@@ -619,7 +619,7 @@ class Broker(ABC):
619
619
  self.order_log[order_id] = copy.deepcopy(order)
620
620
  time.sleep(3)
621
621
  except Exception:
622
- print(traceback.print_exc())
622
+ traceback.print_exc()
623
623
  print(f"Unable to process order stream for {self.user_id}")
624
624
  time.sleep(5)
625
625
 
@@ -70,7 +70,7 @@ class KiteUtils:
70
70
  raise InvalidArgumentException("Password Key is Missing")
71
71
 
72
72
  try:
73
- pyotp.TOTP(totp).now()
73
+ pyotp.TOTP(str(totp)).now()
74
74
  driver = Selenium().get_browser()
75
75
 
76
76
  kite_url = "https://kite.trade/connect/login?api_key={}&v=3".format(api_key)
@@ -95,7 +95,7 @@ class KiteUtils:
95
95
  KiteUtils.check_error(page_source)
96
96
 
97
97
  kite_pin = driver.find_element("xpath", KiteUtils.kite_pin_xpath)
98
- kite_pin.send_keys(pyotp.TOTP(totp).now())
98
+ kite_pin.send_keys(pyotp.TOTP(str(totp)).now())
99
99
  time.sleep(1)
100
100
 
101
101
  page_source = driver.page_source
@@ -119,5 +119,5 @@ class KiteUtils:
119
119
  except WebDriverException:
120
120
  raise RetryableException("Selenium setup need to be fixed")
121
121
  except Exception as e:
122
- print(traceback.print_exc())
122
+ traceback.print_exc()
123
123
  raise RetryableException(str(e))
@@ -194,12 +194,14 @@ class Motilal(Broker):
194
194
  return exchange
195
195
 
196
196
  def get_product(self, product: ProductType):
197
+ # TODO: Use Maps Instead
197
198
  if product == "CNC":
198
199
  return "DELIVERY"
199
200
  elif product == "NRML":
200
201
  return "NORMAL"
201
202
  elif product == "MIS":
202
203
  return "NORMAL"
204
+
203
205
  return product
204
206
 
205
207
  def place_order_quantity(
@@ -231,11 +233,11 @@ class Motilal(Broker):
231
233
  def generate_token(
232
234
  self, user_id: str, password: str, api_key: str, two_fa: str, totp: str
233
235
  ):
234
- current_totp = pyotp.TOTP(totp).now()
236
+ current_totp = pyotp.TOTP(str(totp)).now()
235
237
  Constants.logger.info("TOTP is {}".format(current_totp))
236
238
  # initializing string
237
- str = "{}{}".format(password, api_key)
238
- result = hashlib.sha256(str.encode())
239
+ encoded_str = "{}{}".format(password, api_key)
240
+ result = hashlib.sha256(encoded_str.encode())
239
241
 
240
242
  data = {
241
243
  "userid": user_id,
@@ -42,7 +42,7 @@ class FinvAsia(Noren):
42
42
  "uname": None,
43
43
  }
44
44
  elif user_id and password and totp and vendor_code and api_secret and imei:
45
- totp = pyotp.TOTP(totp).now()
45
+ totp = pyotp.TOTP(str(totp)).now()
46
46
  response = self.login(
47
47
  user_id=user_id,
48
48
  password=password,
@@ -85,7 +85,7 @@ class UplinkUtils:
85
85
  time.sleep(1)
86
86
 
87
87
  totp_element = driver.find_element("xpath", UplinkUtils.totp_xpath)
88
- totp_now = pyotp.TOTP(totp).now()
88
+ totp_now = pyotp.TOTP(str(totp)).now()
89
89
  totp_element.send_keys(totp_now)
90
90
  time.sleep(1)
91
91
 
@@ -115,5 +115,5 @@ class UplinkUtils:
115
115
  except WebDriverException:
116
116
  raise RetryableException("Selenium setup need to be fixed")
117
117
  except Exception as e:
118
- print(traceback.print_exc())
118
+ traceback.print_exc()
119
119
  raise RetryableException(str(e))
@@ -68,7 +68,7 @@ class XTS(Broker):
68
68
  raise Exception("Missing Arguments")
69
69
 
70
70
  except Exception as e:
71
- print(traceback.print_exc())
71
+ traceback.print_exc()
72
72
  raise e
73
73
 
74
74
  if load_instrument:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quantplay
3
- Version: 2.0.70
3
+ Version: 2.0.72
4
4
  Summary: This python package will be stored in AWS CodeArtifact
5
5
  Home-page:
6
6
  Author:
@@ -21,7 +21,7 @@ requirements = [
21
21
  setup(
22
22
  name="quantplay",
23
23
  long_description=Path("README.md").read_text(),
24
- version="2.0.70",
24
+ version="2.0.72",
25
25
  setup_requires=["pytest-runner"],
26
26
  install_requires=requirements,
27
27
  tests_require=[],
File without changes
File without changes
File without changes
File without changes
File without changes