From 4eb8d9b76e7c90471b576c6de7b0090dab650e83 Mon Sep 17 00:00:00 2001 From: Dan Dembinski Date: Fri, 13 Mar 2020 14:31:29 -0400 Subject: [PATCH] Cleaned up. Added some logic incase the base url is in the URL instead of being tied to the URL_flag. Added method to check what mangas are active. --- main.py | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) diff --git a/main.py b/main.py index a613344..827935e 100644 --- a/main.py +++ b/main.py @@ -1,15 +1,9 @@ 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__) @@ -19,6 +13,7 @@ app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://mdownload:mdownload@192 db = SQLAlchemy(app) + class downloaderSettings(db.Model): ID = db.Column(db.Integer, primary_key=True) path = db.Column(db.Text) @@ -43,21 +38,22 @@ class url_metadata(db.Model): @app.route('/download', methods=['GET']) def download(): - # updated = [] - # db_URI = 'mysql+pymysql://mdownload:mdownload@192.168.86.198:3306/Downloads' + updated = [] - # 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""") + book={} + if 'http' in each.manga.name or 'https' in each.manga.url: + execute = """manga-py """ + each.manga.url + """ -n \"""" + each.manga.name + """\" -d \"""" + PATH + """\" -z -N""" + else: + execute = """manga-py """ + each.url_metadata.base_url+each.manga.url + """ -n \"""" + each.manga.name + """\" -d \"""" + PATH + """\" -z -N""" + book['title'] = each.manga.name + book['command'] = execute + updated.append(book) os.system(execute) - # updated.append(each.manga.name) - return jsonify(updated='done') + return jsonify(manga=updated) @app.route('/upload', methods=['GET']) def upload_jason(): @@ -89,5 +85,22 @@ def upload_jason(): db.session.commit() return jsonify(uploaded='done') + +@app.route('/active', methods=['GET']) +def active(): + activbooks=[] + + result = manga.query.filter_by(active=1).all() + + for each in result: + book={} + book['id'] = each.manga_id + book['title'] = each.name + book['url'] = each.url + book['url_flag'] = each.url_flag + activbooks.append(book) + + return jsonify(active=activbooks) + if __name__ == "__main__": app.run(host='0.0.0.0', debug=True)