leadguru-jobs 0.421.0__tar.gz → 0.423.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.
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/PKG-INFO +1 -1
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/chat_history.py +1 -1
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +21 -21
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/web_client.py +10 -10
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/model.py +2 -2
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/mongo_repository.py +5 -2
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/MANIFEST.in +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/README.md +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/SOURCES.txt +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/requires.txt +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/basejobs.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/env.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/analytics.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/archive_leads.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/bot_stats_update.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/mass_message.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/send_code.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/user_balance_update.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/helpers.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/lgt_logging.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/pubsub/command.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/analytics.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/engine.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/enums.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_data/helpers.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/main.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/runner.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/services/__init__.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/services/web_client.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/simple_job.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/smtp.py +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/templates/new_message_mail_template.html +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/setup.cfg +0 -0
- {leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/setup.py +0 -0
@@ -67,7 +67,7 @@ class LoadChatHistoryJob(BaseBackgroundJob, ABC):
|
|
67
67
|
messages = chat_repo.get_list(sender_id=contact.sender_id, bot_id=bot.id)
|
68
68
|
new_messages = []
|
69
69
|
for message in slack_chat:
|
70
|
-
same_messages = [msg for msg in messages if msg.
|
70
|
+
same_messages = [msg for msg in messages if msg.id == message.id]
|
71
71
|
if not same_messages:
|
72
72
|
new_messages.append(message)
|
73
73
|
return new_messages
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/slack_client.py
RENAMED
@@ -145,24 +145,24 @@ class SlackClient:
|
|
145
145
|
url = f'{self.base_url}{SlackMethods.conversations_open}?{self.__im_open_payload(user)}'
|
146
146
|
return requests.post(url=url, cookies=self.cookies).json()
|
147
147
|
|
148
|
-
def delete_message(self, channel: str,
|
149
|
-
url = f'{self.base_url}{SlackMethods.chat_delete}?{self.__delete_message_payload(channel,
|
148
|
+
def delete_message(self, channel: str, id: str):
|
149
|
+
url = f'{self.base_url}{SlackMethods.chat_delete}?{self.__delete_message_payload(channel, id)}'
|
150
150
|
return requests.post(url=url, cookies=self.cookies).json()
|
151
151
|
|
152
152
|
def conversations_info(self, channel: str):
|
153
153
|
url = f'{self.base_url}{SlackMethods.conversations_info}?{self.__conversation_info_payload(channel)}'
|
154
154
|
return requests.post(url=url, cookies=self.cookies).json()
|
155
155
|
|
156
|
-
def update_message(self, channel: str,
|
157
|
-
url = f'{self.base_url}{SlackMethods.chat_update}?{self.__update_message_payload(channel,
|
156
|
+
def update_message(self, channel: str, id: str, text: str, file_ids: str):
|
157
|
+
url = f'{self.base_url}{SlackMethods.chat_update}?{self.__update_message_payload(channel, id, text, file_ids)}'
|
158
158
|
return requests.post(url=url, cookies=self.cookies).json()
|
159
159
|
|
160
|
-
def conversations_history(self, channel: str,
|
161
|
-
url = f'{self.base_url}{SlackMethods.conversations_history}?{self.__channel_payload(channel,
|
160
|
+
def conversations_history(self, channel: str, id: str = None):
|
161
|
+
url = f'{self.base_url}{SlackMethods.conversations_history}?{self.__channel_payload(channel, id)}'
|
162
162
|
return requests.get(url=url, cookies=self.cookies).json()
|
163
163
|
|
164
|
-
def conversations_replies(self, channel: str,
|
165
|
-
url = f'{self.base_url}{SlackMethods.conversations_replies}?{self.__ts_payload(channel,
|
164
|
+
def conversations_replies(self, channel: str, id: str):
|
165
|
+
url = f'{self.base_url}{SlackMethods.conversations_replies}?{self.__ts_payload(channel, id)}'
|
166
166
|
return requests.get(url=url, cookies=self.cookies).json()
|
167
167
|
|
168
168
|
def get_presense(self, user: str = None):
|
@@ -198,8 +198,8 @@ class SlackClient:
|
|
198
198
|
url = f'{self.base_url}{SlackMethods.users_info}?{self.__user_info_payload(user)}'
|
199
199
|
return requests.get(url=url, cookies=self.cookies).json()
|
200
200
|
|
201
|
-
def get_reactions(self, channel: str,
|
202
|
-
url = f'{self.base_url}{SlackMethods.reactions_get}?{self.__get_reactions_payload(channel,
|
201
|
+
def get_reactions(self, channel: str, id: str):
|
202
|
+
url = f'{self.base_url}{SlackMethods.reactions_get}?{self.__get_reactions_payload(channel, id)}'
|
203
203
|
return requests.get(url=url, cookies=self.cookies).json()
|
204
204
|
|
205
205
|
def get_attachments(self, channel: str, msg_id: str, url: str):
|
@@ -303,12 +303,12 @@ class SlackClient:
|
|
303
303
|
}
|
304
304
|
return parse.urlencode(payload)
|
305
305
|
|
306
|
-
def __update_message_payload(self, channel,
|
306
|
+
def __update_message_payload(self, channel, id, text, file_ids):
|
307
307
|
payload = {
|
308
308
|
'parse': 'none',
|
309
309
|
'token': self.token,
|
310
310
|
'channel': channel,
|
311
|
-
'ts':
|
311
|
+
'ts': id,
|
312
312
|
'text': text,
|
313
313
|
'file_ids': file_ids
|
314
314
|
}
|
@@ -322,11 +322,11 @@ class SlackClient:
|
|
322
322
|
}
|
323
323
|
return parse.urlencode(payload)
|
324
324
|
|
325
|
-
def __delete_message_payload(self, channel,
|
325
|
+
def __delete_message_payload(self, channel, id):
|
326
326
|
payload = {
|
327
327
|
'token': self.token,
|
328
328
|
'channel': channel,
|
329
|
-
'ts':
|
329
|
+
'ts': id
|
330
330
|
}
|
331
331
|
return parse.urlencode(payload)
|
332
332
|
|
@@ -352,14 +352,14 @@ class SlackClient:
|
|
352
352
|
}
|
353
353
|
return parse.urlencode(payload)
|
354
354
|
|
355
|
-
def __channel_payload(self, channel,
|
355
|
+
def __channel_payload(self, channel, id=None):
|
356
356
|
payload = {
|
357
357
|
'token': self.token,
|
358
358
|
'channel': channel
|
359
359
|
}
|
360
360
|
|
361
|
-
if
|
362
|
-
payload["ts"] =
|
361
|
+
if id:
|
362
|
+
payload["ts"] = id
|
363
363
|
payload["limit"] = 1
|
364
364
|
payload["inclusive"] = True
|
365
365
|
|
@@ -374,19 +374,19 @@ class SlackClient:
|
|
374
374
|
payload["user"] = user
|
375
375
|
return parse.urlencode(payload)
|
376
376
|
|
377
|
-
def __ts_payload(self, channel: str,
|
377
|
+
def __ts_payload(self, channel: str, id: str):
|
378
378
|
payload = {
|
379
379
|
'token': self.token,
|
380
380
|
'channel': channel,
|
381
|
-
'ts':
|
381
|
+
'ts': id
|
382
382
|
}
|
383
383
|
return parse.urlencode(payload)
|
384
384
|
|
385
|
-
def __get_reactions_payload(self, channel,
|
385
|
+
def __get_reactions_payload(self, channel, id):
|
386
386
|
payload = {
|
387
387
|
'token': self.token,
|
388
388
|
'full': True,
|
389
389
|
'channel': channel,
|
390
|
-
'timestamp':
|
390
|
+
'timestamp': id
|
391
391
|
}
|
392
392
|
return parse.urlencode(payload)
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/web_client.py
RENAMED
@@ -28,7 +28,7 @@ class SlackMessageConvertService:
|
|
28
28
|
result.bot_id = bot_id
|
29
29
|
result.text = dic.get('text', '')
|
30
30
|
result.user = dic.get('user', '')
|
31
|
-
result.
|
31
|
+
result.id = dic.get('ts', '')
|
32
32
|
result.attachments = dic.get('attachments', [])
|
33
33
|
result.files = []
|
34
34
|
result.user_id = to_object_id(user_id)
|
@@ -51,7 +51,7 @@ class SlackMessageConvertService:
|
|
51
51
|
new_file.mimetype, cookies)
|
52
52
|
result.files.append(new_file)
|
53
53
|
|
54
|
-
js_ticks = int(result.
|
54
|
+
js_ticks = int(result.id.split('.')[0] + result.id.split('.')[1][3:])
|
55
55
|
result.created_at = datetime.fromtimestamp(js_ticks / 1000.0)
|
56
56
|
return result
|
57
57
|
|
@@ -88,11 +88,11 @@ class SlackWebClient:
|
|
88
88
|
|
89
89
|
self.client = SlackClient(token, cookies)
|
90
90
|
|
91
|
-
def delete_message(self, channel: str,
|
92
|
-
return self.client.delete_message(channel,
|
91
|
+
def delete_message(self, channel: str, id: str):
|
92
|
+
return self.client.delete_message(channel, id)
|
93
93
|
|
94
|
-
def update_message(self, channel: str,
|
95
|
-
return self.client.update_message(channel,
|
94
|
+
def update_message(self, channel: str, id: str, text: str, file_ids=''):
|
95
|
+
return self.client.update_message(channel, id, text, file_ids)
|
96
96
|
|
97
97
|
def get_profile(self, user_id):
|
98
98
|
return self.client.user_info(user_id)
|
@@ -124,8 +124,8 @@ class SlackWebClient:
|
|
124
124
|
def channel_leave(self, channels):
|
125
125
|
return self.client.leave_channels(channels)
|
126
126
|
|
127
|
-
def get_reactions(self, channel,
|
128
|
-
return self.client.get_reactions(channel,
|
127
|
+
def get_reactions(self, channel, id):
|
128
|
+
return self.client.get_reactions(channel, id)
|
129
129
|
|
130
130
|
def upload_file(self, file, file_name):
|
131
131
|
return self.client.upload_file(file, file_name)
|
@@ -151,8 +151,8 @@ class SlackWebClient:
|
|
151
151
|
def find_workspaces(self, user_agent: str, ) -> requests.Response:
|
152
152
|
return self.client.find_workspaces(user_agent)
|
153
153
|
|
154
|
-
def conversation_replies(self, channel: str,
|
155
|
-
return self.client.conversations_replies(channel,
|
154
|
+
def conversation_replies(self, channel: str, id: str) -> dict:
|
155
|
+
return self.client.conversations_replies(channel, id)
|
156
156
|
|
157
157
|
def create_shared_invite(self):
|
158
158
|
return self.client.create_shared_invite()
|
@@ -576,7 +576,7 @@ class ChatMessage:
|
|
576
576
|
sender_id: str
|
577
577
|
text: str
|
578
578
|
user: str
|
579
|
-
|
579
|
+
id: str
|
580
580
|
viewed: bool
|
581
581
|
files: list
|
582
582
|
attachments: list[dict] | None
|
@@ -601,7 +601,7 @@ class ChatMessage:
|
|
601
601
|
self.text: str = ''
|
602
602
|
self.created_at: datetime
|
603
603
|
self.user = ''
|
604
|
-
self.
|
604
|
+
self.id = ''
|
605
605
|
self.files = []
|
606
606
|
self.attachments = []
|
607
607
|
|
@@ -1077,8 +1077,11 @@ class ChatRepository(BaseMongoRepository):
|
|
1077
1077
|
pipeline['sender_id'] = sender_id
|
1078
1078
|
|
1079
1079
|
return [ChatMessage.from_dic(msg)
|
1080
|
-
for msg in self.collection().find(pipeline).sort("
|
1080
|
+
for msg in self.collection().find(pipeline).sort("id", pymongo.ASCENDING)]
|
1081
1081
|
|
1082
1082
|
def upsert_messages(self, messages: list[dict]):
|
1083
|
-
operations = [UpdateOne({"
|
1083
|
+
operations = [UpdateOne({"id": msg['id']}, {'$set': msg}, upsert=True) for msg in messages]
|
1084
1084
|
self.collection().bulk_write(operations)
|
1085
|
+
|
1086
|
+
def delete_message(self, user_id: str, _id: str):
|
1087
|
+
self.collection().delete_one({"id": _id, 'user_id': to_object_id(user_id)})
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/__init__.py
RENAMED
File without changes
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/discord_client.py
RENAMED
File without changes
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/discord_client/methods.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/lgt_common/slack_client/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{leadguru_jobs-0.421.0 → leadguru_jobs-0.423.0}/lgt_jobs/templates/new_message_mail_template.html
RENAMED
File without changes
|
File without changes
|
File without changes
|