mirror of
https://github.com/Araon/Meido.git
synced 2025-02-20 11:13:20 +08:00
added mongodb for optimization
This commit is contained in:
parent
7e054a92c6
commit
f357e03b42
1
Pipfile
1
Pipfile
@ -23,6 +23,7 @@ apscheduler = "*"
|
||||
ffmpeg = "*"
|
||||
backports-zoneinfo = "*"
|
||||
jikanpy = "*"
|
||||
pymongo = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.8"
|
||||
|
105
Pipfile.lock
generated
105
Pipfile.lock
generated
@ -1,7 +1,7 @@
|
||||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "53ed8d7f576d493b19acfd3ce9cb5e2e70ce57fab61873e26e987ed276bb2e38"
|
||||
"sha256": "1436e1a5195197c54f4c1bcefe19c1736ca23800cdaf2682cd0ce1dfaadba058"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
@ -183,11 +183,11 @@
|
||||
},
|
||||
"charset-normalizer": {
|
||||
"hashes": [
|
||||
"sha256:876d180e9d7432c5d1dfd4c5d26b72f099d503e8fcc0feb7532c9289be60fcbd",
|
||||
"sha256:cb957888737fc0bbcd78e3df769addb41fd1ff8cf950dc9e7ad7793f1bf44455"
|
||||
"sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597",
|
||||
"sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"
|
||||
],
|
||||
"markers": "python_version >= '3'",
|
||||
"version": "==2.0.10"
|
||||
"version": "==2.0.12"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"hashes": [
|
||||
@ -355,13 +355,102 @@
|
||||
"index": "pypi",
|
||||
"version": "==0.4.8"
|
||||
},
|
||||
"python-telegram-bot": {
|
||||
"pymongo": {
|
||||
"hashes": [
|
||||
"sha256:833f39110f5d019b39a6c6fcbabd6ea1627eaaa0a26e618c0be099568672d791",
|
||||
"sha256:d2c555431821f4ace0c1b7ce12af41999f01b793b275dee131f1034d08c01e3e"
|
||||
"sha256:0238e53b452ab699b5e2e3f8af2557844c80ab0d0c7a0e066226882838e72756",
|
||||
"sha256:0271bbba36bb130202e011171c1883c4c193036ad0b1e02ecfbea6837790b7de",
|
||||
"sha256:069d49b193f94bb1d748cfd8faf697060a2299f40d86bf5b6d41dd3cedf0fd48",
|
||||
"sha256:06af6e6374ee2bb70f724e09ddf9402907a3d6714828b908737948cd83e5685c",
|
||||
"sha256:0c77cd3dbe0dd9e7cdf8c93dc24e5a4fcb56e115ffb259d4f399e4aaf3f3c62d",
|
||||
"sha256:0e9a2628bcd896368ede456bcfe189d9ca65b18fb0dd91974cb734baf2e24af9",
|
||||
"sha256:12d336bdbe60982de55651be397b5e49d7eadd2aa144f11da353002cd52502ed",
|
||||
"sha256:132cc67b909835d7c230888387b4cc9596d4559a3ce90d947e03bc0b0ffe420b",
|
||||
"sha256:13d0624c13a91da71fa0d960205d93b3d98344481be865ee7cc238c972d41d73",
|
||||
"sha256:1498f388181ae5592c7b60549faaefaffc62d6e3754097576611cb642d21d37b",
|
||||
"sha256:1617fd52da7b208fe5ea176d251dd7cf1b5309e5a4272754b9599edfdf7e64e5",
|
||||
"sha256:177ed1b14aa4f84f00ebef1b0f785680fbaa610361942b23eb54f562fe4c6b34",
|
||||
"sha256:186b2ff4518c1c169fcef5047deb0e6c13a2354d143859587e745fd9f2cf68e9",
|
||||
"sha256:1ba8eb426d56556fffec53d600a8f2572589c19d50b30f61daa8f4d72ab92fbe",
|
||||
"sha256:1c153274699424e8f89f2097d5113f8cbe7898a8d62afaad0270a0f0bd0af53b",
|
||||
"sha256:1fd71b4d7070b01c7f66edc44c1ec2f8bcace2761c3a6ecc10449a40e474d2fa",
|
||||
"sha256:28afb00423e521f4b04fb8f75da7c0215e46631e821e27abf5a7176f9b671f47",
|
||||
"sha256:349c8e522e0b785f442fc9d7fc01c59f7f13f1abe9395310d0d817cff03ec034",
|
||||
"sha256:35a5843546bcbe0422f30b4b2bd5e0b630b04cc4006492c70e8168a921d94b9e",
|
||||
"sha256:38b21eddd021a943b1978b0a3d42e974956a338e3dbb88d56aeb8b8799abd6e8",
|
||||
"sha256:3a4eb0a4db8a2d960bdd5354f05e2e57530e83d333cb644fb2b7120a7a954a69",
|
||||
"sha256:40269fe6bb79fe00c8ba7c2f2d542a82711eb234c3dedb90b7e489386120e9d1",
|
||||
"sha256:426584e99af31ad2398e617c3eb0f1ebcda37f0ffb2d3e56087cdaf23a2f1689",
|
||||
"sha256:47a58f15fc70198cf95982f9699e17fec12287b90f30e90c5e2b7c1c1bc07914",
|
||||
"sha256:512059a902ea2cbcd0afac370af580e67ccd4c7e41ecaff0f0fbd03653b25ca2",
|
||||
"sha256:51664dac8d9b138259876f324adca5ab31d991acf88d1d0ffcc94f423ff2e31b",
|
||||
"sha256:59a4a5fe5379e4fa93380fd0b55bccbdbeb8d04fcfbbad8b42bd31610d5ed3ad",
|
||||
"sha256:5cbfa85a12cfe3dca21951cd432051c505ac461bd9f4a635207d982dd9df2373",
|
||||
"sha256:5fea4207fec8909e155a7948c987eac61949dbbe97fd0c388e587d06ba9bc78d",
|
||||
"sha256:6183476860511cb553a7e4c40936221b6985af7852029c84df898370ec8a028c",
|
||||
"sha256:62459b91a513a7b441cfd70ea7fd15c50b858877ca823915d32bab08fe173edb",
|
||||
"sha256:633ca2001f80900142068bab907feca99554b557ac105c74a9ed157ed38ca5d6",
|
||||
"sha256:65f8a93816dcb2202710839907759aca9eece94d9f13215686f224fcc8966f9e",
|
||||
"sha256:686c40344f7f82c4deaa4e17aa46ad97df51263be1434aeedd2d6b6f38c7f44a",
|
||||
"sha256:6cd7a4321e718cb98a7c7c475b0757e77fdaf1cdb013d7d2e781ba45219e1144",
|
||||
"sha256:6f0605b1146bc24c720aac0e806492144aea9d5a4dc956589e0544301862756a",
|
||||
"sha256:716499113650aacfe1b94d37e0a863f1e84b8d47737c74a2f44f8dfccad46952",
|
||||
"sha256:71810eade75ae1c466adc158d1fa8141040f75427b76240316d97f3c89edd72f",
|
||||
"sha256:72a0c06b76b254bdec18af9add3b8d35796dda51e64a5e0e48d40bff7b41ab13",
|
||||
"sha256:7450b25a803b0f57dae4c3fbd0df742f7f3344c3c9cabb86e4180083c3ebd893",
|
||||
"sha256:75e449ab068af63b7729195343315bc63d242166d88467314be182cc54ce235d",
|
||||
"sha256:7629abba158610cb5db6c22041b287f9398555d72bf9468d44d2efc03d837b81",
|
||||
"sha256:774b9f48bdc385af6654def31e7a7617e01b99cc8aaca1ab3ef6ea0492205e57",
|
||||
"sha256:7a091050bb8d54a5200193b4998e0cf763d083f93d97c7780963c09996f85a38",
|
||||
"sha256:7bdb66340e246b5dcddfcfe79a63ac2ec3808dc394853476f49fc785425040f4",
|
||||
"sha256:812650a2e8a08b812d6a3c937f482bd2c9355e90574964fa283b4d8ef4ae665e",
|
||||
"sha256:84eec41ed982f21ceb58689e16a630a70301eb14499c929388a5bf6464518d9d",
|
||||
"sha256:86d0e28dd5867153d9d9963a4eb17764854a925758fc2db0a814260f82fd4319",
|
||||
"sha256:87dce7c85387ca033cf76cce773ace7675550dcffc456db32a34403439e53e45",
|
||||
"sha256:8869feff59f08cd63979df26aa12343a85bdc7fbd1b79fda8ae39f31a310fa62",
|
||||
"sha256:8baf23d6a0a08b697854e5bcdf82afb91da732cf575fd47ee93945c3654132d8",
|
||||
"sha256:8da525765dbcc1b7abf1bba623f9f701d8759a8fb19594cd71a13b7b0c2c56bd",
|
||||
"sha256:9043bfb816ed50d831acc8d06469dcc41597b4f50c30e62227a93f9f9e37d6c7",
|
||||
"sha256:91c049104b51321e4e18d41edc6850d9f0890ac609b3cb3b8db86dc51666de17",
|
||||
"sha256:93c25fbb5dbc436edbb74101f4da49a42bd3af534513fdf8e75fc72ef035d5e0",
|
||||
"sha256:953129b6b952a9d22042ac23050053444624f630e1928f5f590788660905fa9c",
|
||||
"sha256:9ff0dbec451a2c6226bbd6f2bbbde438bc263e002f3f97d151c8708732ba5197",
|
||||
"sha256:a47f4b24b1360da172cae07ce90e9bd425b6db0052d76142c7fef47173a27283",
|
||||
"sha256:a57e271a0647002b5683dd0c7c2fd7f5fb939357c44396d85298e51a3561b9e3",
|
||||
"sha256:b0606d14892ae2a2b1450e37c8924381e9b64683386a9853e4467f02fd5b44b6",
|
||||
"sha256:b73ff8582964f52ab1bf1a9fdddc1454143172a0b8a9d7d6e3972dd1134f7982",
|
||||
"sha256:bf6047dea1bc8ae19fc14e01b5cb70b3810f91b100d9a535751dd3eadcd3016c",
|
||||
"sha256:c0efc5ab7d9b9e64726496bf650dbc7f1754124a48d076e5292cc5306e61a530",
|
||||
"sha256:c86a0614eda95db036fae01a89f3917d7abdc657c806bac2a32eec74724d9330",
|
||||
"sha256:c878286b1464f462616a47f315d14f02f03512c6b81cb568e996c3f1f79bff8a",
|
||||
"sha256:cd4cde3dfdd347d638171eca53ee6e787d4b1247c6e182f8616039b1df6278d5",
|
||||
"sha256:ceb9a4986f56595e73fffeef3ec037280eda938ed5fe6e4e0961656669d89b32",
|
||||
"sha256:d419e2dbc4943ad6df7ee05e707d7b2c2b512b92407bb6ff643bccbdea399c3a",
|
||||
"sha256:d66462f740dcea496bd779775688a0f805860f0b01998bb59ca22566b098ee26",
|
||||
"sha256:d7514231a03e95072b32d9b335b96253799802ab94647ce83585d5010749380a",
|
||||
"sha256:d9f61b08b60909d936c1f3a4e12c163ca71fd1a4665fc6e078afc6f54f886977",
|
||||
"sha256:da576e59f5f8a642ee26d027479325a45be45defe075b6fa7c84506dabc76883",
|
||||
"sha256:ddaf391ba74eef47eb5afbc40d0b6ddcdbdb417ec8edc8ae95352d25485076db",
|
||||
"sha256:e2b6a323ca545bcb4286d14c0bd75d9a1f5bce2fa1d7fa3621e5f71fd9b8d196",
|
||||
"sha256:e3f6faea65a73ed54111f209b4a411fe012c68f04e8bde96dd7af89b13cac92b",
|
||||
"sha256:e4e36810c541bd1976cd05452e797860b775886cf32c3e8136b9fe48c2c8ba95",
|
||||
"sha256:e5441f4c8142a250695e249e432637c14f79d856a2b60e0974da082e006c53e2",
|
||||
"sha256:e7aedefc87cb46544a3865a19c1d5ca7ddf5ec5ed7dfe162d9538d7543aef499",
|
||||
"sha256:ee2c1fd5bd57fd0092dfa31c1f9f166cf2850f191311603ce343cadcc8608d60",
|
||||
"sha256:f2b6e12f98cce588525f3db802c88f9795d294549ebfe7c2c9bb81333f533ecd",
|
||||
"sha256:f333c0d71dd892683e608f8d1731785a0aa67b1ec012b0d9fc863e8d7224f64e",
|
||||
"sha256:f3e20eb096deea92350f7198a4287d45883a62fe4459d027ce789e72ceba12ee",
|
||||
"sha256:f785375ca2b4e2192786f1e0d2a94c66900d12e780ebae1eccbbab85eb9a7054"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==13.10"
|
||||
"version": "==4.0.1"
|
||||
},
|
||||
"python-telegram-bot": {
|
||||
"hashes": [
|
||||
"sha256:534f5bb0ff4ca34c9252e97e0b3bcdab81d97be0eb4821682a361cb426c00e55",
|
||||
"sha256:baeff704baa2ac3dc17a944c02da888228ad258e89be2e5bcbd13a8a5102d573"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==13.11"
|
||||
},
|
||||
"pytz": {
|
||||
"hashes": [
|
||||
|
16
bot/bot.py
16
bot/bot.py
@ -6,6 +6,7 @@ from time import time
|
||||
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
|
||||
from telegram.update import Update
|
||||
from botUtils import showhelp,parse_search_query,getalltsfiles,getAnimelink
|
||||
from database import getData, postData
|
||||
import subprocess
|
||||
import datetime
|
||||
import pytz
|
||||
@ -44,15 +45,18 @@ def get(update, context):
|
||||
userInput = rawUserInput[:]
|
||||
if userInput and not userInput == " ":
|
||||
userdata = parse_search_query(userInput)
|
||||
update.message.reply_text(f"Checking Internal Db\nAnime: {userdata.get('series')}\nSeason: {userdata.get('season_id')}\nEpisode: {userdata.get('episode_id')}")
|
||||
download_status = subprocess.check_call("python downloaderService/main.py "+'"'+userdata.get('series')+'"'+' '+ userdata.get('episode_id') , shell=True)
|
||||
update.message.reply_text(f"Checking Internal Db\nAnime: {userdata.get('series_name')}\nSeason: {userdata.get('season_id')}\nEpisode: {userdata.get('episode_id')}")
|
||||
anime_name = getData(userdata)
|
||||
if not anime_name:
|
||||
download_status = subprocess.check_call("python downloaderService/main.py "+'"'+userdata.get('series_name')+'"'+' '+ userdata.get('episode_id') , shell=True)
|
||||
else:
|
||||
context.bot.send_video(chat_id,anime_name.get("file_id"),supports_streaming=True,timeout=120)
|
||||
else:
|
||||
update.message.reply_text("Please refer to /help")
|
||||
|
||||
update.message.reply_text(f"{userdata.get('series')} - {userdata.get('episode_id')} almost done downloading on the server side!")
|
||||
update.message.reply_text(f"{userdata.get('series_name')} - {userdata.get('episode_id')} almost done downloading on the server side!")
|
||||
filepath = getalltsfiles()
|
||||
#update.message.reply_text(f"{userdata.get('series')} - {userdata.get('episode_id')} Uploading Started!")
|
||||
upload_status = subprocess.check_call("python uploaderService/main.py " +'"'+filepath+'"'+ ' ' + str(chat_id) + ' ' + (userdata.get('series')+str(userdata.get('episode_id'))), shell=True)
|
||||
upload_status = subprocess.check_call("python uploaderService/main.py " +'"'+filepath+'"'+ ' ' + str(chat_id) + ' ' + (userdata.get('series_name')+str(userdata.get('episode_id'))), shell=True)
|
||||
|
||||
|
||||
def error(update, context):
|
||||
@ -76,7 +80,6 @@ def check_document(update, context):
|
||||
#Keep in mind here i have to parse the chat_id from the caption above
|
||||
context.bot.send_video(end_user_chat_id,file_id,supports_streaming=True,timeout=120)
|
||||
|
||||
|
||||
|
||||
def debug_message(update, context):
|
||||
logger.info('debug_message function is called!')
|
||||
@ -94,6 +97,7 @@ def callback_minute(context):
|
||||
def main():
|
||||
updater = Updater(token=API_TOKEN, use_context=True, request_kwargs={'read_timeout': 10, 'connect_timeout': 10})
|
||||
job = updater.job_queue
|
||||
|
||||
# Get the dispatcher to register handlers
|
||||
dp = updater.dispatcher
|
||||
job.run_repeating(callback_minute, interval=120,first=10)
|
||||
|
@ -28,7 +28,7 @@ def parse_search_query(raw_input):
|
||||
episode_id = -1
|
||||
|
||||
query_obj = {
|
||||
"series" : series_name,
|
||||
"series_name" : series_name,
|
||||
"season_id" : season_id,
|
||||
"episode_id": episode_id
|
||||
}
|
||||
|
36
bot/database.py
Normal file
36
bot/database.py
Normal file
@ -0,0 +1,36 @@
|
||||
from pymongo import MongoClient
|
||||
import datetime
|
||||
import json
|
||||
from botUtils import parse_search_query
|
||||
|
||||
client = MongoClient('mongodb://localhost:27017/')
|
||||
|
||||
#database
|
||||
db = client["animeDatabase"]
|
||||
#collection
|
||||
col = db["animeDatabase"]
|
||||
|
||||
|
||||
'''
|
||||
* DB Models
|
||||
* animeDatabase
|
||||
- id *Primary Key*
|
||||
- series_name <string>
|
||||
- season_id <int>
|
||||
- episode_id <int>
|
||||
- file_id <string>
|
||||
- times_queried <int>
|
||||
- date_added <date>
|
||||
'''
|
||||
|
||||
def postData(data):
|
||||
try:
|
||||
post_id = col.insert_one(data).inserted_id
|
||||
return post_id
|
||||
except:
|
||||
return {}
|
||||
|
||||
def getData(data):
|
||||
anime_data = col.find_one(filter=data)
|
||||
return anime_data
|
||||
|
11
databaseSchema.md
Normal file
11
databaseSchema.md
Normal file
@ -0,0 +1,11 @@
|
||||
# Data Model
|
||||
|
||||
* DB Models
|
||||
* animeDatabase
|
||||
- id *Primary Key*
|
||||
- Series_name <string>
|
||||
- Season_id <int>
|
||||
- Episode_id <int>
|
||||
- file_id <string>
|
||||
- times_queried <int>
|
||||
- date_added <date>
|
Loading…
x
Reference in New Issue
Block a user