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 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() # PATH = 'Manga/' # PATH = 'smb://MediaServer._smb._tcp.local/Downloads/Manga/' PATH = '/download' 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') # def upload_jason(): # url = [] # base = [] # name = [] # y = 0 # z = 0 # # db_URI = 'mysql+pymysql://mdownload:mdownload@192.168.86.198:3306/Downloads' # # engine = db.create_engine(db_URI) # con = engine.connect() # metadata = db.MetaData() # manga = db.Table('manga', metadata, autoload=True, autoload_with=engine) # # with open("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 # # query = """ Delete from manga""" # # con.execute(query) # # query = """ Alter table manga auto_increment = 1 """ # # con.execute(query) # for x in name: # query = """select name from manga where name = \"""" + name[z] + """\"""" # exists = con.execute(query).fetchone() # if exists == None or exists[0] != name[z]: # query = """ insert into manga(name, url, url_flag, view_format, unknown_value) values (\"""" + name[z] + """\",\"""" + url[z] + """\",\"""" + str(base[z]) + """\",\"0\",\"0\")""" # print(query) # con.execute(query) # else: # continue # z=z+1 if __name__ == "__main__": app.run(host='0.0.0.0', debug=True)