warp-beacon 2.2.8__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.
- {warp_beacon-2.2.8/warp_beacon.egg-info → warp_beacon-2.2.9}/PKG-INFO +1 -1
- warp_beacon-2.2.9/warp_beacon/__version__.py +2 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/storage/__init__.py +16 -3
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/telegram/bot.py +2 -2
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/telegram/handlers.py +17 -4
- {warp_beacon-2.2.8 → warp_beacon-2.2.9/warp_beacon.egg-info}/PKG-INFO +1 -1
- warp_beacon-2.2.8/warp_beacon/__version__.py +0 -2
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/LICENSE +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/MANIFEST.in +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/README.md +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/assets/placeholder.gif +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/etc/.gitignore +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/etc/accounts.json +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/etc/warp_beacon.conf +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/etc/warp_beacon.service +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/pyproject.toml +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/setup.cfg +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/setup.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/compress/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/compress/video.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/jobs/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/jobs/abstract.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/jobs/download_job.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/jobs/types.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/jobs/upload_job.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/mediainfo/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/mediainfo/abstract.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/mediainfo/audio.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/mediainfo/silencer.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/mediainfo/video.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scheduler/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scheduler/scheduler.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/abstract.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/account_selector.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/exceptions.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/instagram/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/instagram/instagram.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/abstract.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/music.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/shorts.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/scraper/youtube/youtube.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/telegram/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/telegram/placeholder_message.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/telegram/utils.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/uploader/__init__.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon/warp_beacon.py +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon.egg-info/SOURCES.txt +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon.egg-info/dependency_links.txt +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon.egg-info/entry_points.txt +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon.egg-info/requires.txt +0 -0
- {warp_beacon-2.2.8 → warp_beacon-2.2.9}/warp_beacon.egg-info/top_level.txt +0 -0
@@ -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(
|
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(
|
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
|
|
@@ -152,7 +152,7 @@ class Bot(object):
|
|
152
152
|
caption = f"**{job.canonical_name}**"
|
153
153
|
if job.chat_type in (ChatType.GROUP, ChatType.SUPERGROUP):
|
154
154
|
if job.canonical_name:
|
155
|
-
caption += "\n"
|
155
|
+
caption += "\n—\n"
|
156
156
|
if job.source_username:
|
157
157
|
caption += f"Requested by **@{job.source_username}**"
|
158
158
|
if job.source_username and job.url:
|
@@ -371,7 +371,7 @@ class Bot(object):
|
|
371
371
|
for i, media_chunk in enumerate(col_job_args["media"]):
|
372
372
|
messages = await self.client.send_media_group(
|
373
373
|
chat_id=job.chat_id,
|
374
|
-
reply_to_message_id=job.message_id,
|
374
|
+
#reply_to_message_id=job.message_id,
|
375
375
|
media=media_chunk
|
376
376
|
)
|
377
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(
|
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(
|
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)
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|