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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.683.0
3
+ Version: 0.684.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,4 @@
1
- lgt_jobs/__init__.py,sha256=efDX0VsSwC2we92quUu8E62MqC-4audo0Rv37Y6USnk,2144
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=4bcVLzaIqKfmZ0kpjkce1XwegFvz3z1KY7X432mScy0,4555
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=nlGeaBIHHFh9hscoNFx-78GpxB0kDQoefD2biNp5DnY,56525
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.683.0.dist-info/METADATA,sha256=Qrgk_hFu-lC8k_nDKZkwLhQE2Bjix2T3qEkvPEFFXMw,1319
109
- leadguru_jobs-0.683.0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
110
- leadguru_jobs-0.683.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
111
- leadguru_jobs-0.683.0.dist-info/RECORD,,
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
- source = Source()
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:27017/'))
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):