You've already forked amazing-ytdlp-archive
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a7c640a8cf | ||
![]() |
f6da232164 |
@@ -42,7 +42,7 @@ def websub(cap):
|
|||||||
@bp.route('/queue/<cap>', methods=['POST'])
|
@bp.route('/queue/<cap>', methods=['POST'])
|
||||||
def queue(cap):
|
def queue(cap):
|
||||||
# if endpoint does not exist
|
# if endpoint does not exist
|
||||||
if not get_nosql().poster_isActive(cap):
|
if not get_nosql().queue_isActive(cap):
|
||||||
return abort(404)
|
return abort(404)
|
||||||
|
|
||||||
videoId = request.form.get('v')
|
videoId = request.form.get('v')
|
||||||
@@ -60,7 +60,7 @@ def queue(cap):
|
|||||||
return abort(409)
|
return abort(409)
|
||||||
|
|
||||||
# try to insert
|
# try to insert
|
||||||
if get_nosql().poster_insertQueue(videoId, cap):
|
if get_nosql().queue_insertQueue(videoId, cap):
|
||||||
return '', 202
|
return '', 202
|
||||||
else:
|
else:
|
||||||
return abort(409)
|
return abort(409)
|
@@ -98,7 +98,7 @@ class Mango:
|
|||||||
|
|
||||||
stats['videos'] = self.info_json.count_documents({})
|
stats['videos'] = self.info_json.count_documents({})
|
||||||
stats['channels'] = self.channels.count_documents({})
|
stats['channels'] = self.channels.count_documents({})
|
||||||
stats['queue'] = self.posters_queue.count_documents({})
|
stats['queue'] = self.download_queue.count_documents({})
|
||||||
|
|
||||||
return stats
|
return stats
|
||||||
|
|
||||||
@@ -195,11 +195,14 @@ class Mango:
|
|||||||
def get_orphaned_videos(self):
|
def get_orphaned_videos(self):
|
||||||
""" Returns a SET of YouTube video ID's which have info_jsons in the collection but no permanent channel is defined. SLOW OPERATION """
|
""" Returns a SET of YouTube video ID's which have info_jsons in the collection but no permanent channel is defined. SLOW OPERATION """
|
||||||
# Ok lemme explain. Perform inner join from channel collection on channel_id key. match only the fields which are empty. return video id
|
# Ok lemme explain. Perform inner join from channel collection on channel_id key. match only the fields which are empty. return video id
|
||||||
pipeline = [{'$lookup': {'from': 'channels', 'localField': 'channel_id', 'foreignField': 'id', 'as': 'channel'}}, {'$match': {'channel': {'$size': 0}}},{'$project': {'id': 1}}]
|
pipeline = [{'$match': {'_status': 'available'}},
|
||||||
|
{'$lookup': {'from': 'channels', 'localField': 'channel_id', 'foreignField': 'id', 'as': 'channel'}},
|
||||||
|
{'$match': {'channel': {'$size': 0}}},{'$project': {'id': 1}},
|
||||||
|
{'$project': {'id': 1}}]
|
||||||
|
|
||||||
results = self.info_json.aggregate(pipeline)
|
results = self.info_json.aggregate(pipeline)
|
||||||
ids = [result['id'] for result in results]
|
ids = [result['id'] for result in results]
|
||||||
|
|
||||||
return tuple(ids)
|
return tuple(ids)
|
||||||
|
|
||||||
def get_recent_videos(self, count=99):
|
def get_recent_videos(self, count=99):
|
||||||
|
@@ -43,6 +43,10 @@
|
|||||||
<a href="{{ url_for('channel.channel', channelId='UCzGdxkzULCa9RlD-Q2EZPXQ') }}"><span class="title">Kalashnikov Group</span></a>
|
<a href="{{ url_for('channel.channel', channelId='UCzGdxkzULCa9RlD-Q2EZPXQ') }}"><span class="title">Kalashnikov Group</span></a>
|
||||||
<p>Reason: This account has been terminated for a violation of YouTube's Terms of Service.</p>
|
<p>Reason: This account has been terminated for a violation of YouTube's Terms of Service.</p>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="collection-item">
|
||||||
|
<a href="{{ url_for('channel.channel', channelId='UCtfg1tENiu3SgGMZVduFmTg') }}"><span class="title">FiberNinja</span></a>
|
||||||
|
<p>Reason: This channel was removed because it violated our Community Guidelines.</p>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user