leadguru-jobs 0.674.0__tar.gz → 0.676.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 (119) hide show
  1. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. leadguru_jobs-0.676.0/lgt_jobs/assets/images/logo.png +0 -0
  4. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/bot_stats_update.py +8 -19
  5. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/notifications/notification.py +2 -2
  6. leadguru_jobs-0.674.0/lgt_jobs/assets/images/logo.png +0 -0
  7. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/MANIFEST.in +0 -0
  8. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/README.md +0 -0
  9. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
  10. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  11. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  12. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  13. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  14. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/__init__.py +0 -0
  15. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/assets/images/arrow.png +0 -0
  16. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/assets/images/arrow_blue.png +0 -0
  17. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/assets/images/firework.png +0 -0
  18. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/assets/images/lock.png +0 -0
  19. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/assets/images/mail.png +0 -0
  20. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/basejobs.py +0 -0
  21. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/env.py +0 -0
  22. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/__init__.py +0 -0
  23. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/analytics.py +0 -0
  24. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/chat_history.py +0 -0
  25. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  26. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  27. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/load_slack_people.py +0 -0
  28. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/mass_message.py +0 -0
  29. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/send_code.py +0 -0
  30. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  31. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
  32. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
  33. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  34. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  35. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  36. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  37. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  38. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  39. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/helpers.py +0 -0
  40. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  41. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  42. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  43. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  44. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  45. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  46. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  47. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  48. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  49. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/engine.py +0 -0
  50. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/enums.py +0 -0
  51. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  52. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/model.py +0 -0
  53. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/__init__.py +0 -0
  54. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/base.py +0 -0
  55. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/boards/__init__.py +0 -0
  56. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/boards/board.py +0 -0
  57. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/boards/status.py +0 -0
  58. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/bots/__init__.py +0 -0
  59. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/bots/base_bot.py +0 -0
  60. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/bots/bot_info.py +0 -0
  61. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/bots/dedicated_bot.py +0 -0
  62. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/__init__.py +0 -0
  63. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/file.py +0 -0
  64. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/grouped_messages.py +0 -0
  65. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/message.py +0 -0
  66. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/request.py +0 -0
  67. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/chat/scheduled_message.py +0 -0
  68. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/contacts/__init__.py +0 -0
  69. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/contacts/contact.py +0 -0
  70. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/__init__.py +0 -0
  71. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/cloud/__init__.py +0 -0
  72. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/cloud/file.py +0 -0
  73. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/discord/__init__.py +0 -0
  74. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/discord/user.py +0 -0
  75. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/slack/__init__.py +0 -0
  76. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/slack/timezone.py +0 -0
  77. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/slack/user.py +0 -0
  78. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/external/user_workspace.py +0 -0
  79. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/leads/__init__.py +0 -0
  80. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/leads/config.py +0 -0
  81. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/leads/extended_lead.py +0 -0
  82. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/leads/lead.py +0 -0
  83. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/leads/message.py +0 -0
  84. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/notifications/__init__.py +0 -0
  85. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/notifications/notification_settings.py +0 -0
  86. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/people/__init__.py +0 -0
  87. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/people/people.py +0 -0
  88. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/people/profile.py +0 -0
  89. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/post/__init__.py +0 -0
  90. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/post/message.py +0 -0
  91. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/post/post.py +0 -0
  92. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/templates/__init__.py +0 -0
  93. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/templates/template.py +0 -0
  94. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/__init__.py +0 -0
  95. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/feature.py +0 -0
  96. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/general_settings.py +0 -0
  97. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/reset_password.py +0 -0
  98. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/subscription.py +0 -0
  99. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/typed_field.py +0 -0
  100. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/user.py +0 -0
  101. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/user_follow_ups.py +0 -0
  102. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/user_page.py +0 -0
  103. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user/verification.py +0 -0
  104. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user_leads/__init__.py +0 -0
  105. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user_leads/extended_user_lead.py +0 -0
  106. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/models/user_leads/user_lead.py +0 -0
  107. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/mongo_repository.py +0 -0
  108. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/repositories/__init__.py +0 -0
  109. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/repositories/post/__init__.py +0 -0
  110. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/lgt_data/repositories/post/posts.py +0 -0
  111. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/main.py +0 -0
  112. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/runner.py +0 -0
  113. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/services/__init__.py +0 -0
  114. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/services/web_client.py +0 -0
  115. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/simple_job.py +0 -0
  116. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/smtp.py +0 -0
  117. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/lgt_jobs/templates/new_message.html +0 -0
  118. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/setup.cfg +0 -0
  119. {leadguru_jobs-0.674.0 → leadguru_jobs-0.676.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.674.0
3
+ Version: 0.676.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.674.0
3
+ Version: 0.676.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -7,6 +7,7 @@ from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
7
7
  from lgt_jobs.lgt_data.enums import SourceType
8
8
  from lgt_jobs.lgt_data.models.bots.dedicated_bot import Server, Channel, DedicatedBotModel
9
9
  from lgt_jobs.lgt_data.models.external.discord.user import DiscordUser
10
+ from lgt_jobs.lgt_data.models.user.user import UserModel
10
11
  from lgt_jobs.lgt_data.mongo_repository import (DedicatedBotRepository, UserMongoRepository, SlackContactUserRepository,
11
12
  LeadMongoRepository, UserLeadMongoRepository)
12
13
  from pydantic import BaseModel
@@ -131,23 +132,9 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
131
132
  else:
132
133
  log.warning(f"[BotStatsUpdateJob]: Error during update bot {bot.id} stats. Error: {channels_response}")
133
134
  return
135
+
134
136
  channels = channels_response['channels']
135
- connected_channels = 0
136
- channels_users = {}
137
- active_channels = {}
138
- for channel in channels:
139
- if channel['is_member']:
140
- active_channels[channel['id']] = channel['name']
141
- connected_channels += 1
142
- num_members = channel.get('num_members', 0)
143
- channels_users[channel['id']] = num_members
144
-
145
- bot.active_channels = active_channels
146
- bot.connected_channels = connected_channels
147
- bot.channels = len(channels)
148
- bot.channels_users = channels_users
149
- if bot.recent_messages is None:
150
- bot.recent_messages = []
137
+ channels_users = {channel['id']:channel.get('num_members', 0) for channel in channels}
151
138
  max_users_count = 0
152
139
  if bot.servers:
153
140
  channels = [Channel.from_dic(channel_dict) for channel_dict in channels]
@@ -165,12 +152,14 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
165
152
  bot.servers[0].messages_received = received_messages.get(bot.source.source_id, 0)
166
153
  bot.servers[0].messages_filtered = filtered_messages.get(bot.source.source_id, 0)
167
154
 
168
- # save only last 50 messages
169
- bot.recent_messages = bot.recent_messages[-50:]
170
155
  bots_rep.add_or_update(bot)
171
156
 
172
157
  @staticmethod
173
- def __updated_invalid_creds_flag(bot: DedicatedBotModel, invalid_creds: bool):
158
+ def __updated_invalid_creds_flag(bot: DedicatedBotModel, invalid_creds: bool, user: UserModel):
174
159
  if bot.invalid_creds != invalid_creds:
175
160
  bot.invalid_creds = invalid_creds
176
161
  DedicatedBotRepository().add_or_update(bot)
162
+ if not invalid_creds:
163
+ user.notification_settings.source_deactivation.need_to_notify = True
164
+ UserMongoRepository().set(user.id, notification_settings=user.notification_settings.to_dic())
165
+
@@ -219,9 +219,9 @@ class SourceDeactivationNotification(Notification):
219
219
  return 'Inactivation of Community on Leadguru'
220
220
 
221
221
  def get_notification_text(self, bots: list[DedicatedBotModel]):
222
- names = [bot.source.source_name.capitalize() for bot in bots]
222
+ names = [server.name for bot in bots for server in bot.servers]
223
223
  if self.type == NotificationType.INSTANTLY:
224
- return f'{bots[-1].source.source_name.capitalize()} became inactive on Leadguru.'
224
+ return f'{names[-1].capitalize()} became inactive on Leadguru.'
225
225
  elif (self.type == NotificationType.ONCE_A_DAY or self.type == NotificationType.ONCE_A_WEEK) and bots:
226
226
  match len(bots):
227
227
  case 1: