diff --git a/pa_job_manager.py b/pa_job_manager.py index e73ddaa..358a419 100644 --- a/pa_job_manager.py +++ b/pa_job_manager.py @@ -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 "".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