leadguru-jobs 0.579.0__py3-none-any.whl → 0.581.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.579.0
3
+ Version: 0.581.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -12,7 +12,7 @@ lgt_jobs/assets/images/logo.png,sha256=nt377FGkBalBF9Z9TYQRv9loHolTXwU8_VRYvCXXz
12
12
  lgt_jobs/assets/images/mail.png,sha256=eORzQcAMkFr7DjgtABVhJ_zFuXgO7OXv78lLF4b39B0,7168
13
13
  lgt_jobs/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  lgt_jobs/jobs/analytics.py,sha256=IIsWt4A1qUw3w-S-8W16uKY1FRVWfXXA41_mu4uCNiM,979
15
- lgt_jobs/jobs/bot_stats_update.py,sha256=R6mf5FxhWbyx92AYXlj0FZVjz2Tgz86mBvLHrsQ9AFE,7502
15
+ lgt_jobs/jobs/bot_stats_update.py,sha256=RmPA-7Nel2kkZmfGuDSTiSQjipr_DcsL13QgVRjrx0w,7531
16
16
  lgt_jobs/jobs/chat_history.py,sha256=tZ4XyOGdy1k6r4uotxSSKbXjTR_oRK6Ym0YthFYBtl8,6200
17
17
  lgt_jobs/jobs/connect_sources.py,sha256=_eA86KnS3AC6YCI1xk7VCV7lFmPRxta-wUStfdmajQU,4790
18
18
  lgt_jobs/jobs/inbox_leads.py,sha256=OSX-FNx27gWEKNBBc-hyq2odCxXytz7WHtQJajtz274,5670
@@ -22,12 +22,12 @@ lgt_jobs/jobs/send_code.py,sha256=dIlLPkG3GgGKIEqGiElyzrtdrnJNTL1Ak2V0xnE-WIQ,82
22
22
  lgt_jobs/jobs/send_slack_message.py,sha256=IuRqDGcDrz2EAZzF6nrLXO0aSA4mETB_tGOEbcMhjHE,2562
23
23
  lgt_jobs/jobs/update_slack_profile.py,sha256=0fUHBd2gEBne52sTfxwji2Wu-oYDM5dLGsL-rHq5kwM,2765
24
24
  lgt_jobs/jobs/user_balance_update.py,sha256=HxeEmDdloK9EcoEj1ybYTgxIkB0IQNLnss_kk3rLI1Q,2404
25
- lgt_jobs/jobs/workspace_connect.py,sha256=qgjIRzAQRbJBx--eYsTtYgOUh2-p3N_-LIltfbJrYYo,7102
25
+ lgt_jobs/jobs/workspace_connect.py,sha256=LSZkkuPuHTqxvaTgqz_Y_kGIkF3Mmn_xwKf2h0uDWVg,7115
26
26
  lgt_jobs/lgt_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  lgt_jobs/lgt_common/helpers.py,sha256=tJNrKJYPa_MBmfRVrpHryoOWe4gnv7xOlmHuTh-bMBw,428
28
28
  lgt_jobs/lgt_common/lgt_logging.py,sha256=Zxr2sPpY-qU_YbL_47OM6dE_JA1ejG_Vr1PNnjF_jwo,576
29
29
  lgt_jobs/lgt_common/discord_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- lgt_jobs/lgt_common/discord_client/discord_client.py,sha256=tvRn0P039Dp5d22-DivQhP2uQMC7ixZc7oe7IA4WrPE,2442
30
+ lgt_jobs/lgt_common/discord_client/discord_client.py,sha256=dJr1tw9h-lTp5PUiZUHO1lrMGpeG-78NXCzLo5FdKAU,2459
31
31
  lgt_jobs/lgt_common/discord_client/methods.py,sha256=C46Vq9_-dlvs0nEW6ck8QvAmE_nPUfU89MJUhHaPMLk,391
32
32
  lgt_jobs/lgt_common/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  lgt_jobs/lgt_common/enums/slack_errors.py,sha256=nK7uoguq0F8bIHROp73oeszehT7CgS_VU45n9_Gq_WY,172
@@ -39,16 +39,16 @@ lgt_jobs/lgt_common/slack_client/methods.py,sha256=ctKF_1UHEmSWaRsoGEgMZicVabV7e
39
39
  lgt_jobs/lgt_common/slack_client/slack_client.py,sha256=icHapSOszFYnSofJ-eWl4lUWSOqng6S9XSRFfMx87Rg,13836
40
40
  lgt_jobs/lgt_common/slack_client/web_client.py,sha256=JrkEepL6EhEtX3Psv_sd25bcRB2P23LoGnFHcczQpnc,4778
41
41
  lgt_jobs/lgt_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
- lgt_jobs/lgt_data/analytics.py,sha256=TFUffL8Dn-vIJ3ZaCVN-cj1Qnjb8F9GJyuk6Fo7mR1s,21645
42
+ lgt_jobs/lgt_data/analytics.py,sha256=fiN88zcIxs_bRMmXL7ftp4FvBeJ5I7QBPE4tbwKJ39E,21689
43
43
  lgt_jobs/lgt_data/engine.py,sha256=Rsbz-CApAo_TVDssdjBkv8v_fVOZm_Uh1S6W4fnaEWo,7728
44
44
  lgt_jobs/lgt_data/enums.py,sha256=jBH5WGBtDAvFrh4iiPIzlQ-XrImMpuwqstuasG55mJ0,2209
45
45
  lgt_jobs/lgt_data/helpers.py,sha256=NDa-V5EYaJfkGoWsmQSwSe6N_jxNxs8tHRQzW1iST6k,480
46
- lgt_jobs/lgt_data/model.py,sha256=QAWnCPHEoNdXaPPCgMi_tHLx11zj0xcGUUUg2CDS3DQ,28554
46
+ lgt_jobs/lgt_data/model.py,sha256=Nkl28_3u3auFAylDBIpiwQfNEqx3hpQaFz2SyigoSxM,28660
47
47
  lgt_jobs/lgt_data/mongo_repository.py,sha256=kLE906lfqhHF9gp1qvH_3XKCZGCZnxjLMrBLWBy7doo,46099
48
48
  lgt_jobs/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  lgt_jobs/services/web_client.py,sha256=GLWsJkIC8rv6xLFaLwcMm4EwBlVDu0njORwkZqBJaE4,2086
50
50
  lgt_jobs/templates/new_message.html,sha256=dZl8UmdAOOMq4nidvAgMFroSrTV7Pw0RWt2yLp_2idg,6989
51
- leadguru_jobs-0.579.0.dist-info/METADATA,sha256=gN-uDnFZEp0vfTweIZrh38230PA_Gasm5gBdaF56btE,1319
52
- leadguru_jobs-0.579.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
53
- leadguru_jobs-0.579.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
54
- leadguru_jobs-0.579.0.dist-info/RECORD,,
51
+ leadguru_jobs-0.581.0.dist-info/METADATA,sha256=TOqrRqqYVy5rp1Old-oRd7OL0FhkNtR30j-OlA9cmvU,1319
52
+ leadguru_jobs-0.581.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
53
+ leadguru_jobs-0.581.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
54
+ leadguru_jobs-0.581.0.dist-info/RECORD,,
@@ -32,6 +32,9 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
32
32
  bots_rep = DedicatedBotRepository()
33
33
  users_rep = UserMongoRepository()
34
34
  bot = bots_rep.get_one(id=data.bot_id, include_deleted=True)
35
+ received_messages, filtered_messages = get_bots_aggregated_analytics(bot_ids=[str(bot.id)])
36
+ bot.messages_received = sum([received_messages[doc] for doc in received_messages])
37
+ bot.messages_filtered = sum([filtered_messages[doc] for doc in filtered_messages])
35
38
 
36
39
  if bot.source.source_type == SourceType.DISCORD:
37
40
  client = DiscordClient(bot.token)
@@ -107,7 +110,6 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
107
110
  bot.source.source_name = bot_name
108
111
  bot.slack_url = bot.registration_link = team_info['team']['url']
109
112
  bots_rep.add_or_update(bot)
110
- received_messages, filtered_messages = get_bots_aggregated_analytics(bot_ids=[bot.id])
111
113
  try:
112
114
  channels_response = client.channels_list()
113
115
  except:
@@ -134,8 +136,6 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
134
136
  users_count += num_members
135
137
 
136
138
  bot.active_channels = active_channels
137
- bot.messages_received = received_messages.get(bot.source.source_id, 0)
138
- bot.messages_filtered = filtered_messages.get(bot.source.source_id, 0)
139
139
  bot.connected_channels = connected_channels
140
140
  bot.channels = len(channels)
141
141
  bot.channels_users = channels_users
@@ -7,7 +7,7 @@ from lgt_jobs.lgt_data.enums import StatusConnection, SourceType
7
7
  from lgt_jobs.lgt_data.model import UserWorkspace, SlackUser, DedicatedBotModel
8
8
  from lgt_jobs.lgt_data.mongo_repository import UserMongoRepository, DedicatedBotRepository
9
9
  from lgt_jobs.basejobs import BaseBackgroundJobData, BaseBackgroundJob
10
- from .bot_stats_update import BotStatsUpdateJob, BotStatsUpdateJobData
10
+ from lgt_jobs.jobs.bot_stats_update import BotStatsUpdateJob, BotStatsUpdateJobData
11
11
  from lgt_jobs.runner import BackgroundJobRunner
12
12
  import logging as log
13
13
  from pydantic import BaseModel
@@ -29,7 +29,7 @@ class DiscordClient:
29
29
  return {}
30
30
 
31
31
  def get_servers(self) -> list | dict:
32
- response = requests.get(f"{self.base_url}{DiscordMethods.USER_GUILDS.value}", headers=self.headers)
32
+ response = requests.get(f"{self.base_url}{DiscordMethods.USER_GUILDS.value}?with_counts=true", headers=self.headers)
33
33
  return self.__response(response).json()
34
34
 
35
35
  def get_dms(self) -> list | dict:
@@ -8,7 +8,7 @@ from lgt_jobs.lgt_data.mongo_repository import to_object_id
8
8
  from pymongo import MongoClient
9
9
 
10
10
  client = MongoClient(os.environ.get('MONGO_CONNECTION_STRING', 'mongodb://127.0.0.1:27017/'))
11
- db = client.lgt_admin
11
+ db = client.get_database('lgt_admin')
12
12
 
13
13
 
14
14
  def _build_date_aggregated_analytics_pipeline(source_id=None, email=None, started_at: datetime = None,
@@ -540,12 +540,12 @@ def get_bots_aggregated_analytics(from_date: datetime = None,
540
540
  if bot_ids is not None:
541
541
  pipeline.insert(0, {"$match": {"extra_ids": {"$in": bot_ids}}})
542
542
 
543
- received_messages = list(db[f'received_messages'].aggregate(pipeline))
543
+ received_messages = list(db.get_collection('received_messages').aggregate(pipeline))
544
544
 
545
545
  if configs is not None:
546
546
  pipeline.insert(0, {"$match": {"attributes": {"$in": configs}}})
547
547
 
548
- filtered_messages = list(db[f'filtered_messages'].aggregate(pipeline))
548
+ filtered_messages = list(db.get_collection('filtered_messages').aggregate(pipeline))
549
549
  received_messages_dic = OrderedDict()
550
550
  filtered_messages_dic = OrderedDict()
551
551
 
@@ -162,6 +162,7 @@ class Server:
162
162
  self.active = False
163
163
  self.deleted = False
164
164
  self.subscribers = 0
165
+ self.approximate_member_count = 0
165
166
 
166
167
  @classmethod
167
168
  def from_dic(cls, dic: dict):
@@ -174,6 +175,7 @@ class Server:
174
175
  setattr(model, k, v)
175
176
 
176
177
  model.channels = [Channel.from_dic(channel) for channel in dic.get("channels", [])]
178
+ model.subscribers = dic.get('approximate_member_count')
177
179
  return model
178
180
 
179
181
  def to_dic(self):