Skip to content

Latest commit

 

History

History
88 lines (71 loc) · 14.7 KB

File metadata and controls

88 lines (71 loc) · 14.7 KB

subkt / myaa.subkt.tasks / Torrent

Torrent

open class Torrent : AbstractArchiveTask, SubTask (source)

Task to create a torrent file from a set of files. A predefined task instance can be accessed through Subs.torrent.

Note that if more than one file is added to the torrent, a root directory must be specified using the into function.

torrent {
    trackers("http://tracker.example.com:7777/announce",
             "udp://tracker.example.info:1337/announce")
    from(mux.batchItems())
    // copy mkv files in the 01/extra directory into a "bonus" directory
    from("01/extra") {
        include("*.mkv")
        into("bonus")
    }
    // root directory of torrent
    into("My Show - 01")
    out("My Show - 01.torrent")
}

Constructors

Name Summary
<init> Torrent()
Task to create a torrent file from a set of files. A predefined task instance can be accessed through Subs.torrent.

Properties

Name Summary
comment val comment: Property<String>
Comment to add to the torrent file. Optional.
createdBy val createdBy: Property<String>
String identifying the program that created the torrent. Optional.
out val out: ConfigurableFileCollection
The location to save the torrent file. Defaults to an automatically generated file in the build directory.
pieceLength val pieceLength: Property<Int>
Manually specified piece length. Optional.
private val private: Property<Boolean>
If true, mark torrent as private. Optional.
trackers val trackers: ListProperty<String!>!
A list of trackers to add to the torrent.

Functions

Name Summary
createCopyAction open fun createCopyAction(): CopyAction

Inherited Functions

Name Summary
batchItems open fun <T> ItemGroup<T>.batchItems(): List<T>
Gets the items from the given item group that correspond to episodes.
item open fun <T> ItemGroup<T>.item(): T
Gets the item from the given item group that corresponds to entry.

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.