diff --git a/files.py b/files.py index e076af9..c90d524 100644 --- a/files.py +++ b/files.py @@ -1,7 +1,7 @@ from wtforms import SubmitField, StringField, HiddenField, validators, Form from flask_wtf import FlaskForm from flask import request, render_template, redirect, send_from_directory -from main import db, app, ma +from main import db, app, ma from sqlalchemy import Sequence from sqlalchemy.exc import SQLAlchemyError from status import st, Status @@ -89,6 +89,30 @@ class FileType(db.Model): def __repr__(self): return "".format(self.id, self.name ) +class PA_JobManager_Message(db.Model): + __tablename__ = "pa_job_manager_fe_message" + id = db.Column(db.Integer, db.Sequence('pa_job_manager_fe_message_id_seq'), primary_key=True ) + job_id = db.Column(db.Integer, db.ForeignKey('job.id') ) + alert = db.Column(db.String) + message = db.Column(db.String) + def __repr__(self): + return ") - # -- static isn't really seen, and the import path basename is always going to be the same - s=Settings.query.first() - if s.storage_path[-1] == '/': - prefix = os.path.basename(s.storage_path[0:-1]) - else: - prefix = os.path.basename(s.storage_path) - prefix=f"static/{prefix}/" + jexes = JobExtra.query.join(Job).join(PA_JobManager_Message).filter(PA_JobManager_Message.id==request.form['fe_msg_id']).all() + path=[jex.value for jex in jexes if jex.name == "path"][0] + prefix = SymlinkName(path,path+'/') + pagesize=int([jex.value for jex in jexes if jex.name == "pagesize"][0]) dups={} for row in rows: - AddDup( prefix, row, dups ) + AddDup( prefix+'/', row, dups ) d1="" d2="" @@ -306,7 +326,7 @@ def fix_dups(): overall_dup_sets += dup_cnt per_path_dups.append({'count': dup_cnt, 'd1': d1, 'd2': d2, 'did1': did1, 'did2': did2, 'hashes' : hashes }) - return render_template("dups.html", per_file_dups=per_file_dups, per_path_dups=per_path_dups, fe_msg_id=request.form['fe_msg_id'], overall_dup_cnt=overall_dup_cnt, overall_dup_sets=overall_dup_sets, page_size=20 ) + return render_template("dups.html", per_file_dups=per_file_dups, per_path_dups=per_path_dups, fe_msg_id=request.form['fe_msg_id'], overall_dup_cnt=overall_dup_cnt, overall_dup_sets=overall_dup_sets, pagesize=pagesize ) @app.route("/rm_dups", methods=["POST"]) def rm_dups(): @@ -327,6 +347,7 @@ def rm_dups(): fe_msg_id=request.form['fe_msg_id'] # allow backend to delete FE message once delete is being processed jex.append( JobExtra( name="fe_msg_id", value=fe_msg_id ) ) + jex.append( JobExtra( name="pagesize", value=10 ) ) job=NewJob( "rmdups", 0, None, jex ) st.SetAlert("success") diff --git a/main.py b/main.py index e6292be..52f8450 100644 --- a/main.py +++ b/main.py @@ -26,34 +26,12 @@ Bootstrap(app) ################################# Now, import non-book classes ################################### from settings import Settings -from files import Entry +from files import Entry, GetJM_Message, ClearJM_Message from person import Person from refimg import Refimg from job import Job, GetNumActiveJobs from ai import * -####################################### CLASSES / DB model ####################################### - -class PA_JobManager_Message(db.Model): - __tablename__ = "pa_job_manager_fe_message" - id = db.Column(db.Integer, db.Sequence('pa_job_manager_fe_message_id_seq'), primary_key=True ) - job_id = db.Column(db.Integer, db.ForeignKey('job.id') ) - alert = db.Column(db.String) - message = db.Column(db.String) - def __repr__(self): - return "
-
{% set page.cnt = page.cnt + 1 %} - {% if page.cnt == page_size %} + {% if page.cnt == pagesize %} {% break %} {% endif %} {% endfor %} - {% if page.cnt < page_size %} + {% if page.cnt < pagesize %}
Choose path to KEEP (same file names in 2 different directories):
{% for dup in per_path_dups %}
@@ -73,7 +73,7 @@
{% set page.cnt = page.cnt + 1 %} - {% if page.cnt == page_size %} + {% if page.cnt == pagesize %} {% break %} {% endif %} {% endfor %}