Scalarr is a command line tool for managing Sonarr, fully written in functional Scala.
Here's a preview of what it looks like
Scalarr is available on the AUR. If you're on an Arch, you can install it from here.
For other systems head over to the release page, download a jar file, and follow the instructions further down to run it.
This project is set up with scala build tool, sbt. To build Scalarr you just need to:
-
Install sbt: http://www.scala-sbt.org/release/docs/Setup.html
-
Clone or download this repo
-
Open the repo directory
Scalarr
-
Run either of these commands and sbt will download and prepare all dependencies:
sbt run
to compile and run Scalarr on the flysbt assembly
to build a jar of Scalarr and all its required libraries, in the directorytarget/scala-2.13/
. The file will be called something likescalarr-assembly-1.0.2.jar
After you have your jar file, you can run it with java. For example if you have a file scalarr.jar
in your current directory, run it with:
java -jar scalarr.jar
Or if you've just built it:
java -jar target/scala-2.13/scalarr-assembly-1.0.2.jar
On first launch a config file will be placed in your home directory's .config
folder. Fill in your address, port and Sonarr API key and then run scalarr again to connect to your server. Once you're connected, you can cycle through available commands with the tab key.
Currently scalarr supports the following commands:
search
- Perform a search for new series to add to your libraryseries
- View a series in your library and its seasons/episodesimport
- Automatically import any video files in the selected pathexit
- Exit scalarr
The wonderful logo and mascot were designed by Harofax, saving Scalarr from my poor attempts at ASCII art.
Posters are drawn using a slightly modified version of TerminalImageViewer.
Scalarr relies heavily on ZIO and I owe a lot to John A. De Goes not only for creating ZIO, but also for his excellent talks without which Scalarr would look nothing like it does today.
Much of the command flow was inspired by beets.
Scalarr has several more dependencies, and I thank all their contributors for their work.
Finally, my thanks to everyone who has contributed to Scala itself, and Björn Regnell for introducing me to and teaching the language at LTH.