PKDevTools 0.13.20250211.223__tar.gz → 0.13.20250212.224__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/DBManager.py +19 -0
  2. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/UserSubscriptions.py +26 -26
  3. pkdevtools-0.13.20250212.224/PKDevTools/classes/__init__.py +1 -0
  4. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/PKG-INFO +2 -2
  5. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKG-INFO +2 -2
  6. pkdevtools-0.13.20250211.223/PKDevTools/classes/__init__.py +0 -1
  7. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/LICENSE +0 -0
  8. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/LICENSE.txt +0 -0
  9. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/README.txt +0 -0
  10. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/__init__.py +0 -0
  11. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Archiver.py +0 -0
  12. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/ColorText.py +0 -0
  13. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Committer.py +0 -0
  14. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/CookieHelper.py +0 -0
  15. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Environment.py +0 -0
  16. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Fetcher.py +0 -0
  17. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/FunctionTimeouts.py +0 -0
  18. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/GmailReader.py +0 -0
  19. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/MarketHours.py +0 -0
  20. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/MenuOptions.py +0 -0
  21. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/NSEMarketStatus.py +0 -0
  22. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/OutputControls.py +0 -0
  23. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKDateUtilities.py +0 -0
  24. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  25. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKJoinableQueue.py +0 -0
  26. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  27. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKPickler.py +0 -0
  28. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/PKTimer.py +0 -0
  29. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Pikey.py +0 -0
  30. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Singleton.py +0 -0
  31. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/SuppressOutput.py +0 -0
  32. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/System.py +0 -0
  33. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Telegram.py +0 -0
  34. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/Utils.py +0 -0
  35. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/WorkflowManager.py +0 -0
  36. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/githubutilities.py +0 -0
  37. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/log.py +0 -0
  38. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/multiprocessing_logging.py +0 -0
  39. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/squash.py +0 -0
  40. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/classes/updater.py +0 -0
  41. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/release.md +0 -0
  42. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools/requirements.txt +0 -0
  43. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/SOURCES.txt +0 -0
  44. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/dependency_links.txt +0 -0
  45. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/entry_points.txt +0 -0
  46. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/not-zip-safe +0 -0
  47. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/requires.txt +0 -0
  48. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/PKDevTools.egg-info/top_level.txt +0 -0
  49. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/README.md +0 -0
  50. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/setup.cfg +0 -0
  51. {pkdevtools-0.13.20250211.223 → pkdevtools-0.13.20250212.224}/setup.py +0 -0
@@ -333,6 +333,9 @@ class DBManager:
333
333
  self.conn = None
334
334
 
335
335
  def getUsers(self):
336
+ """
337
+ Returns all active PKUser instances in the database or an empty list if none is found.
338
+ """
336
339
  try:
337
340
  users = []
338
341
  cursor = self.connection() #.cursor()
@@ -354,6 +357,10 @@ class DBManager:
354
357
  return users
355
358
 
356
359
  def alertsForUser(self,userID:int):
360
+ """
361
+ Returns a PKUser instance with user's updated balance for daily alerts
362
+ and relevant subscribed scannerJobs for a given userID or None.
363
+ """
357
364
  try:
358
365
  users = []
359
366
  cursor = self.connection()
@@ -374,6 +381,10 @@ class DBManager:
374
381
  return users[0] if len(users) > 0 else None
375
382
 
376
383
  def scannerJobsWithActiveUsers(self):
384
+ """
385
+ Returns all such PKScannerJob instances with (scannerIDs and subscribed userIds)
386
+ where there's at least one subscribed user.
387
+ """
377
388
  try:
378
389
  scanners = []
379
390
  cursor = self.connection()
@@ -393,6 +404,10 @@ class DBManager:
393
404
  return scanners
394
405
 
395
406
  def usersForScannerJobId(self,scannerJobId:str):
407
+ """
408
+ Returns userIds that are subscribed to a given scannerJobId or an
409
+ empty list if that scannerJobId is not found.
410
+ """
396
411
  try:
397
412
  scanners = []
398
413
  cursor = self.connection()
@@ -412,6 +427,10 @@ class DBManager:
412
427
  return scanners[0].userIds if len(scanners) > 0 else []
413
428
 
414
429
  def updateAlertSubscriptionModel(self,userID,charge:float,scanId:str):
430
+ """
431
+ Updates alertsubscriptions with balance update as well as scanner jobs
432
+ for a given user in the same table
433
+ """
415
434
  try:
416
435
  success = False
417
436
  result = self.connection().execute("""
@@ -29,13 +29,13 @@ from PKDevTools.classes.PKDateUtilities import PKDateUtilities
29
29
 
30
30
  class PKSubscriptionModel(Enum):
31
31
  No_Subscription = 0
32
- One_Regular_Scan_Unlimited_Alerts_One_Day = 31
33
- One_Piped_Scan_Unlimited_Alerts_One_Day = 40
34
- All_Scans_One_Day = 130
35
- All_Scans_One_Week = 600
36
- All_Scans_One_Month = 2000
37
- All_Scans_Six_Months = 11000
38
- All_Scans_One_Year = 22000
32
+ One_Reg_Scan_Alerts_1_Day = 31
33
+ One_Piped_Scan_Alerts_1_Day = 40
34
+ All_Scans_1_Day = 130
35
+ All_Scans_1_Week = 600
36
+ All_Scans_1_Month = 2000
37
+ All_Scans_6_Months = 11000
38
+ All_Scans_1_Year = 22000
39
39
 
40
40
  class PKUserSusbscriptions:
41
41
 
@@ -126,15 +126,15 @@ class PKUserSusbscriptions:
126
126
  # the subscription validity has not been updated so far
127
127
  # Update validity of subscription
128
128
  n = 1
129
- if user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Day.value):
129
+ if user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Day.value):
130
130
  n = 1
131
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Week.value):
131
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Week.value):
132
132
  n = 6
133
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Month.value):
133
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Month.value):
134
134
  n = 29
135
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_Six_Months.value):
135
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_6_Months.value):
136
136
  n = 179
137
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Year.value):
137
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Year.value):
138
138
  n = 364
139
139
  user.otpvaliduntil = PKDateUtilities.YmdStringFromDate(PKDateUtilities.currentDateTime(),n=n)
140
140
  created, fileKey = dbManager.refreshOTPForUser(user)
@@ -170,24 +170,24 @@ class PKUserSusbscriptions:
170
170
  def subscriptionKeyValuePairs(self):
171
171
  return {
172
172
  f"{PKSubscriptionModel.No_Subscription.name}":f"{str(PKSubscriptionModel.No_Subscription.value)}",
173
- f"{PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.name}":f"{str(PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.value)}",
174
- f"{PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.name}":f"{str(PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.value)}",
175
- f"{PKSubscriptionModel.All_Scans_One_Day.name}":f"{str(PKSubscriptionModel.All_Scans_One_Day.value)}",
176
- f"{PKSubscriptionModel.All_Scans_One_Week.name}":f"{str(PKSubscriptionModel.All_Scans_One_Week.value)}",
177
- f"{PKSubscriptionModel.All_Scans_One_Month.name}":f"{str(PKSubscriptionModel.All_Scans_One_Month.value)}",
178
- f"{PKSubscriptionModel.All_Scans_Six_Months.name}":f"{str(PKSubscriptionModel.All_Scans_Six_Months.value)}",
179
- f"{PKSubscriptionModel.All_Scans_One_Year.name}":f"{str(PKSubscriptionModel.All_Scans_One_Year.value)}"
173
+ f"{PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.name}":f"{str(PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.value)}",
174
+ f"{PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.name}":f"{str(PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.value)}",
175
+ f"{PKSubscriptionModel.All_Scans_1_Day.name}":f"{str(PKSubscriptionModel.All_Scans_1_Day.value)}",
176
+ f"{PKSubscriptionModel.All_Scans_1_Week.name}":f"{str(PKSubscriptionModel.All_Scans_1_Week.value)}",
177
+ f"{PKSubscriptionModel.All_Scans_1_Month.name}":f"{str(PKSubscriptionModel.All_Scans_1_Month.value)}",
178
+ f"{PKSubscriptionModel.All_Scans_6_Months.name}":f"{str(PKSubscriptionModel.All_Scans_6_Months.value)}",
179
+ f"{PKSubscriptionModel.All_Scans_1_Year.name}":f"{str(PKSubscriptionModel.All_Scans_1_Year.value)}"
180
180
  }
181
181
 
182
182
  @property
183
183
  def subscriptionValueKeyPairs(self):
184
184
  return {
185
185
  f"{PKSubscriptionModel.No_Subscription.value}":f"{str(PKSubscriptionModel.No_Subscription.name)}",
186
- f"{PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.value}":f"{str(PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.name)}",
187
- f"{PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.value}":f"{str(PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.name)}",
188
- f"{PKSubscriptionModel.All_Scans_One_Day.value}":f"{str(PKSubscriptionModel.All_Scans_One_Day.name)}",
189
- f"{PKSubscriptionModel.All_Scans_One_Week.value}":f"{str(PKSubscriptionModel.All_Scans_One_Week.name)}",
190
- f"{PKSubscriptionModel.All_Scans_One_Month.value}":f"{str(PKSubscriptionModel.All_Scans_One_Month.name)}",
191
- f"{PKSubscriptionModel.All_Scans_Six_Months.value}":f"{str(PKSubscriptionModel.All_Scans_Six_Months.name)}",
192
- f"{PKSubscriptionModel.All_Scans_One_Year.value}":f"{str(PKSubscriptionModel.All_Scans_One_Year.name)}"
186
+ f"{PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.value}":f"{str(PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.name)}",
187
+ f"{PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.value}":f"{str(PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.name)}",
188
+ f"{PKSubscriptionModel.All_Scans_1_Day.value}":f"{str(PKSubscriptionModel.All_Scans_1_Day.name)}",
189
+ f"{PKSubscriptionModel.All_Scans_1_Week.value}":f"{str(PKSubscriptionModel.All_Scans_1_Week.name)}",
190
+ f"{PKSubscriptionModel.All_Scans_1_Month.value}":f"{str(PKSubscriptionModel.All_Scans_1_Month.name)}",
191
+ f"{PKSubscriptionModel.All_Scans_6_Months.value}":f"{str(PKSubscriptionModel.All_Scans_6_Months.name)}",
192
+ f"{PKSubscriptionModel.All_Scans_1_Year.value}":f"{str(PKSubscriptionModel.All_Scans_1_Year.name)}"
193
193
  }
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250212.224'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250211.223
3
+ Version: 0.13.20250212.224
4
4
  Summary: A general day-to-day toolset for PKScreener repos
5
5
  Home-page: https://github.com/pkjmesra/PKDevTools
6
- Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250211.223.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250212.224.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250211.223
3
+ Version: 0.13.20250212.224
4
4
  Summary: A general day-to-day toolset for PKScreener repos
5
5
  Home-page: https://github.com/pkjmesra/PKDevTools
6
- Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250211.223.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250212.224.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -1 +0,0 @@
1
- VERSION='0.13.20250211.223'