from flask_sqlalchemy import SQLAlchemy from flask import Flask, jsonify import json import time # from manga_py1.parser import Parser # from manga_py1.info import Info # from Downloader import my_awesome_handler import os # PATH = 'Manga/' # PATH = 'smb://MediaServer._smb._tcp.local/Downloads/Manga/' PATH = '/download' app = Flask(__name__) app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://mdownload:mdownload@192.168.86.198:3306/Downloads' db = SQLAlchemy(app) class downloaderSettings(db.Model): ID = db.Column(db.Integer, primary_key=True) path = db.Column(db.Text) class manga(db.Model): manga_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text) url = db.Column(db.Text) url_flag = db.Column(db.Text) view_format = db.Column(db.Integer) unknown_value = db.Column(db.Integer) active = db.Column(db.Boolean, default=1) class url_metadata(db.Model): url_id = db.Column(db.Integer, primary_key=True) source_name = db.Column(db.VARCHAR(length=10000)) flag = db.Column(db.Text) base_url = db.Column(db.VARCHAR(length=10000)) @app.route('/download', methods=['GET']) def download(): # updated = [] # db_URI = 'mysql+pymysql://mdownload:mdownload@192.168.86.198:3306/Downloads' # query = db.select([manga.columns.url, url_metadata.columns.base_url, manga.columns.url_flag]) # result = db.session.query(manga.base_url, manga.name, manga.url, url_metadata.base_url, url_metadata.flag).join(manga.url_flag == url_metadata.flag).all() result = db.session.query(manga, url_metadata).filter_by(active=1).join(url_metadata, manga.url_flag==url_metadata.flag).all() for each in result: execute = """manga-py """ + each.url_metadata.base_url+each.manga.url + """ -n \"""" + each.manga.name + """\" -d \"""" + PATH + """\" -z -N""" # print("""manga-py """ + each.url_metadata.base_url+each.manga.url + """ -n \"""" + each.manga.name + """\" -d \"""" + PATH + """\" -z -N""") os.system(execute) # updated.append(each.manga.name) return jsonify(updated='done') @app.route('/upload', METHODS=['GET']) def upload_jason(): url = [] base = [] name = [] y = 0 z = 0 with open(PATH+"tach.json", "r") as tf: data = json.load(tf) for x in data["mangas"]: # Manga Name name.append(data["mangas"][y]["manga"][1]) # Mange URL url.append(data["mangas"][y]["manga"][0]) # Mange Base URL base.append(data["mangas"][y]["manga"][2]) y=y+1 for x in name: if not manga.query.filter_by(name=name[z]): query = manga(name=name[z], url=url[z], url_flag=str(base[z]), view_format=0, unkown_value=0) db.session.add(query) else: continue z=z+1 db.session.commit() return jsonify(uploaded='done') if __name__ == "__main__": app.run(host='0.0.0.0', debug=True)