github.com/gofunct/common@v0.0.0-20190131174352-fd058c7fbf22/pkg/fs/watcher/fileEvent.go (about)

     1  package watcher
     2  
     3  import "fmt"
     4  
     5  //"log"
     6  
     7  const (
     8  	// NONE means no event, initial state.
     9  	NONE = iota
    10  	// CREATED means file was created.
    11  	CREATED
    12  	// DELETED means file was deleted.
    13  	DELETED
    14  	// MODIFIED means file was modified.
    15  	MODIFIED
    16  	// PERM means changed permissions
    17  	PERM
    18  	// NOEXIST means file does not exist.
    19  	NOEXIST
    20  	// NOPERM means no permissions for the file (see const block comment).
    21  	NOPERM
    22  	// INVALID means any type of error not represented above.
    23  	INVALID
    24  )
    25  
    26  // FileEvent is a wrapper around github.com/howeyc/fsnotify.FileEvent
    27  type FileEvent struct {
    28  	Event    int
    29  	Path     string
    30  	UnixNano int64
    31  }
    32  
    33  // newFileEvent creates a new file event.
    34  func newFileEvent(op int, path string, unixNano int64) *FileEvent {
    35  	//log.Printf("to channel %+v\n", originEvent)
    36  	return &FileEvent{Event: op, Path: path, UnixNano: unixNano}
    37  }
    38  
    39  // String returns an eye friendly version of this event.
    40  func (fe *FileEvent) String() string {
    41  	var status string
    42  	switch fe.Event {
    43  	case CREATED:
    44  		status = "was created"
    45  	case DELETED:
    46  		status = "was deleted"
    47  	case MODIFIED:
    48  		status = "was modified"
    49  	case PERM:
    50  		status = "permissions changed"
    51  	case NOEXIST:
    52  		status = "does not exist"
    53  	case NOPERM:
    54  		status = "is not accessible (permission)"
    55  	case INVALID:
    56  		status = "is invalid"
    57  	}
    58  	return fmt.Sprintf("%s %s", fe.Path, status)
    59  }