MCPcopy Create free account
hub / github.com/Unpackerr/unpackerr / processEvent

Method processEvent

pkg/unpackerr/folder.go:506–534  ·  view source on GitHub ↗

processEvent processes the event that was received.

(event *eventData, now time.Time)

Source from the content-addressed store, hash-verified

504
505// processEvent processes the event that was received.
506func (f *Folders) processEvent(event *eventData, now time.Time) {
507 dirPath := filepath.Join(event.cnfg.Path, event.name)
508
509 if event.cnfg.isExcludedPath(event.file) || event.cnfg.isExcludedPath(dirPath) {
510 f.Debugf("Folder: Ignored File Event (%s) '%s' (excluded path)", event.op, event.file)
511 return
512 }
513
514 stat, err := os.Stat(dirPath)
515 if err != nil {
516 // Item is unusable (probably deleted), remove it from history.
517 if _, ok := f.Folders[dirPath]; ok {
518 f.Debugf("Folder: Removing Tracked Item: %v", dirPath)
519 delete(f.Folders, dirPath)
520 f.Remove(dirPath)
521 }
522
523 f.Debugf("Folder: Ignored File Event (%s) '%s' (unreadable): %v", event.op, event.file, err)
524
525 return
526 }
527
528 if !stat.IsDir() && !xtractr.IsArchiveFile(event.name) {
529 f.Debugf("Folder: Ignored File Event (%s) '%s' (not archive or dir): %v", event.op, event.file, err)
530 return
531 }
532
533 f.saveEvent(event, dirPath, now)
534}
535
536func (f *Folders) saveEvent(event *eventData, dirPath string, now time.Time) {
537 if _, ok := f.Folders[dirPath]; ok {

Calls 4

RemoveMethod · 0.95
saveEventMethod · 0.95
isExcludedPathMethod · 0.80
DebugfMethod · 0.65