Skip to content

Latest commit

 

History

History
92 lines (75 loc) · 14.8 KB

File metadata and controls

92 lines (75 loc) · 14.8 KB

subkt / myaa.subkt.tasks / SFTP

SFTP

abstract class SFTP : AbstractTransferTask<ChannelSftp>, SSHTask (source)

Task for uploading files via SFTP (SSH). A predefined task instance can be accessed through Subs.sftp.

sftp {
    from(mux.batchItems())
    // copy mkv files in the 01/extra directory into a "bonus" directory
    from("01/extra") {
        include("*.mkv")
        into("bonus")
    }
    // directory to copy to
    into("Downloads/My Show - 01")

    host("ssh.example.com")
    // identity file, username and port specified in config file
    // defaults to ~/.ssh/config
    config("sshconfig")
    // file with fingerprints for verifying the host
    // defaults to ~/.ssh/known_hosts
    knownHosts("known_hosts")
    overwriteIf(OverwriteStrategy.ALWAYS)
}

Constructors

Name Summary
<init> SFTP(objects: ObjectFactory)
Task for uploading files via SFTP (SSH). A predefined task instance can be accessed through Subs.sftp.

Inherited Properties

Name Summary
overwriteIf val overwriteIf: Property<OverwriteStrategy>
The overwriting strategy to use when encountering existing files with the same name. Defaults to OverwriteStrategy.DIFFERENT_SIZE.
progressLoggerFactory abstract val progressLoggerFactory: ProgressLoggerFactory

Functions

Name Summary
createClient open fun createClient(): ChannelSftp
makedir open fun makedir(client: ChannelSftp, path: String): Unit
stat open fun stat(client: ChannelSftp, file: String): AbstractTransferTask.FileDetails?
upload open fun upload(client: ChannelSftp, file: InputStream, dest: String, callback: (Long) -> Unit): Boolean

Inherited Functions

Name Summary
createCopyAction fun createCopyAction(): CopyAction
createRootSpec open fun createRootSpec(): AbstractTransferTask.DestDirRootSpec<T>
getRootSpec open fun getRootSpec(): AbstractTransferTask.DestDirRootSpec<*>
makedirs fun makedirs(client: T, path: String): Unit

Extension Properties

Name Summary
batch val Task.batch: String
The same as entry if this is a batch task; error otherwise.
currentTask val Task.currentTask: String
The name of this task.
entry val Task.entry: String
The entry (batch or episode) this task corresponds to.
episode val Task.episode: String
The same as entry if this is an episode task; error otherwise.
episodes val Task.episodes: List<String>
The episodes this task corresponds to. A single-item list containing episode if this is an episode task; a list of the episodes for the batch given by batch otherwise.
isBatch val Task.isBatch: Boolean
True if this task is a batch task.
release val Task.release: String
The release this task was generated for.
taskGroup val <T : Task> T.taskGroup: TaskGroup<T>
The TaskGroup instance this task belongs to.

Extension Functions

Name Summary
defaultProperty fun <T> Task.defaultProperty(default: T): Property<T>
Returns a Property with a default value set.
evaluate fun Task.evaluate(expression: String): Provider<List<String>!>!
Evaluates a string using Velocity, splits it on `
evaluateTemplate fun Task.evaluateTemplate(expression: String): Provider<String!>!
Like evaluate but only processes the template syntax, without globbing.
get fun Task.get(propertyName: String): Provider<String!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, assuming that the resulting list contains only one element.
getAs fun <T> Task.getAs(propertyName: String): Provider<T>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and returns a single string, cast to the given type using String.asType, assuming that the resulting list contains only one element.
getFile fun Task.getFile(filename: String): Provider<String!>!
fun Task.getFile(filename: Provider<String>): Provider<String!>!
Reads the specified file and processes it using Velocity.
getList fun Task.getList(propertyName: String): Provider<List<String>>
Searches for the given property in the Subs object's SubProperties instance, and evaluates its value using evaluate.
getListAs fun <T> Task.getListAs(propertyName: String): Provider<List<T>!>!
Searches for the given property in the Subs object's SubProperties instance, evaluates its value using evaluate, and casts the list elements to the given type using String.asType.
getRaw fun Task.getRaw(propertyName: String): String
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string. Raises an error if not found.
getRawMaybe fun Task.getRawMaybe(propertyName: String): String?
Searches for the given property in the Subs object's SubProperties instance, and returns the raw string, possibly null.
includeExtensions fun PatternFilterable.includeExtensions(vararg extensions: String): Unit
Filter files by file extension. Case-insensitive.
outputFile fun Task.outputFile(extension: String): ConfigurableFileCollection
Returns a ConfigurableFileCollection containing a single file taskName.extension located in the build directory.
propertyExists fun Task.propertyExists(propertyName: String): Boolean
Returns true if the given property exists in the Subs object's SubProperties instance for the given context.