leadguru-jobs 0.657.0__tar.gz → 0.659.0__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 (116) hide show
  1. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/enums.py +0 -1
  4. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/bots/dedicated_bot.py +1 -1
  5. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/notifications/notification.py +7 -6
  6. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/mongo_repository.py +1 -1
  7. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/MANIFEST.in +0 -0
  8. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/README.md +0 -0
  9. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
  10. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  11. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  12. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  13. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  14. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/__init__.py +0 -0
  15. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/assets/images/arrow.png +0 -0
  16. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/assets/images/firework.png +0 -0
  17. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/assets/images/lock.png +0 -0
  18. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/assets/images/logo.png +0 -0
  19. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/assets/images/mail.png +0 -0
  20. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/basejobs.py +0 -0
  21. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/env.py +0 -0
  22. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/__init__.py +0 -0
  23. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/analytics.py +0 -0
  24. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/bot_stats_update.py +0 -0
  25. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/chat_history.py +0 -0
  26. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  27. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  28. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/load_slack_people.py +0 -0
  29. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/mass_message.py +0 -0
  30. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/send_code.py +0 -0
  31. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  32. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
  33. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
  34. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  35. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  36. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  37. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  38. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  39. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  40. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/helpers.py +0 -0
  41. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  42. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  43. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  44. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  45. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  46. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  47. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  48. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  49. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  50. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/engine.py +0 -0
  51. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  52. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/model.py +0 -0
  53. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/__init__.py +0 -0
  54. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/base.py +0 -0
  55. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/boards/__init__.py +0 -0
  56. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/boards/board.py +0 -0
  57. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/boards/status.py +0 -0
  58. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/bots/__init__.py +0 -0
  59. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/bots/base_bot.py +0 -0
  60. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/bots/bot_info.py +0 -0
  61. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/__init__.py +0 -0
  62. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/file.py +0 -0
  63. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/grouped_messages.py +0 -0
  64. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/message.py +0 -0
  65. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/request.py +0 -0
  66. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/chat/scheduled_message.py +0 -0
  67. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/contacts/__init__.py +0 -0
  68. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/contacts/contact.py +0 -0
  69. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/__init__.py +0 -0
  70. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/cloud/__init__.py +0 -0
  71. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/cloud/file.py +0 -0
  72. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/discord/__init__.py +0 -0
  73. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/discord/user.py +0 -0
  74. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/slack/__init__.py +0 -0
  75. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/slack/timezone.py +0 -0
  76. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/slack/user.py +0 -0
  77. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/external/user_workspace.py +0 -0
  78. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/leads/__init__.py +0 -0
  79. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/leads/config.py +0 -0
  80. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/leads/extended_lead.py +0 -0
  81. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/leads/lead.py +0 -0
  82. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/leads/message.py +0 -0
  83. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/notifications/__init__.py +0 -0
  84. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/notifications/notification_settings.py +0 -0
  85. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/people/__init__.py +0 -0
  86. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/people/people.py +0 -0
  87. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/people/profile.py +0 -0
  88. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/post/__init__.py +0 -0
  89. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/post/message.py +0 -0
  90. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/post/post.py +0 -0
  91. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/templates/__init__.py +0 -0
  92. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/templates/template.py +0 -0
  93. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/__init__.py +0 -0
  94. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/feature.py +0 -0
  95. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/general_settings.py +0 -0
  96. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/reset_password.py +0 -0
  97. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/subscription.py +0 -0
  98. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/user.py +0 -0
  99. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/user_follow_ups.py +0 -0
  100. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/user_page.py +0 -0
  101. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user/verification.py +0 -0
  102. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user_leads/__init__.py +0 -0
  103. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user_leads/extended_user_lead.py +0 -0
  104. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/models/user_leads/user_lead.py +0 -0
  105. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/repositories/__init__.py +0 -0
  106. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/repositories/post/__init__.py +0 -0
  107. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/lgt_data/repositories/post/posts.py +0 -0
  108. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/main.py +0 -0
  109. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/runner.py +0 -0
  110. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/services/__init__.py +0 -0
  111. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/services/web_client.py +0 -0
  112. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/simple_job.py +0 -0
  113. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/smtp.py +0 -0
  114. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/lgt_jobs/templates/new_message.html +0 -0
  115. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/setup.cfg +0 -0
  116. {leadguru_jobs-0.657.0 → leadguru_jobs-0.659.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.657.0
3
+ Version: 0.659.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.657.0
3
+ Version: 0.659.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -97,4 +97,3 @@ class NotificationType(str, Enum):
97
97
  ONCE_A_WEEK = 'once_a_week'
98
98
  WEEK_BEFORE = 'week_before'
99
99
  UNREAD_FOR_FEW_MINUTES = 'unread_for_few_minutes'
100
- FEW_MINUTES_BEFORE = 'few_minutes_before'
@@ -48,7 +48,7 @@ class Server:
48
48
 
49
49
  def __init__(self):
50
50
  self.id = None
51
- self.name = None
51
+ self.name: str | None = None
52
52
  self.channels: List[Channel] = []
53
53
  self.icon = None
54
54
  self.active = False
@@ -37,7 +37,7 @@ class Notification(DictionaryModel):
37
37
  return False
38
38
 
39
39
  if ((self.type == NotificationType.ONCE_A_DAY or self.type == NotificationType.ONCE_A_WEEK)
40
- and now.hour != self.hour and now.minute < self.minute):
40
+ and (now.hour != self.hour or now.minute < self.minute)):
41
41
  return False
42
42
 
43
43
  if ((self.type == NotificationType.ONCE_A_DAY or self.type == NotificationType.ONCE_A_WEEK)
@@ -200,7 +200,8 @@ class FollowUpNotification(Notification):
200
200
 
201
201
  @property
202
202
  def need_to_notify_now(self) -> bool:
203
- allowed_types = [NotificationType.ONCE_A_DAY, NotificationType.ONCE_A_DAY, NotificationType.FEW_MINUTES_BEFORE]
203
+ allowed_types = [NotificationType.ONCE_A_DAY, NotificationType.ONCE_A_DAY,
204
+ NotificationType.UNREAD_FOR_FEW_MINUTES]
204
205
  if not self.enabled or self.type not in allowed_types:
205
206
  return False
206
207
 
@@ -219,7 +220,7 @@ class FollowUpNotification(Notification):
219
220
  return True
220
221
 
221
222
  def has_not_notified_leads(self, actual: list[UserLeadModel]) -> bool:
222
- if self.type == NotificationType.FEW_MINUTES_BEFORE and self.last_notification:
223
+ if self.type == NotificationType.UNREAD_FOR_FEW_MINUTES and self.last_notification:
223
224
  self.last_notification = self.last_notification.replace(tzinfo=UTC)
224
225
  not_notified_leads = [lead for lead in actual if lead.followup_date.replace(tzinfo=UTC) >
225
226
  (self.last_notification + timedelta(minutes=self.minute))]
@@ -235,7 +236,7 @@ class FollowUpNotification(Notification):
235
236
 
236
237
  def get_button_url(self, actual: list[UserLeadModel]) -> str:
237
238
  if len(actual) > 1:
238
- if self.type == NotificationType.ONCE_A_DAY or self.type == NotificationType.FEW_MINUTES_BEFORE:
239
+ if self.type == NotificationType.ONCE_A_DAY or self.type == NotificationType.UNREAD_FOR_FEW_MINUTES:
239
240
  return f'{portal_url}/dashboard/calendar?view=day'
240
241
  return f'{portal_url}/dashboard/calendar?view=week'
241
242
  return f'{portal_url}/feed?senderId={actual[0].message.sender_id}&sourceId={actual[0].message.source.source_id}'
@@ -247,7 +248,7 @@ class FollowUpNotification(Notification):
247
248
  return f'{subject_text} for today'
248
249
  elif self.type == NotificationType.ONCE_A_WEEK:
249
250
  return f'{subject_text} for this week'
250
- elif self.type == NotificationType.FEW_MINUTES_BEFORE:
251
+ elif self.type == NotificationType.UNREAD_FOR_FEW_MINUTES:
251
252
  return f'{subject_text} for today in {self.minute} minutes'
252
253
 
253
254
  return subject_text
@@ -273,7 +274,7 @@ class FollowUpNotification(Notification):
273
274
  case _:
274
275
  notification_text = (f'You have planned to send follow-up to {", ".join(names[:3])} '
275
276
  f'and {len(names) - 3} other leads this week.')
276
- elif self.type == NotificationType.FEW_MINUTES_BEFORE:
277
+ elif self.type == NotificationType.UNREAD_FOR_FEW_MINUTES:
277
278
  match len(actual):
278
279
  case 1:
279
280
  notification_text = (f'You have planned to send follow-up today in '
@@ -254,7 +254,7 @@ class UserLeadMongoRepository(BaseMongoRepository):
254
254
  },
255
255
  {
256
256
  'case': {'$eq': ['$user.notification_settings.follow_ups.type',
257
- 'few_minutes_before']},
257
+ 'unread_for_few_minutes']},
258
258
  'then': {
259
259
  '$dateSubtract': {
260
260
  'startDate': now,