Skip to content

Commit

Permalink
Merge pull request #90 from Drazzilb08/renamer-integration-fix
Browse files Browse the repository at this point in the history
Logging bug and renamer integration fix
  • Loading branch information
Drazzilb08 authored Feb 26, 2024
2 parents 3865a74 + a9125bd commit a7577e5
Show file tree
Hide file tree
Showing 17 changed files with 83 additions and 47 deletions.
10 changes: 1 addition & 9 deletions .github/workflows/version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,4 @@ jobs:
build-args: |
"BRANCH=${{ steps.extract_branch.outputs.branch }}"
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/userscripts:${{ steps.get_version.outputs.VERSION }}

- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
with:
body_path: CHANGELOG
token: ${{ secrets.GH_PAT }}
tag_name: ${{ steps.get_version.outputs.VERSION }}
tags: ${{ secrets.DOCKER_USERNAME }}/userscripts:${{ steps.get_version.outputs.VERSION }}}
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.1
0.1.2
37 changes: 37 additions & 0 deletions config/config.sample.yml
Original file line number Diff line number Diff line change
Expand Up @@ -466,5 +466,42 @@ health_checkarr:
- sonarr_1
- sonarr_anime

backup_appdata:
log_level: info
# Dry run will not actually perform the backup, it will only print what it would do and create dummy files
dry_run: true
destination: /path/to/backup/destination/
keep_backup: 5
# Use compression?
compress: true
# Add new containers to the stop list
add_to_stop: true
# Add new containers to the no stop list
add_to_no_stop: false
use_summary: false
stop_list:
# Containers you want to stop before backing up
- radarr
- sonarr
- qbittorrent
no_stop_list:
# Containers you want to not stop before backing up
- wrapperr
- Sonarr
- wizarr
exclusion_list:
# Containers you want to exclude from the backup, typically containers without appdata or such as plex (or if running this in a container)
- dazzling_mendeleev
- gifted_feistel
- xenodochial_grothendieck
- Dozzle
- scripts
- naughty_brown
- agitated_curie
appdata_paths:
# paths to appdata on host
- /mnt/user/cache
- /mnt/user/cache/

main:
log_level: info
6 changes: 2 additions & 4 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,8 @@ def run_module(script_to_run, logger):
if script_to_run in list_of_python_scripts:
try:
config = get_config(script_to_run)
script_logger = get_logger(config, script_to_run)
module = importlib.import_module(f"modules.{script_to_run}")
process = multiprocessing.Process(target=module.main, args=(script_logger, config))
process = multiprocessing.Process(target=module.main, args=(config,))
if process:
if script_to_run == "poster_renamerr":
config = Config(script_to_run)
Expand All @@ -108,9 +107,8 @@ def run_module(script_to_run, logger):
module = "bash_scripts"
try:
config = get_config(module)
script_logger = get_logger(config, script_to_run)
module = importlib.import_module(f"modules.{module}")
process = multiprocessing.Process(target=module.main, args=(script_to_run, config, script_logger))
process = multiprocessing.Process(target=module.main, args=(script_to_run, config))
if process:
if logger: logger.info(f"Running script: {script_to_run}")
else: print(f"Running script: {script_to_run}")
Expand Down
5 changes: 2 additions & 3 deletions modules/backup_appdata.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import pathlib

from util.utility import *
from util.config import Config
from util.logger import setup_logger
from util.discord import *

Expand Down Expand Up @@ -535,14 +534,14 @@ def notification(containers_dict, script_name, use_summary, containers_to_remove
discord(fields=fields, logger=logger, script_name=script_name, description=description, color=0x00ff00, content=None)


def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config

name = script_name.replace("_", " ").upper()
Expand Down
3 changes: 2 additions & 1 deletion modules/bash_scripts.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from util.call_script import *
from util.discord import get_discord_data, discord_check
from util.utility import create_bar
from util.logger import setup_logger
import pathlib

def set_cmd_args(settings, bash_script_file, logger, script_name):
Expand Down Expand Up @@ -165,7 +166,7 @@ def main(script_name, config, logger):
"""
name = script_name.replace("_", " ").upper()
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
settings = None
try:
for script_setting_key, script_setting_value in config.bash_config.items():
Expand Down
5 changes: 3 additions & 2 deletions modules/border_replacerr.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

from util.utility import *
from util.scheduler import check_schedule
from util.logger import setup_logger

try:
from tqdm import tqdm
Expand Down Expand Up @@ -511,14 +512,14 @@ def process_files(source_dirs, destination_dir, dry_run, log_level, script_confi
return


def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()

Expand Down
5 changes: 3 additions & 2 deletions modules/health_checkarr.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from util.arrpy import StARR
from util.utility import *
from util.discord import discord
from util.logger import setup_logger

try:
from tqdm import tqdm
Expand All @@ -34,14 +35,14 @@
tmdb_id_extractor = re.compile(r"tmdbid (\d+)")
tvdb_id_extractor = re.compile(r"tvdbid (\d+)")

def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()
try:
Expand Down
5 changes: 3 additions & 2 deletions modules/labelarr.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from util.discord import discord, discord_check
from util.arrpy import StARR
from util.utility import *
from util.logger import setup_logger

try:
from plexapi.server import PlexServer
Expand Down Expand Up @@ -251,14 +252,14 @@ def handle_tags(app, media_dict, tag_names):
return media_dict


def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()

Expand Down
5 changes: 3 additions & 2 deletions modules/nohl.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from util.arrpy import StARR
from util.discord import discord, discord_check
from util.utility import *
from util.logger import setup_logger

try:
from tqdm import tqdm
Expand Down Expand Up @@ -531,14 +532,14 @@ def notification(final_output, logger, log_level):
discord(fields, logger, script_name, description=f"{'__**Dry Run**__' if dry_run else ''}", color=0x00ff00, content=None)


def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()
try:
Expand Down
5 changes: 3 additions & 2 deletions modules/poster_cleanarr.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

from util.utility import *
from util.arrpy import StARR
from util.logger import setup_logger

try:
from plexapi.server import PlexServer
Expand Down Expand Up @@ -214,14 +215,14 @@ def print_output(remove_data, logger):
logger.info(f"\nTotal number of assets removed: {count}")


def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()
logger.info(f"Testing things out")
Expand Down
13 changes: 6 additions & 7 deletions modules/poster_renamerr.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
from util.utility import *
from util.discord import discord, discord_check
from util.arrpy import StARR
from util.logger import setup_logger

try:
from plexapi.server import PlexServer
Expand Down Expand Up @@ -509,17 +510,18 @@ def notification(output, logger):
print("Pausing for 5 seconds to let Discord catch up...")
time.sleep(5)

def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)

script_config = config.script_config
name = script_name.replace("_", " ").upper()

logger.info(f"Running {name}")
try:
logger.info(create_bar(f"START {name}"))
# Display script settings
Expand Down Expand Up @@ -560,24 +562,21 @@ def main(logger, config):
else:
logger.debug(f"Destination directory already exists: {destination_dir}")
logger.debug(create_bar("-")) # Log separator

if dry_run:
# Log dry run message
table = [
["Dry Run"],
["NO CHANGES WILL BE MADE"]
]
logger.info(create_table(table))

# Sync posters if enabled
if sync_posters:
# Run sync_posters.py or log intent to run
logger.info(f"Running sync_gdrive")
from modules.sync_gdrive import main as gdrive_main
from util.config import Config
gdrive_config = Config("sync_gdrive")
gdrive_script_config = gdrive_config.script_config
gdrive_main(logger, config)
gdrive_main(gdrive_config, logger)
logger.info(f"Finished running sync_gdrive")
else:
logger.debug(f"Sync posters is disabled. Skipping...")
Expand Down
5 changes: 3 additions & 2 deletions modules/queinatorr.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from util.arrpy import StARR
from util.discord import discord, discord_check
from util.utility import *
from util.logger import setup_logger

try:
from urllib.parse import urlsplit
Expand Down Expand Up @@ -514,7 +515,7 @@ def print_output(messages, logger):
else:
logger.info(f"\t{message}")

def main(logger, config):
def main(config):
"""
Main function.
"""
Expand All @@ -524,7 +525,7 @@ def main(logger, config):
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()

Expand Down
5 changes: 3 additions & 2 deletions modules/renameinatorr.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from util.arrpy import StARR
from util.utility import *
from util.discord import discord, discord_check
from util.logger import setup_logger

try:
from tqdm import tqdm
Expand Down Expand Up @@ -320,14 +321,14 @@ def process_instance(app, rename_folders, server_name, instance_type, count, tag

return media_dict

def main(logger, config):
def main(config):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
script_config = config.script_config
name = script_name.replace("_", " ").upper()

Expand Down
9 changes: 5 additions & 4 deletions modules/sync_gdrive.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

from util.call_script import call_script
from util.utility import create_bar
from util.logger import setup_logger
import sys


Expand Down Expand Up @@ -118,19 +119,19 @@ def run_rclone(cmd, settings, logger):
pass

# Main function
def main(logger, config):
def main(config, logger=None):
"""
Main function.
"""
global dry_run
dry_run = config.dry_run
settings = config.script_config
print(json.dumps(settings))
log_level = config.log_level
logger.setLevel(log_level.upper())
logger = setup_logger(log_level, script_name)
name = script_name.replace("_", " ").upper()

try:
logger.info(create_bar(f"START {name}"))
settings = config.script_config
for cmd in set_cmd_args(settings, logger):
run_rclone(cmd, settings, logger)
except KeyboardInterrupt:
Expand Down
Loading

0 comments on commit a7577e5

Please sign in to comment.