leadguru-jobs 0.600.0__tar.gz → 0.602.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 (61) hide show
  1. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/bot_stats_update.py +10 -1
  4. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/update_slack_profile.py +26 -25
  5. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/MANIFEST.in +0 -0
  6. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/README.md +0 -0
  7. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
  8. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  9. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  10. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  11. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  12. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/__init__.py +0 -0
  13. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/assets/images/arrow.png +0 -0
  14. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/assets/images/firework.png +0 -0
  15. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/assets/images/lock.png +0 -0
  16. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/assets/images/logo.png +0 -0
  17. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/assets/images/mail.png +0 -0
  18. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/basejobs.py +0 -0
  19. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/env.py +0 -0
  20. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/__init__.py +0 -0
  21. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/analytics.py +0 -0
  22. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/chat_history.py +0 -0
  23. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  24. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  25. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/load_slack_people.py +0 -0
  26. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/mass_message.py +0 -0
  27. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/send_code.py +0 -0
  28. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  29. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/user_balance_update.py +0 -0
  30. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
  31. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  32. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  33. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  34. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  35. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  36. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  37. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/helpers.py +0 -0
  38. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/lgt_logging.py +0 -0
  39. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  40. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  41. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  42. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  43. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  44. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  45. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  46. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  47. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  48. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/engine.py +0 -0
  49. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/enums.py +0 -0
  50. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  51. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/model.py +0 -0
  52. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/lgt_data/mongo_repository.py +0 -0
  53. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/main.py +0 -0
  54. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/runner.py +0 -0
  55. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/services/__init__.py +0 -0
  56. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/services/web_client.py +0 -0
  57. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/simple_job.py +0 -0
  58. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/smtp.py +0 -0
  59. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/lgt_jobs/templates/new_message.html +0 -0
  60. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/setup.cfg +0 -0
  61. {leadguru_jobs-0.600.0 → leadguru_jobs-0.602.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.600.0
3
+ Version: 0.602.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.600.0
3
+ Version: 0.602.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,7 @@
1
1
  import random
2
2
  import time
3
3
  from abc import ABC
4
+ from datetime import datetime, UTC, timedelta
4
5
  from typing import Optional
5
6
  from lgt_jobs.lgt_common.discord_client.discord_client import DiscordClient
6
7
  from lgt_jobs.lgt_common.helpers import get_formatted_bot_name
@@ -32,6 +33,15 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
32
33
  bots_rep = DedicatedBotRepository()
33
34
  users_rep = UserMongoRepository()
34
35
  bot = bots_rep.get_one(id=data.bot_id, include_deleted=True)
36
+
37
+ user = users_rep.get(bot.user_id)
38
+ if user.subscription_expired_at.replace(tzinfo=UTC) < (datetime.now(UTC) - timedelta(7)):
39
+ bot.deleted = True
40
+ for server in bot.servers:
41
+ server.deleted = True
42
+ bots_rep.add_or_update(bot)
43
+ return
44
+
35
45
  received_messages, filtered_messages = get_bots_aggregated_analytics(bot_ids=[str(bot.id)])
36
46
 
37
47
  if bot.source.source_type == SourceType.DISCORD:
@@ -48,7 +58,6 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
48
58
  return
49
59
 
50
60
  discord_servers = [Server.from_dic(server) for server in servers_response]
51
- user = users_rep.get(bot.user_id)
52
61
  discord_user: DiscordUser = user.get_discord_user(bot.user_name)
53
62
  available_channels_types = [0, 5]
54
63
  if discord_user:
@@ -30,6 +30,11 @@ class UpdateExternalUserProfileJob(BaseBackgroundJob, ABC):
30
30
 
31
31
  @staticmethod
32
32
  def __update_slack_profile(user: UserModel, slack: SlackClient):
33
+ slack.update_profile(user.slack_profile.to_dic())
34
+ if user.photo_url:
35
+ photo_url = SlackFilesClient().get_file_url(user.photo_url)
36
+ slack.update_profile_photo(photo_url)
37
+
33
38
  profile = slack.get_team_profile()
34
39
  title_section_id = None
35
40
  title_field_id = None
@@ -39,29 +44,25 @@ class UpdateExternalUserProfileJob(BaseBackgroundJob, ABC):
39
44
  title_section_id = field_data.get('section_id')
40
45
  title_field_id = field_data.get('id')
41
46
  break
42
- for section_data in profile.get('profile', {}).get('sections', []):
43
- if section_data.get('section_type') == 'additional_info':
44
- skype_section_id = section_data.get('id')
45
- break
47
+ if title_field_id and title_section_id:
48
+ for section_data in profile.get('profile', {}).get('sections', []):
49
+ if section_data.get('section_type') == 'additional_info':
50
+ skype_section_id = section_data.get('id')
51
+ break
46
52
 
47
- slack.update_profile(user.slack_profile.to_dic())
48
- auth = slack.test_auth().json()
49
- user_id = auth.get('user_id')
50
- title_element_id = title_field_id.replace(title_field_id[:2], 'Pe')
51
- response = slack.update_section(user_id, title_section_id, title_element_id, user.slack_profile.title)
52
- sections = response['result']['data']['setProfileSection']['profileSections']
53
- elements = []
54
- for section in sections:
55
- if section['type'] == 'ADDITIONAL_INFO':
56
- elements = section['profileElements']
57
- break
58
- skype_element_id = None
59
- for element in elements:
60
- if element['label'] == 'Skype':
61
- skype_element_id = element['elementId']
62
- break
63
- slack.update_section(user_id, skype_section_id, skype_element_id, user.slack_profile.skype)
64
- # try to update user photo
65
- if user.photo_url:
66
- photo_url = SlackFilesClient().get_file_url(user.photo_url)
67
- slack.update_profile_photo(photo_url)
53
+ auth = slack.test_auth().json()
54
+ user_id = auth.get('user_id')
55
+ title_element_id = title_field_id.replace(title_field_id[:2], 'Pe')
56
+ response = slack.update_section(user_id, title_section_id, title_element_id, user.slack_profile.title)
57
+ sections = response['result']['data']['setProfileSection']['profileSections']
58
+ elements = []
59
+ for section in sections:
60
+ if section['type'] == 'ADDITIONAL_INFO':
61
+ elements = section['profileElements']
62
+ break
63
+ skype_element_id = None
64
+ for element in elements:
65
+ if element['label'] == 'Skype':
66
+ skype_element_id = element['elementId']
67
+ break
68
+ slack.update_section(user_id, skype_section_id, skype_element_id, user.slack_profile.skype)