leadguru-jobs 0.645.0__tar.gz → 0.646.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.645.0 → leadguru_jobs-0.646.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/load_slack_people.py +24 -0
  4. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/MANIFEST.in +0 -0
  5. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/README.md +0 -0
  6. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
  7. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  8. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  9. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  10. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  11. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/__init__.py +0 -0
  12. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/assets/images/arrow.png +0 -0
  13. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/assets/images/firework.png +0 -0
  14. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/assets/images/lock.png +0 -0
  15. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/assets/images/logo.png +0 -0
  16. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/assets/images/mail.png +0 -0
  17. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/basejobs.py +0 -0
  18. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/env.py +0 -0
  19. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/__init__.py +0 -0
  20. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/analytics.py +0 -0
  21. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/bot_stats_update.py +0 -0
  22. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/chat_history.py +0 -0
  23. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  24. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  25. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/mass_message.py +0 -0
  26. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/send_code.py +0 -0
  27. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  28. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
  29. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
  30. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  31. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  32. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  33. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  34. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  35. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  36. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/helpers.py +0 -0
  37. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  38. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  39. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  40. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  41. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  42. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  43. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  44. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  45. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  46. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/engine.py +0 -0
  47. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/enums.py +0 -0
  48. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  49. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/model.py +0 -0
  50. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/__init__.py +0 -0
  51. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/base.py +0 -0
  52. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/boards/__init__.py +0 -0
  53. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/boards/board.py +0 -0
  54. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/boards/status.py +0 -0
  55. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/bots/__init__.py +0 -0
  56. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/bots/base_bot.py +0 -0
  57. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/bots/bot_info.py +0 -0
  58. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/bots/dedicated_bot.py +0 -0
  59. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/__init__.py +0 -0
  60. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/file.py +0 -0
  61. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/grouped_messages.py +0 -0
  62. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/message.py +0 -0
  63. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/request.py +0 -0
  64. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/chat/scheduled_message.py +0 -0
  65. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/contacts/__init__.py +0 -0
  66. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/contacts/contact.py +0 -0
  67. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/__init__.py +0 -0
  68. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/cloud/__init__.py +0 -0
  69. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/cloud/file.py +0 -0
  70. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/discord/__init__.py +0 -0
  71. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/discord/user.py +0 -0
  72. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/slack/__init__.py +0 -0
  73. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/slack/timezone.py +0 -0
  74. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/slack/user.py +0 -0
  75. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/external/user_workspace.py +0 -0
  76. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/leads/__init__.py +0 -0
  77. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/leads/config.py +0 -0
  78. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/leads/extended_lead.py +0 -0
  79. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/leads/lead.py +0 -0
  80. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/leads/message.py +0 -0
  81. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/notifications/__init__.py +0 -0
  82. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/notifications/notification.py +0 -0
  83. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/notifications/notification_settings.py +0 -0
  84. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/people/__init__.py +0 -0
  85. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/people/people.py +0 -0
  86. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/people/profile.py +0 -0
  87. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/post/__init__.py +0 -0
  88. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/post/message.py +0 -0
  89. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/post/post.py +0 -0
  90. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/templates/__init__.py +0 -0
  91. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/templates/template.py +0 -0
  92. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/__init__.py +0 -0
  93. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/feature.py +0 -0
  94. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/general_settings.py +0 -0
  95. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/reset_password.py +0 -0
  96. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/subscription.py +0 -0
  97. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/user.py +0 -0
  98. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/user_follow_ups.py +0 -0
  99. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/user_page.py +0 -0
  100. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user/verification.py +0 -0
  101. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user_leads/__init__.py +0 -0
  102. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user_leads/extended_user_lead.py +0 -0
  103. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/models/user_leads/user_lead.py +0 -0
  104. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/mongo_repository.py +0 -0
  105. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/repositories/__init__.py +0 -0
  106. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/repositories/post/__init__.py +0 -0
  107. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/lgt_data/repositories/post/posts.py +0 -0
  108. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/main.py +0 -0
  109. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/runner.py +0 -0
  110. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/services/__init__.py +0 -0
  111. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/services/web_client.py +0 -0
  112. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/simple_job.py +0 -0
  113. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/smtp.py +0 -0
  114. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/lgt_jobs/templates/new_message.html +0 -0
  115. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/setup.cfg +0 -0
  116. {leadguru_jobs-0.645.0 → leadguru_jobs-0.646.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.645.0
3
+ Version: 0.646.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.645.0
3
+ Version: 0.646.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -1,4 +1,8 @@
1
+ import random
1
2
  from abc import ABC
3
+ from datetime import datetime, UTC
4
+ from time import sleep
5
+
2
6
  from lgt_jobs.lgt_common.enums.slack_errors import SlackErrors
3
7
  from lgt_jobs.lgt_common.slack_client.slack_client import SlackClient
4
8
  from lgt_jobs.lgt_data.models.bots.base_bot import Source
@@ -48,6 +52,7 @@ class LoadSlackPeopleJob(BaseBackgroundJob, ABC):
48
52
  return
49
53
 
50
54
  for member in list_users_response["members"]:
55
+ sleep(random.uniform(0, 1))
51
56
  if not member.get("profile"):
52
57
  continue
53
58
 
@@ -60,8 +65,27 @@ class LoadSlackPeopleJob(BaseBackgroundJob, ABC):
60
65
  source.source_type = bot.source.source_type
61
66
  member_info: SlackMemberInformation = SlackMemberInformation.from_slack_response(member, source)
62
67
  members_count += 1
68
+ presence_response = client.get_presence(member_info.sender_id)
69
+ last_activity = None
70
+ if presence_response.status_code == 200:
71
+ presence_data = presence_response.json()
72
+ if presence_data.get('ok'):
73
+ now = datetime.now(UTC)
74
+ online = presence_data.get('presence')
75
+ if presence_data.get('online'):
76
+ online = 'active'
77
+ last_activity = datetime.fromtimestamp(presence_data.get('last_activity'), tz=UTC) \
78
+ if presence_data.get('last_activity') else None
79
+ if online == 'active':
80
+ last_activity = now
81
+
82
+ member_info.online = online
83
+ member_info.online_updated_at = now
84
+
63
85
  member_info_dic = member_info.to_dic()
64
86
  member_info_dic.pop('created_at')
87
+ if last_activity:
88
+ member_info_dic['last_activity'] = last_activity
65
89
  SlackContactUserRepository().collection().update_one({"sender_id": member_info.sender_id,
66
90
  "source.source_id": source.source_id},
67
91
  {"$set": member_info_dic}, upsert=True)