leadguru-jobs 0.609.0__tar.gz → 0.610.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 (62) hide show
  1. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/bot_stats_update.py +15 -8
  4. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/workspace_connect.py +2 -2
  5. leadguru_jobs-0.610.0/lgt_jobs/lgt_common/helpers.py +5 -0
  6. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/mongo_repository.py +11 -0
  7. leadguru_jobs-0.609.0/lgt_jobs/lgt_common/helpers.py +0 -18
  8. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/MANIFEST.in +0 -0
  9. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/README.md +0 -0
  10. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
  11. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  12. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  13. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  14. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  15. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/__init__.py +0 -0
  16. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/assets/images/arrow.png +0 -0
  17. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/assets/images/firework.png +0 -0
  18. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/assets/images/lock.png +0 -0
  19. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/assets/images/logo.png +0 -0
  20. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/assets/images/mail.png +0 -0
  21. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/basejobs.py +0 -0
  22. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/env.py +0 -0
  23. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/__init__.py +0 -0
  24. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/analytics.py +0 -0
  25. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/chat_history.py +0 -0
  26. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  27. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  28. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/load_slack_people.py +0 -0
  29. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/mass_message.py +0 -0
  30. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/send_code.py +0 -0
  31. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  32. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
  33. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/jobs/user_balance_update.py +0 -0
  34. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  35. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  36. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  37. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  38. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  39. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  40. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/lgt_logging.py +0 -0
  41. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  42. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  43. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  44. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  45. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  46. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  47. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  48. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  49. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  50. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/engine.py +0 -0
  51. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/enums.py +0 -0
  52. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  53. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/lgt_data/model.py +0 -0
  54. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/main.py +0 -0
  55. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/runner.py +0 -0
  56. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/services/__init__.py +0 -0
  57. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/services/web_client.py +0 -0
  58. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/simple_job.py +0 -0
  59. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/smtp.py +0 -0
  60. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/lgt_jobs/templates/new_message.html +0 -0
  61. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/setup.cfg +0 -0
  62. {leadguru_jobs-0.609.0 → leadguru_jobs-0.610.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.609.0
3
+ Version: 0.610.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.609.0
3
+ Version: 0.610.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -4,11 +4,11 @@ from abc import ABC
4
4
  from datetime import datetime, UTC, timedelta
5
5
  from typing import Optional
6
6
  from lgt_jobs.lgt_common.discord_client.discord_client import DiscordClient
7
- from lgt_jobs.lgt_common.helpers import get_formatted_bot_name
8
7
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
9
8
  from lgt_jobs.lgt_data.enums import SourceType
10
9
  from lgt_jobs.lgt_data.model import DedicatedBotModel, Server, Channel, DiscordUser
11
- from lgt_jobs.lgt_data.mongo_repository import DedicatedBotRepository, UserMongoRepository
10
+ from lgt_jobs.lgt_data.mongo_repository import (DedicatedBotRepository, UserMongoRepository, SlackContactUserRepository,
11
+ LeadMongoRepository, UserLeadMongoRepository)
12
12
  from pydantic import BaseModel
13
13
  from lgt_jobs.lgt_data.analytics import get_bots_aggregated_analytics
14
14
  import logging as log
@@ -113,12 +113,19 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
113
113
  log.warning(f"[BotStatsUpdateJob]: Error to get team info of {data.bot_id}. {test_auth_response.content}")
114
114
 
115
115
  if team_info.get('ok'):
116
- bot_name = get_formatted_bot_name(team_info['team']['domain'])
117
- if bot.servers:
118
- bot.servers[0].name = bot_name
119
- bot.source.source_name = bot_name
120
- bot.slack_url = bot.registration_link = team_info['team']['url']
121
- bots_rep.add_or_update(bot)
116
+ bot_name = team_info['team']['domain']
117
+ if bot.source.source_name != bot_name:
118
+ log.info(f"[BotStatsUpdateJob]: Updated source {bot.source.source_id}. "
119
+ f"Was {bot.source.source_name}, now {bot_name}")
120
+ if bot.servers:
121
+ bot.servers[0].name = bot_name
122
+ bot.source.source_name = bot_name
123
+ bot.slack_url = bot.registration_link = team_info['team']['url']
124
+ bots_rep.add_or_update(bot)
125
+ SlackContactUserRepository().update_source(bot.source.source_id, bot.source.__dict__)
126
+ UserLeadMongoRepository().update_source(bot.source.source_id, bot.source.__dict__)
127
+ LeadMongoRepository().update_source(bot.source.source_id, bot.source.__dict__)
128
+
122
129
  try:
123
130
  channels_response = client.channels_list()
124
131
  except:
@@ -1,7 +1,7 @@
1
1
  from abc import ABC
2
2
  from typing import Dict
3
3
  import requests
4
- from lgt_jobs.lgt_common.helpers import update_credentials, get_formatted_bot_name
4
+ from lgt_jobs.lgt_common.helpers import update_credentials
5
5
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
6
6
  from lgt_jobs.lgt_data.enums import StatusConnection, SourceType
7
7
  from lgt_jobs.lgt_data.model import UserWorkspace, SlackUser, DedicatedBotModel
@@ -94,7 +94,7 @@ class ConnectSlackAccountJob(BaseBackgroundJob, ABC):
94
94
  token = sliced_content[:end_token_index]
95
95
  workspace.magic_login_url = login_url
96
96
  workspace.token = token
97
- workspace.domain = get_formatted_bot_name(workspace.domain)
97
+ workspace.domain = workspace.domain
98
98
 
99
99
  slack_user.cookies = session.cookies.get_dict()
100
100
  slack_user.workspaces = user_workspaces
@@ -0,0 +1,5 @@
1
+ def update_credentials(credentials, token, cookies):
2
+ credentials.token = token
3
+ credentials.cookies = cookies
4
+ credentials.invalid_creds = False
5
+ return credentials
@@ -170,6 +170,10 @@ class UserLeadMongoRepository(BaseMongoRepository):
170
170
  collection_name = 'user_leads'
171
171
  model = ExtendedUserLeadModel
172
172
 
173
+ def update_source(self, source_id: str, source_data: dict):
174
+ self.collection().update_many({'message.source.source_id': source_id},
175
+ {'$set': {'message.source': source_data}})
176
+
173
177
  def get_many(self, ids: list, user_id):
174
178
  docs = self.collection().find({"id": {'$in': ids}, 'user_id': to_object_id(user_id)})
175
179
  leads = [ExtendedUserLeadModel.from_dic(lead) for lead in docs]
@@ -461,6 +465,10 @@ class LeadMongoRepository(BaseMongoRepository):
461
465
  collection_name = 'general_leads'
462
466
  model = LeadModel
463
467
 
468
+ def update_source(self, source_id: str, source_data: dict):
469
+ self.collection().update_many({'message.source.source_id': source_id},
470
+ {'$set': {'message.source': source_data}})
471
+
464
472
  def delete(self, _id):
465
473
  res = self.collection().delete_one({'id': _id})
466
474
  return res
@@ -944,6 +952,9 @@ class SlackContactUserRepository(BaseMongoRepository):
944
952
  pipeline = {"sender_id": user_id}
945
953
  return SlackMemberInformation.from_dic(self.collection().find_one(pipeline))
946
954
 
955
+ def update_source(self, source_id: str, source_data: dict):
956
+ self.collection().update_many({'source.source_id': source_id}, {'$set': {'source': source_data}})
957
+
947
958
 
948
959
  class UserTemplatesRepository(BaseMongoRepository):
949
960
  collection_name = "user_templates"
@@ -1,18 +0,0 @@
1
- import re
2
-
3
-
4
- def update_credentials(credentials, token, cookies):
5
- credentials.token = token
6
- credentials.cookies = cookies
7
- credentials.invalid_creds = False
8
- return credentials
9
-
10
-
11
- def get_formatted_bot_name(name):
12
- bot_name = name
13
- bot_name.replace(" ", "_") \
14
- .replace(".", "dot_") \
15
- .replace("#", "") \
16
- .replace("+", "_plus")
17
-
18
- return re.sub(r'[^A-Za-z0-9]', "", bot_name).lower()