An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents

Related tags

Image Processingmylar
Overview

Mylar Logo Mylar

Note that feature development has stopped as we have moved to Mylar3.

EOL for this project is the end of 2020 and will no longer be supported. This repo will be archived as of Jan-1-2021.

Mylar is an automated Comic Book (cbr/cbz) downloader program for use with NZB and torrents written in python. It supports SABnzbd, NZBGET, and many torrent clients in addition to DDL.

It will allow you to monitor weekly pull-lists for items belonging to user-specific series to download, as well as being able to monitor story-arcs. Support for TPB's and GN's is also now available.

This program is considered an "Alpha release" but is in development still. It is not bug-free, but it does work!

Support & Discussion

You are free to join the Mylar support community on IRC where you can ask questions, hang around and discuss anything related to Mylar.

  1. Use any IRC client and connect to the Freenode server, irc.freenode.net.
  2. Join the #mylar channel.

The Mylar Forums are also online @ https://forum.mylarcomics.com

Issues can be reported on the Github issue tracker, provided that you:

  • Search existing recent OPEN issues. If an issue is open from a year ago, please don't add to it.
  • Always follow the issue template!
  • Close your issue when it's solved!

Requirements

  • At least Python version 2.7.9 (3.x is not supported)
  • ComicVine API key (found here - program will have limited to no functionality without it
  • UnRaR / RAR is required if metatagging is enabled within the program.

Usage

To start the program, type python Mylar.py inside the root of the Mylar directory. Typing python Mylar.py --help will give a list of available options.

Once it's started, navigate to http://localhost:8090 in your web browser (or whatever IP the machine that has Mylar is on).

Helpful hints:

  • Ensure Comic Location is specified in the configuration (Configuration --> Web Interface --> Comic Location)
    • Mylar auto-creates the Comic Series directories under the Comic Location. The directory is displayed on the Comic Detail page).
    • If you do not want directories to be created until there are issues present, set create_folders = False in the config.ini.
  • A search provider needs to be specified to perform any search-related functions
  • Enabling Automatically Mark Upcoming Issues as Wanted in settings will mark any NEW comic from the Pullist that is on your 'watchlist' as wanted
  • Add a comic (series) using the Search button or via the Pullist.
  • If you know the CV comicid, enter the full id into the search box (ie. 4050-XXXXX)
  • If adding a comic fails with "Error", submit a bug and it will be checked out (usually an easy fix)
  • Post-Processing is for adding new issues into existing series on your watchlist, Import is for adding files for series that don't exist on your watchlist into your watchlist
  • For the most up-to-date build, use the Development build
    • Master doesn't get updated as frequently (> month), and Development is usually stable

Post-processing

It is imperative that you enable the post-processing option if you require post-processing (Configuration --> Quality & Post-Processing --> Enable Post-Processing)

Newsgroups

There are 2 ways to perform post-processing within Mylar, however you cannot use both options simultaneously.

ComicRN

  • You need to enable the Mylar APIKey for this to work (Configuration --> Web Interface --> API --> Enable API --> Generate --> Save Configuration).
  • Within the post-processing/ folder of Mylar there are 2 files (autoProcessComics.py and autoProcessComics.cfg.sample)
  • Within the post-processing/ folder of Mylar there are 2 directories (nzbget, sabnzbd) and within each of these client folders is a ComicRN.py script that is to be used with the respective download client.
  • Edit (put in your Mylar host, port, apikey (generated from above), and ssl(0 for no, 1 for yes) and rename the autoProcessComics.cfg.sample to autoProcessComics.cfg.
  • Copy autoProcessComics.py, autoProcessComics.cfg and the respective ComicRN.py into your SABnzbd/NZBGet scripts directory (or wherever your download client stores its scripts).
  • Make sure SABnzbd/NZBGet is setup to have a 'comic-related' category that points it to the ComicRN.py script that was just moved.
  • Ensure in Mylar that the category is named exactly the same.

Completed Download Handling (CDH)

  • For the given download client (SABnzbd / NZBGet) simply click on the Enable Completed Download Handling option.
  • For SABnzbd to work, you need to make sure you have a version > 0.8.0 (use the Test Connection button for verification)

Torrents

There is no completed processing for torrents. There are methods available however:

Torrent client on same machine as Mylar installation

  • Configuration tab --> Quality & Post-Processing --> Post-Processing
  • set the post-processing action to copy if you want to seed your torrents, otherwise move
    • Enable Folder Monitoring
    • Folder location to monitor: set to the full location where your finished torrents are downloaded to.
    • Folder Monitor Scan Interval: do NOT set this to < 1 minute. Anywhere from 3-5 minutes should be ample.

Torrent client on different machine than Mylar

  • Use harpoon to retrieve items back to your local install as soon as they are completed and have post-processing occur immediately (also works with other automated solutions).
  • Any other method that involves having the files localized and then have Folder Monitor monitor the location for files.

Torrent client (rtorrent/deluge) on different machine than Mylar

  • a built-in option for these clients that will monitor for completion and then perform post-processing on the given items.
  • files are located in the post-processing/torrent-auto-snatch location within the mylar directory.
  • read the read.me therein for configuration / setup.

DDL

When using DDL, post-processing will be initiated immediately upon successful completion. By default the items are downloaded to the cache directory location and removed after post-processing. However, if you wish to change the default directory location, specify the full directory location in the config.ini ddl_location field.

Renaming files and folders

You can specify how Mylar renames files during post-processing / import in addition to the folders.

Folder Format

  • If left blank or as the default value of ComicName-(Year), it will create subdirectories in the format ComicName-(Year)
  • You can do multiple directory hiearchies as well - so you could do $Publisher/$Series/$Year to have it setup like DC Comics/Wildman/2011 (as an example)
  • Folder Format is used on every Add Series / Refresh Series request
    • Enabling Renaming has no bearing on this, so make sure if you're not using the default, that it's what you want.

File Format

  • To enable renaming for files, you need to enable the Rename Files option, otherwise, Mylar will use the original file and not rename at all
    • This includes replacing spaces, lowercasing and zero suppression (all renaming features)

You can contribute by sending in your bug reports / enhancement requests.
Telling us what's working helps too!

Image histogram remapping

Hmap An image histogram remapping script written in Python 2.7 by Anthony Kesich and Ross Goodwin. Changes source image so that source image's histogr

Ross Goodwin 199 Nov 19, 2022
Generate different types of random avatars.

avatar-generator Generate different types of random avatars. Requirements Python3 pytorch=1.6 cv2=3.4 tqdm 1. Github-like avatars python generate_gi

Ming 11 Apr 02, 2022
Fill holes in binary 2D & 3D images fast.

Fill holes in binary 2D & 3D images fast.

11 Dec 09, 2022
An python script to convert images to upscaled versions made out of one-colour emojis.

ABOUT This is an python script to convert png, jpg and gif(output isnt animated :( ) images to scaled versions made out of one-colour emojis. Please n

0 Oct 19, 2022
Make GIFs from time-stacked xarray.DataArrays (time, [optional band], y, x), dead-simple.

GeoGIF Make GIFs from time-stacked xarray.DataArrays (time, [optional band], y, x), dead-simple. from geogif import gif, dgif gif(data_array) dgif(das

Gabe Joseph 47 Dec 22, 2022
ProsePainter combines direct digital painting with real-time guided machine-learning based image optimization.

ProsePainter Create images by painting with words. ProsePainter combines direct digital painting with real-time guided machine-learning based image op

Morphogen 276 Dec 17, 2022
BeeRef — A Simple Reference Image Viewer

BeeRef — A Simple Reference Image Viewer BeeRef lets you quickly arrange your reference images and view them while you create. Its minimal interface i

Rebecca 245 Dec 25, 2022
Convert photos to paintings with python

Convert-photos-to-paintings Before the changes After the changes Before the changes After the changes This code is written in the Python programming l

Amir Hussein Sharifnezhad 3 May 31, 2022
Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors

NanoImgPro Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors NanoImgPro.py contains the main class

1 Mar 02, 2022
Magic-Square - Creates a magic square by randomly generating a list until the list happens to be a magic square

Magic-Square Creates a magic square by randomly generating a list until the list happens to be a magic square. Done as simply as possible... Frequentl

Nick 2 Jan 01, 2022
Paper backup of files using QR codes

Generate paper backups for Linux. Currently command-linux Linux only. Takes any file, and outputs a "paper backup": a printable black-and-white pdf fu

Zachary Vance 27 Dec 28, 2022
Archive of the image generator stuff from my API

alex_api_archive Archive of the image generator stuff from my API FAQ Q: Why? A: Because I am removing these components from the API Q: How do I run i

AlexFlipnote 26 Nov 17, 2022
Bot by image recognition simulating (random) human clicks

bbbot22 bot por reconhecimento de imagem simulando cliques humanos (aleatórios) inb4: sim, esse é basicamente o mesmo bot de 2021 porque a Globo não t

Yuri 2 Apr 05, 2022
The ctypes-based simple ImageMagick binding for Python

Wand Wand is a ctypes-based simple ImageMagick binding for Python, supporting 2.7, 3.3+, and PyPy. All functionalities of MagickWand API are implement

Eric McConville 1.2k Dec 30, 2022
Xmas-Tree-GIF-Tool - Convert any given animated gif file into an animation in GIFT CSV format

This repo is made to participate in Matt Parker's XmasTree 2021 event. Convert a

Aven Zitzelberger 2 Dec 30, 2021
An example which streams RGB-D images over spout.

Spout RGB-D Example An example which streams RGB-D images over spout with visiongraph. Due to the spout dependency this currently only works on Window

Florian Bruggisser 4 Nov 14, 2022
Gbs-image-colorizer - A tool to convert colorful pictures to GB Studio-compatible colorized backgrounds.

GB Studio Image Colorizer A tool to convert colorful pictures to GB Studio-compatible colorized backgrounds. Made by NalaFala/Yousurname/Y0UR-U5ERNAME

Yousurname 8 Dec 08, 2022
A linear stairs generation add-on for Blender

Linear Stairs Generator Table of Contents Installation Usage Screenshots Important Notes Requirements Blender 3.0 or newer. Installation: Download a z

Elhanan Flesch 4 May 17, 2022
📷 Python package and CLI utility to create photo mosaics.

📷 Python package and CLI utility to create photo mosaics.

Loic Coyle 7 Oct 29, 2022
Digital image process Basic algorithm

These are some basic algorithms that I have implemented by my hands in the process of learning digital image processing, such as mean and median filtering, sharpening algorithms, interpolation scalin

JingYu 2 Nov 03, 2022