changed all new_file to file, also make JobForceScan work

This commit is contained in:
2021-01-20 20:02:31 +11:00
parent 0bc87e346e
commit 76e37a2dc0

View File

@@ -80,14 +80,14 @@ class Entry(Base):
type_id = Column(Integer, ForeignKey("file_type.id"))
type=relationship("FileType")
dir_details = relationship( "Dir")
file_details = relationship( "New_File" )
file_details = relationship( "File" )
in_dir = relationship ("Dir", secondary="entry_dir_link" )
def __repr__(self):
return "<id: {}, name: {}, type={}, dir_details={}, file_details={}, in_dir={}>".format(self.id, self.name, self.type, self.dir_details, self.file_details, self.in_dir)
class New_File(Base):
__tablename__ = "new_file"
class File(Base):
__tablename__ = "file"
eid = Column(Integer, ForeignKey("entry.id"), primary_key=True )
size_mb = Column(Integer, unique=False, nullable=False)
hash = Column(Integer, unique=True, nullable=True)
@@ -303,13 +303,13 @@ def JobScanNow(job):
return
def JobForceScan(job):
return
JobProgressState( job, "In Progress" )
session.query(EntryDirLink).delete()
session.query(Dir).delete()
session.query(File).delete()
settings = session.query(Settings).first()
if settings == None:
raise Exception("Cannot create file data with no settings / import path is missing")
settings.last_import_date = 0
session.query(Entry).delete()
session.commit()
ProcessImportDirs(job)
FinishJob(job, "Completed (forced remove and recreation of all file data)")
MessageToFE( job.id, "success", "Completed (forced remove and recreation of all file data)" )
session.commit()
@@ -350,7 +350,7 @@ def AddDir(job, dirname, path_prefix, in_dir):
def AddFile(job, fname, type_str, fsize, in_dir ):
ftype = session.query(FileType).filter(FileType.name==type_str).first()
e=Entry( name=fname, type=ftype )
f=New_File( size_mb=fsize )
f=File( size_mb=fsize )
e.file_details.append(f)
e.in_dir.append(in_dir)
AddLogForJob(job, "Found new file: {}".format(fname) )
@@ -436,7 +436,6 @@ def FilesInDir( path ):
def ProcessFilesInDir(job, e):
time.sleep(0.3)
print("files in dir - process: {}".format(e.name))
if e.type.name != 'Directory':
e.file_details[0].hash = md5( job, os.path.join( e.in_dir[0].path_prefix, e.name ) )
@@ -452,20 +451,18 @@ def ProcessFilesInDir(job, e):
def JobGetFileDetails(job):
JobProgressState( job, "In Progress" )
print("JobGetFileDetails:")
for jex in job.extra:
if jex.name =="path":
path=jex.value
path=FixPath('static/{}'.format( os.path.basename(path[0:-1])))
print(" for path={}".format( path ) )
print("DEBUG: JobGetFileDetails for path={}".format( path ) )
dir=session.query(Dir).filter(Dir.path_prefix==path).first()
job.current_file_num = 0
job.num_files = dir.num_files
print("cfm set to 0 for job: {}, num_files: {}".format(job.id, job.num_files));
session.commit()
for e in FilesInDir( path ):
ProcessFilesInDir(job, e )
FinishJob(job, "File Details processed")
FinishJob(job, "DEBUG: File Details processed")
session.commit()
return