warp-beacon 2.2.7__tar.gz → 2.2.9__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 (54) hide show
  1. {warp_beacon-2.2.7/warp_beacon.egg-info → warp_beacon-2.2.9}/PKG-INFO +1 -1
  2. warp_beacon-2.2.9/warp_beacon/__version__.py +2 -0
  3. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/storage/__init__.py +16 -3
  4. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/telegram/bot.py +6 -2
  5. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/telegram/handlers.py +17 -4
  6. {warp_beacon-2.2.7 → warp_beacon-2.2.9/warp_beacon.egg-info}/PKG-INFO +1 -1
  7. warp_beacon-2.2.7/warp_beacon/__version__.py +0 -2
  8. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/LICENSE +0 -0
  9. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/MANIFEST.in +0 -0
  10. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/README.md +0 -0
  11. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/assets/placeholder.gif +0 -0
  12. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/etc/.gitignore +0 -0
  13. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/etc/accounts.json +0 -0
  14. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/etc/warp_beacon.conf +0 -0
  15. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/etc/warp_beacon.service +0 -0
  16. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/pyproject.toml +0 -0
  17. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/setup.cfg +0 -0
  18. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/setup.py +0 -0
  19. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/__init__.py +0 -0
  20. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/compress/__init__.py +0 -0
  21. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/compress/video.py +0 -0
  22. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/jobs/__init__.py +0 -0
  23. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/jobs/abstract.py +0 -0
  24. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/jobs/download_job.py +0 -0
  25. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/jobs/types.py +0 -0
  26. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/jobs/upload_job.py +0 -0
  27. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/mediainfo/__init__.py +0 -0
  28. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/mediainfo/abstract.py +0 -0
  29. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/mediainfo/audio.py +0 -0
  30. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/mediainfo/silencer.py +0 -0
  31. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/mediainfo/video.py +0 -0
  32. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scheduler/__init__.py +0 -0
  33. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scheduler/scheduler.py +0 -0
  34. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/__init__.py +0 -0
  35. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/abstract.py +0 -0
  36. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/account_selector.py +0 -0
  37. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/exceptions.py +0 -0
  38. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/instagram/__init__.py +0 -0
  39. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/instagram/instagram.py +0 -0
  40. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/__init__.py +0 -0
  41. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/abstract.py +0 -0
  42. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/music.py +0 -0
  43. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/shorts.py +0 -0
  44. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/youtube.py +0 -0
  45. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/telegram/__init__.py +0 -0
  46. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/telegram/placeholder_message.py +0 -0
  47. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/telegram/utils.py +0 -0
  48. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/uploader/__init__.py +0 -0
  49. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon/warp_beacon.py +0 -0
  50. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon.egg-info/SOURCES.txt +0 -0
  51. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon.egg-info/dependency_links.txt +0 -0
  52. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon.egg-info/entry_points.txt +0 -0
  53. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon.egg-info/requires.txt +0 -0
  54. {warp_beacon-2.2.7 → warp_beacon-2.2.9}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.7
3
+ Version: 2.2.9
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -0,0 +1,2 @@
1
+ __version__ = "2.2.9"
2
+
@@ -65,7 +65,13 @@ class Storage(object):
65
65
  logging.debug("uniq_id to search is '%s'", uniq_id)
66
66
  cursor = self.db.find({"uniq_id": uniq_id})
67
67
  for document in cursor:
68
- ret.append({"uniq_id": document["uniq_id"], "tg_file_id": document["tg_file_id"], "media_type": document["media_type"]})
68
+ ret.append(
69
+ {
70
+ "uniq_id": document["uniq_id"],
71
+ "tg_file_id": document["tg_file_id"],
72
+ "media_type": document["media_type"],
73
+ "canonical_name": document.get("canonical_name")
74
+ })
69
75
  except Exception as e:
70
76
  logging.error("Error occurred while trying to read from the database!")
71
77
  logging.exception(e)
@@ -79,7 +85,7 @@ class Storage(object):
79
85
  def db_lookup_id(self, uniq_id: str) -> list[dict]:
80
86
  return self.db_find(uniq_id)
81
87
 
82
- def add_media(self, tg_file_ids: list[str], media_url: str, media_type: str, origin: str) -> list[int]:
88
+ def add_media(self, tg_file_ids: list[str], media_url: str, media_type: str, origin: str, canonical_name: str = "") -> list[int]:
83
89
  uniq_id = self.compute_uniq(media_url)
84
90
  media_ids = []
85
91
  for tg_file_id in tg_file_ids:
@@ -89,7 +95,14 @@ class Storage(object):
89
95
  if self.db_lookup_id(uniq_id):
90
96
  logging.info("Detected existing uniq_id, skipping storage write operation")
91
97
  continue
92
- media_ids += str(self.db.insert_one({"uniq_id": uniq_id, "media_type": media_type, "tg_file_id": tg_file_id, "origin": origin}).inserted_id)
98
+ media_ids += str(self.db.insert_one(
99
+ {
100
+ "uniq_id": uniq_id,
101
+ "media_type": media_type,
102
+ "tg_file_id": tg_file_id,
103
+ "origin": origin,
104
+ "canonical_name": canonical_name
105
+ }).inserted_id)
93
106
 
94
107
  return media_ids
95
108
 
@@ -148,13 +148,17 @@ class Bot(object):
148
148
 
149
149
  def build_signature_caption(self, job: UploadJob) -> str:
150
150
  caption = ""
151
+ if job.canonical_name:
152
+ caption = f"**{job.canonical_name}**"
151
153
  if job.chat_type in (ChatType.GROUP, ChatType.SUPERGROUP):
154
+ if job.canonical_name:
155
+ caption += "\n—\n"
152
156
  if job.source_username:
153
157
  caption += f"Requested by **@{job.source_username}**"
154
158
  if job.source_username and job.url:
155
159
  caption += " | "
156
160
  if job.url:
157
- caption += f"[Source link]({job.url})"
161
+ caption += f"[source link]({job.url})"
158
162
 
159
163
  return caption
160
164
 
@@ -367,7 +371,7 @@ class Bot(object):
367
371
  for i, media_chunk in enumerate(col_job_args["media"]):
368
372
  messages = await self.client.send_media_group(
369
373
  chat_id=job.chat_id,
370
- reply_to_message_id=job.message_id,
374
+ #reply_to_message_id=job.message_id,
371
375
  media=media_chunk
372
376
  )
373
377
  sent_messages += messages
@@ -105,8 +105,8 @@ class Handlers(object):
105
105
  )
106
106
  )
107
107
  elif ent_len:
108
- logging.info(entities[0])
109
108
  media_type = JobType[entities[0]["media_type"].upper()]
109
+ canonical_name = entities[0]["canonical_name"]
110
110
  await self.bot.upload_job(
111
111
  UploadJob(
112
112
  url=url,
@@ -115,7 +115,8 @@ class Handlers(object):
115
115
  media_type=media_type,
116
116
  chat_id=chat.id,
117
117
  chat_type=message.chat.type,
118
- source_username=Utils.extract_message_author(message)
118
+ source_username=Utils.extract_message_author(message),
119
+ canonical_name=canonical_name
119
120
  )
120
121
  )
121
122
  else:
@@ -132,9 +133,21 @@ class Handlers(object):
132
133
  if job.media_type == JobType.COLLECTION and job.save_items:
133
134
  for chunk in job.media_collection:
134
135
  for i in chunk:
135
- self.storage.add_media(tg_file_ids=[i.tg_file_id], media_url=i.effective_url, media_type=i.media_type.value, origin=origin.value)
136
+ self.storage.add_media(
137
+ tg_file_ids=[i.tg_file_id],
138
+ media_url=i.effective_url,
139
+ media_type=i.media_type.value,
140
+ origin=job.job_origin.value,
141
+ canonical_name=job.canonical_name
142
+ )
136
143
  else:
137
- self.storage.add_media(tg_file_ids=[','.join(tg_file_ids)], media_url=job.url, media_type=job.media_type.value, origin=origin.value)
144
+ self.storage.add_media(
145
+ tg_file_ids=[','.join(tg_file_ids)],
146
+ media_url=job.url,
147
+ media_type=job.media_type.value,
148
+ origin=job.job_origin.value,
149
+ canonical_name=job.canonical_name
150
+ )
138
151
  except Exception as e:
139
152
  logging.error("Exception occurred while performing upload callback!")
140
153
  logging.exception(e)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: warp_beacon
3
- Version: 2.2.7
3
+ Version: 2.2.9
4
4
  Summary: Telegram bot for expanding external media links
5
5
  Home-page: https://github.com/sb0y/warp_beacon
6
6
  Author: Andrey Bagrintsev
@@ -1,2 +0,0 @@
1
- __version__ = "2.2.7"
2
-
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes