use pagesize not page_size, and pass it in based on job extras, also use path based on job extras, so we fix issue of fix_dups not knowing which path from settings was used (import or storage)
This commit is contained in:
43
files.py
43
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 "<id: {}, name={}>".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 "<id: {}, job_id: {}, alert: {}, message: {}".format(self.id, self.job_id, self.alert, self.message)
|
||||
|
||||
|
||||
################################################################################
|
||||
# Local utility functions
|
||||
################################################################################
|
||||
|
||||
def GetJM_Message():
|
||||
msg=PA_JobManager_Message.query.first()
|
||||
return msg
|
||||
|
||||
def ClearJM_Message(id):
|
||||
msg=PA_JobManager_Message.query.get(id)
|
||||
PA_JobManager_Message.query.filter(PA_JobManager_Message.id==id).delete()
|
||||
db.session.commit()
|
||||
return
|
||||
|
||||
def ViewingOptions( request ):
|
||||
noo="Oldest"
|
||||
grouping="None"
|
||||
@@ -244,17 +268,13 @@ def fix_dups():
|
||||
st.SetMessage(f"Err, no dups - should now clear the FE 'danger' message?")
|
||||
return render_template("base.html")
|
||||
|
||||
# use import_path setting to remove the dup path prefix of static/basename(<import_path>)
|
||||
# -- 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")
|
||||
|
||||
Reference in New Issue
Block a user