Update.
This commit is contained in:
Vendored
+54
@@ -0,0 +1,54 @@
|
||||
// retoor <retoor@molodetz.nl>
|
||||
|
||||
import "fswatch" for FileWatcher, FsEvent
|
||||
import "timer" for Timer
|
||||
import "io" for File, FileFlags
|
||||
|
||||
System.print("=== FSWatch Module Demo ===\n")
|
||||
|
||||
var testFile = "/tmp/fswatch_demo.txt"
|
||||
|
||||
System.print("--- Setting up test file ---")
|
||||
var f = File.openWithFlags(testFile, FileFlags.writeOnly | FileFlags.create | FileFlags.truncate)
|
||||
f.writeBytes("initial content", 0)
|
||||
f.close()
|
||||
System.print("Created test file: %(testFile)")
|
||||
|
||||
System.print("\n--- Starting file watcher ---")
|
||||
var watcher = FileWatcher.new(testFile)
|
||||
var eventCount = 0
|
||||
|
||||
watcher.start { |event|
|
||||
eventCount = eventCount + 1
|
||||
System.print("Event %(eventCount):")
|
||||
System.print(" Filename: %(event.filename)")
|
||||
System.print(" Is rename: %(event.isRename)")
|
||||
System.print(" Is change: %(event.isChange)")
|
||||
}
|
||||
|
||||
System.print("Watcher active: %(watcher.isActive)")
|
||||
|
||||
System.print("\n--- Modifying file ---")
|
||||
|
||||
Timer.immediate {
|
||||
var f2 = File.openWithFlags(testFile, FileFlags.writeOnly | FileFlags.truncate)
|
||||
f2.writeBytes("first modification", 0)
|
||||
f2.close()
|
||||
System.print("Made first modification")
|
||||
}
|
||||
|
||||
Timer.sleep(150)
|
||||
|
||||
Timer.immediate {
|
||||
var f3 = File.openWithFlags(testFile, FileFlags.writeOnly | FileFlags.truncate)
|
||||
f3.writeBytes("second modification", 0)
|
||||
f3.close()
|
||||
System.print("Made second modification")
|
||||
}
|
||||
|
||||
Timer.sleep(150)
|
||||
|
||||
System.print("\n--- Stopping watcher ---")
|
||||
watcher.stop()
|
||||
System.print("Watcher active: %(watcher.isActive)")
|
||||
System.print("Total events received: %(eventCount)")
|
||||
Reference in New Issue
Block a user