leadguru-jobs 0.683.0__py3-none-any.whl → 0.684.0__py3-none-any.whl
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.
- {leadguru_jobs-0.683.0.dist-info → leadguru_jobs-0.684.0.dist-info}/METADATA +1 -1
- {leadguru_jobs-0.683.0.dist-info → leadguru_jobs-0.684.0.dist-info}/RECORD +8 -7
- lgt_jobs/__init__.py +7 -1
- lgt_jobs/jobs/load_slack_people.py +2 -7
- lgt_jobs/jobs/load_slack_users.py +33 -0
- lgt_jobs/lgt_data/mongo_repository.py +1 -1
- {leadguru_jobs-0.683.0.dist-info → leadguru_jobs-0.684.0.dist-info}/WHEEL +0 -0
- {leadguru_jobs-0.683.0.dist-info → leadguru_jobs-0.684.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
lgt_jobs/__init__.py,sha256=
|
1
|
+
lgt_jobs/__init__.py,sha256=VepHCuCW4uUqx6Nj5gKdZeJ9IYDSyhlD70FvpnKNmPk,2316
|
2
2
|
lgt_jobs/basejobs.py,sha256=LPEclvY6fIG17YMGy9pRK0Q58n62gkI5W1BTK6R2p-c,1234
|
3
3
|
lgt_jobs/env.py,sha256=cRO03GGvstUjBsv3uYO-iakrOvAk_ZWUP_fnmf21iZQ,789
|
4
4
|
lgt_jobs/main.py,sha256=cK_nkBtJHnUNDbba1WZotqPtI_6OWxiYQkAgco9OAmE,1539
|
@@ -17,7 +17,8 @@ lgt_jobs/jobs/bot_stats_update.py,sha256=3gq1Ilj_RHddYeSny_238ITs7YIfCf7d4BmfYU8
|
|
17
17
|
lgt_jobs/jobs/chat_history.py,sha256=rj337uHT2XmyDu3oMPbnCBxSsRn4roxDNS0hsbvoI7I,5040
|
18
18
|
lgt_jobs/jobs/connect_sources.py,sha256=vOKu2Q9cmQsj4VMVzOoEJkD1wzE9XurbIChx35rES8I,4957
|
19
19
|
lgt_jobs/jobs/inbox_leads.py,sha256=6UhPp9AfSAGb3elFDT6jm7j2HZ9jPOPngsUj-hUKAYw,4867
|
20
|
-
lgt_jobs/jobs/load_slack_people.py,sha256=
|
20
|
+
lgt_jobs/jobs/load_slack_people.py,sha256=iMCQbFghbA7lS3yrW6hDZbUDesaRcWdkKV40nPdIVR0,4241
|
21
|
+
lgt_jobs/jobs/load_slack_users.py,sha256=d_Hy-MM86OqWdsaLX06n-ovNL6whY1xQz6sv_Ls3C4I,1404
|
21
22
|
lgt_jobs/jobs/mass_message.py,sha256=1mFcBlL2MhzLbj5yrd_NyJc7TXDWCcROAzGDnr0miMU,2035
|
22
23
|
lgt_jobs/jobs/send_code.py,sha256=dIlLPkG3GgGKIEqGiElyzrtdrnJNTL1Ak2V0xnE-WIQ,824
|
23
24
|
lgt_jobs/jobs/send_slack_message.py,sha256=eiSN-yZ7XJ2WLUTQOkViSYOCYwaEwLry0ldGAcONNsM,1708
|
@@ -43,7 +44,7 @@ lgt_jobs/lgt_data/engine.py,sha256=GY8FOl3dl7euKjQRML_H3ophaSTgfQ8ICMRv1NpE2oE,7
|
|
43
44
|
lgt_jobs/lgt_data/enums.py,sha256=SN2eLoB2m-bVswgLVuY46v0DhPj8IurgHY6R-KRsd6s,2621
|
44
45
|
lgt_jobs/lgt_data/helpers.py,sha256=S_1P7pnx14dllmen-TzjA9pkKWQr39x8-v6iv7FUYnQ,423
|
45
46
|
lgt_jobs/lgt_data/model.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
|
-
lgt_jobs/lgt_data/mongo_repository.py,sha256=
|
47
|
+
lgt_jobs/lgt_data/mongo_repository.py,sha256=1NPqXThp3gS0O4QNZlSVrdjGfzH38YMLwUOZ1A9NZxk,56525
|
47
48
|
lgt_jobs/lgt_data/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
48
49
|
lgt_jobs/lgt_data/models/base.py,sha256=YaiceCaaF45snOLx-bQoYJ1aTWrfgMQeHWjAaRnzGKE,592
|
49
50
|
lgt_jobs/lgt_data/models/boards/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -105,7 +106,7 @@ lgt_jobs/lgt_data/repositories/post/posts.py,sha256=ZA19L-CYdxLhlapyMQtSJzP3QMUl
|
|
105
106
|
lgt_jobs/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
106
107
|
lgt_jobs/services/web_client.py,sha256=oMyWJxwGeIe3f40fPT7xcisjDg3BhA3Ipf8dr1jVT-Y,1549
|
107
108
|
lgt_jobs/templates/new_message.html,sha256=dZl8UmdAOOMq4nidvAgMFroSrTV7Pw0RWt2yLp_2idg,6989
|
108
|
-
leadguru_jobs-0.
|
109
|
-
leadguru_jobs-0.
|
110
|
-
leadguru_jobs-0.
|
111
|
-
leadguru_jobs-0.
|
109
|
+
leadguru_jobs-0.684.0.dist-info/METADATA,sha256=UB-zOMeTP8-GpPZGtC0Vfdcf6O-CV_RDS8Dt1NvVArk,1319
|
110
|
+
leadguru_jobs-0.684.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
111
|
+
leadguru_jobs-0.684.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
|
112
|
+
leadguru_jobs-0.684.0.dist-info/RECORD,,
|
lgt_jobs/__init__.py
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
|
2
|
+
|
1
3
|
name = "lgt_jobs"
|
2
4
|
|
3
5
|
from .jobs.send_slack_message import SendSlackMessageJob, SendSlackMessageJobData
|
@@ -12,6 +14,7 @@ from .smtp import (SendMailJob, SendMailJobData)
|
|
12
14
|
from .runner import (BackgroundJobRunner)
|
13
15
|
from .simple_job import (SimpleTestJob, SimpleTestJobData)
|
14
16
|
from .jobs.load_slack_people import (LoadSlackPeopleJob, LoadSlackPeopleJobData)
|
17
|
+
from .jobs.load_slack_users import LoadSlackUsersJob, LoadSlackUsersJobData
|
15
18
|
|
16
19
|
jobs_map = {
|
17
20
|
"SimpleTestJob": SimpleTestJob,
|
@@ -23,7 +26,8 @@ jobs_map = {
|
|
23
26
|
"SendSlackMessageJob": SendSlackMessageJob,
|
24
27
|
"SendMassMessageSlackChannelJob": SendMassMessageSlackChannelJob,
|
25
28
|
"ConnectSourceJob": ConnectSourceJob,
|
26
|
-
"LoadSlackPeopleJob": LoadSlackPeopleJob
|
29
|
+
"LoadSlackPeopleJob": LoadSlackPeopleJob,
|
30
|
+
"LoadSlackUsersJob": LoadSlackUsersJob
|
27
31
|
}
|
28
32
|
__all__ = [
|
29
33
|
# Jobs
|
@@ -38,6 +42,7 @@ __all__ = [
|
|
38
42
|
SendMassMessageSlackChannelJob,
|
39
43
|
ConnectSourceJob,
|
40
44
|
LoadSlackPeopleJob,
|
45
|
+
LoadSlackUsersJob,
|
41
46
|
|
42
47
|
# module classes
|
43
48
|
BackgroundJobRunner,
|
@@ -54,6 +59,7 @@ __all__ = [
|
|
54
59
|
SendMassMessageSlackChannelJobData,
|
55
60
|
ConnectSourceJobData,
|
56
61
|
LoadSlackPeopleJobData,
|
62
|
+
LoadSlackUsersJobData,
|
57
63
|
# mapping
|
58
64
|
jobs_map
|
59
65
|
]
|
@@ -60,11 +60,7 @@ class LoadSlackPeopleJob(BaseBackgroundJob, ABC):
|
|
60
60
|
if member.get("deleted", True) or member.get("id") == 'USLACKBOT':
|
61
61
|
continue
|
62
62
|
|
63
|
-
|
64
|
-
source.source_id = bot.source.source_id
|
65
|
-
source.source_name = bot.source.source_name
|
66
|
-
source.source_type = bot.source.source_type
|
67
|
-
member_info: SlackMemberInformation = SlackMemberInformation.from_slack_response(member, source)
|
63
|
+
member_info: SlackMemberInformation = SlackMemberInformation.from_slack_response(member, bot.source)
|
68
64
|
members_count += 1
|
69
65
|
presence_response = client.get_presence(member_info.sender_id)
|
70
66
|
last_activity = None
|
@@ -88,8 +84,7 @@ class LoadSlackPeopleJob(BaseBackgroundJob, ABC):
|
|
88
84
|
if last_activity:
|
89
85
|
member_info_dic['last_activity'] = last_activity
|
90
86
|
UserContactsRepository().update_many(member_info.sender_id, last_activity=last_activity)
|
91
|
-
SlackContactUserRepository().collection().update_one({"sender_id": member_info.sender_id,
|
92
|
-
"source.source_id": source.source_id},
|
87
|
+
SlackContactUserRepository().collection().update_one({"sender_id": member_info.sender_id},
|
93
88
|
{"$set": member_info_dic}, upsert=True)
|
94
89
|
|
95
90
|
next_cursor = list_users_response["response_metadata"].get("next_cursor", "")
|
@@ -0,0 +1,33 @@
|
|
1
|
+
from abc import ABC
|
2
|
+
from lgt_jobs.lgt_common.slack_client.slack_client import SlackClient
|
3
|
+
from lgt_jobs.lgt_data.models.people.people import SlackMemberInformation
|
4
|
+
from lgt_jobs.lgt_data.mongo_repository import DedicatedBotRepository, SlackContactUserRepository
|
5
|
+
from pydantic import BaseModel
|
6
|
+
from lgt_jobs.basejobs import BaseBackgroundJobData, BaseBackgroundJob
|
7
|
+
|
8
|
+
"""
|
9
|
+
Load required Slack users by required bot
|
10
|
+
"""
|
11
|
+
|
12
|
+
|
13
|
+
class LoadSlackUsersJobData(BaseBackgroundJobData, BaseModel):
|
14
|
+
bot_id: str
|
15
|
+
users: list[str]
|
16
|
+
|
17
|
+
|
18
|
+
class LoadSlackUsersJob(BaseBackgroundJob, ABC):
|
19
|
+
@property
|
20
|
+
def job_data_type(self) -> type:
|
21
|
+
return LoadSlackUsersJobData
|
22
|
+
|
23
|
+
def exec(self, data: LoadSlackUsersJobData):
|
24
|
+
dedicated_bots_repo = DedicatedBotRepository()
|
25
|
+
bot = dedicated_bots_repo.get_one(id=data.bot_id, include_deleted=True, include_paused=True)
|
26
|
+
for user in data.users:
|
27
|
+
client = SlackClient(bot.token, bot.cookies)
|
28
|
+
profile = client.get_profile(user)
|
29
|
+
if profile['ok']:
|
30
|
+
profile['id'] = user
|
31
|
+
member_info: SlackMemberInformation = SlackMemberInformation.from_slack_response(profile, bot.source)
|
32
|
+
SlackContactUserRepository().collection().update_one({"sender_id": member_info.sender_id},
|
33
|
+
{"$set": member_info.to_dic()}, upsert=True)
|
@@ -31,7 +31,7 @@ from lgt_jobs.lgt_data.models.user.verification import UserVerificationModel
|
|
31
31
|
from lgt_jobs.lgt_data.models.user_leads.extended_user_lead import ExtendedUserLeadModel
|
32
32
|
from lgt_jobs.lgt_data.models.user_leads.user_lead import UserLeadModel
|
33
33
|
|
34
|
-
client = MongoClient(os.environ.get('MONGO_CONNECTION_STRING', 'mongodb://127.0.0.1:
|
34
|
+
client = MongoClient(os.environ.get('MONGO_CONNECTION_STRING', 'mongodb://127.0.0.1:27019/'))
|
35
35
|
|
36
36
|
|
37
37
|
def to_object_id(oid):
|
File without changes
|
File without changes
|