HFS: Event scripts
Warning: this feature requires version 2.3 or above.
Event scripts are scripts that run when something happens: an event.
The syntax is very similar to the one used in templates. The name of the event is on a line, surrounded by [square brakets]. The script commands follows.
Example:
[upload completed] {.move|%item-resource%|C:\another_folder\%item-name%.}
Would you need to not overwrite an existing event script, you can prefix the event name with a "+" sign. Example: [+upload completed].
You can read more on the forum.
Events list
Network events
- server start
- HFS was switched on, to accept connections.
- server stop
- HFS was switched off, connections are accepted no more.
- request
- an HTTP request has been made, this includes browsing, icons, archives, and normal downloads.
- request completed
- the request was fulfilled.
- pre-filter-request
- some actions may need to be taken before requests are filtered by some limiting option. In case, you should use this event.
- unauthorized
- this user has no permission to access the requested resource.
- connected
- a new connection was established by a client.
- disconnected
- a connection is ended.
- download
- a download was requested.
- download completed
- a download has just finished.
- upload completed
- a file has been uploaded.
- upload failed
- a file has failed to be uploaded.
Naming events
You can use these events to change the name that will be given to the file that is about to be uploaded or downloaded: upload name, archive name, download name. The resulting text of these events will be used as new name for the worked file.
For event archive name the symbol %stream-size% is provided so that you can use it for actions depending the size of the generated archive.
Other events
- start
- HFS was started.
- quit
- HFS is quitting.
- file deleted
- a file was remotely deleted. Use %item-deleted% ll path to it.
- on macro rename
- a {.rename.} was successful. Use %old-name% and %new-name% to know the full path of them.
- If you do a {.rename.} inside this event, by default, it won't fire the event again. If you want it to do it, you must use named parameter {.rename|recursive=1.}.
- pre-filter-request
- not yet documented
Timed events
You can ask HFS to run a script at a certain time, or interval.
To run a script at 1PM o'clock, you can make an event [at 13:00].
To run every 15 minutes instead you should make an event [every 15 minutes].
You can read more on the forum.