From 0a6a23bc66a125c6495ad6d8b0745771da1daaa6 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Mon, 24 Jun 2019 10:37:01 -0500
Subject: [PATCH 1/9] version bump + develop
---
varken/__init__.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/varken/__init__.py b/varken/__init__.py
index f6e1dae4..4088c02a 100644
--- a/varken/__init__.py
+++ b/varken/__init__.py
@@ -1,2 +1,2 @@
-VERSION = "1.7.2"
-BRANCH = 'master'
+VERSION = "1.7.3"
+BRANCH = 'develop'
From ec73dd8c0fc46eb023eb6938761ae2624148f8bd Mon Sep 17 00:00:00 2001
From: Michael Porter
Date: Mon, 24 Jun 2019 18:57:02 +0100
Subject: [PATCH 2/9] #141 Take monitored status into account for Missing
Available Movies check
---
varken/radarr.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/varken/radarr.py b/varken/radarr.py
index e8a15d06..6692ddf7 100644
--- a/varken/radarr.py
+++ b/varken/radarr.py
@@ -37,7 +37,7 @@ def get_missing(self):
return
for movie in movies:
- if not movie.downloaded:
+ if movie.monitored and not movie.downloaded:
if movie.isAvailable:
ma = 0
else:
From 6d33253608a94cfe667b9dcb85ba08785749d2ba Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 12 Jul 2019 19:42:01 -0500
Subject: [PATCH 3/9] mini gitlab-ci test
---
.gitlab-ci.yml | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
create mode 100644 .gitlab-ci.yml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 00000000..fc34344c
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,20 @@
+stages:
+ - test
+ - deploy
+ - release
+
+variables:
+ DOCKER_REPO: "boerderij/varken"
+ GIT_REPO: 'Boerderij/Varken'
+ VERSION_FILE: "varken/__init__.py"
+ FLAKE_FILES: "Varken.py varken/*.py"
+ TAG: ""
+ GIT_TOKEN: credentials('github-jenkins-token')
+
+flake8-test:
+ image: python:3.7.3-alpine
+ stage: test
+ script:
+ - pip install flake8
+ - flake8 --max-line-length 120 $FLAKE_FILES
+ - grep -i version $VERSION_FILE | cut -d" " -f3 | tr -d \\"
From aa6b8694438565b5e40b2b476bac8bb0c731bab4 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 12 Jul 2019 19:52:35 -0500
Subject: [PATCH 4/9] mini gitlab-ci test 2
---
.gitlab-ci.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fc34344c..e5a7112e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -18,3 +18,4 @@ flake8-test:
- pip install flake8
- flake8 --max-line-length 120 $FLAKE_FILES
- grep -i version $VERSION_FILE | cut -d" " -f3 | tr -d \\"
+ - echo $CI_PROJECT_PATH $CI_PROJECT_PATH_SLUG
From 3503031cebe81494ea55c3e178316b1aba12bcd8 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 9 Aug 2019 15:46:06 -0500
Subject: [PATCH 5/9] update gitlab ci
---
.gitlab-ci.yml | 134 ++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 121 insertions(+), 13 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e5a7112e..fb8e73f9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,21 +1,129 @@
stages:
- test
- - deploy
+ - build and push
+ - manifests
- release
-variables:
- DOCKER_REPO: "boerderij/varken"
- GIT_REPO: 'Boerderij/Varken'
- VERSION_FILE: "varken/__init__.py"
- FLAKE_FILES: "Varken.py varken/*.py"
- TAG: ""
- GIT_TOKEN: credentials('github-jenkins-token')
+.common_build: &common_build
+ image: docker:stable
+ stage: build and push
+ variables:
+ DOCKER_HOST: tcp://docker:2375/
+ DOCKER_DRIVER: overlay2
+ services:
+ - docker:dind
+ except:
+ - tags
+ only:
+ changes:
+ - "Dockerfile*"
+ - Varken.py
+ - varken/*
+ - .gitlab-ci.yml
+ before_script:
+ - mkdir $HOME/.docker
+ - echo '{"experimental":"enabled"}' > $HOME/.docker/config.json
+ - if [[ $CI_COMMIT_REF_NAME == "master" ]]; then
+ export TAG=$(grep -i version varken/__init__.py | cut -d \ -f3 | tr -d \");
+ else
+ export TAG="develop";
+ fi
+ - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USER" --password-stdin
+ - export CI_PROJECT_PATH=$(echo $CI_PROJECT_PATH | tr "[:upper:]" "[:lower:]")
-flake8-test:
+.common_release: &common_release
+ <<: *common_build
+ tags:
+ - docker
+ - shared
+ only:
+ refs:
+ - master
+
+flake8:
image: python:3.7.3-alpine
stage: test
+ cache:
+ key: "varken-cache"
+ paths:
+ - .cache/pip
+ - venv/
+ variables:
+ PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
+ tags:
+ - shared
+ before_script:
+ - python -m venv venv
+ - source venv/bin/activate
+ - pip install -U flake8
+ script:
+ - flake8 --max-line-length 120 Varken.py varken/*.py
+
+amd64:
+ <<: *common_build
+ tags:
+ - docker
+ - shared
+ script:
+ - docker build --pull
+ --cache-from "$CI_PROJECT_PATH":"$TAG-amd64"
+ -t "$CI_PROJECT_PATH":"$TAG-amd64" .
+ - docker push "$CI_PROJECT_PATH":"$TAG-amd64"
+
+armv6:
+ <<: *common_build
+ tags:
+ - docker
+ - arm
+ script:
+ - docker build --pull
+ --cache-from "$CI_PROJECT_PATH":"$TAG-arm"
+ -t "$CI_PROJECT_PATH":"$TAG-arm"
+ -f Dockerfile.arm .
+ - docker push "$CI_PROJECT_PATH":"$TAG-arm"
+
+arm64v8:
+ <<: *common_build
+ tags:
+ - docker
+ - arm64
+ script:
+ - docker build --pull
+ --cache-from "$CI_PROJECT_PATH":"$TAG-arm64"
+ -t "$CI_PROJECT_PATH":"$TAG-arm64"
+ -f Dockerfile.arm64 .
+ - docker push "$CI_PROJECT_PATH":"$TAG-arm64"
+
+versioned:
+ <<: *common_build
+ stage: manifests
+ tags:
+ - docker
+ - shared
+ script:
+ - docker manifest create "$CI_PROJECT_PATH":"$TAG"
+ "$CI_PROJECT_PATH":"$TAG-amd64"
+ "$CI_PROJECT_PATH":"$TAG-arm64"
+ "$CI_PROJECT_PATH":"$TAG-arm"
+ - docker manifest push -p "$CI_PROJECT_PATH":"$TAG"
+
+latest:
+ <<: *common_release
+ stage: manifests
+ tags:
+ - docker
+ script:
+ - docker manifest create "$CI_PROJECT_PATH":latest
+ "$CI_PROJECT_PATH":"$TAG-amd64"
+ "$CI_PROJECT_PATH":"$TAG-arm64"
+ "$CI_PROJECT_PATH":"$TAG-arm"
+ - docker manifest push -p "$CI_PROJECT_PATH":latest
+
+.github:
+ <<: *common_release
+ stage: release
script:
- - pip install flake8
- - flake8 --max-line-length 120 $FLAKE_FILES
- - grep -i version $VERSION_FILE | cut -d" " -f3 | tr -d \\"
- - echo $CI_PROJECT_PATH $CI_PROJECT_PATH_SLUG
+ - apk add git
+ - git remote set-url origin "https://$GITHUB_USER:$GITHUB_TOKEN@github.com/$CI_PROJECT_PATH".git"
+ - git tag $TAG
+ - git push --tags
\ No newline at end of file
From 378e8d6401c4a3634764b5b3201378659e68cf48 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 9 Aug 2019 15:59:21 -0500
Subject: [PATCH 6/9] added check for sonarr monitored as well for #141
---
varken/sonarr.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/varken/sonarr.py b/varken/sonarr.py
index 463b1ad2..db93ef74 100644
--- a/varken/sonarr.py
+++ b/varken/sonarr.py
@@ -54,7 +54,7 @@ def get_calendar(self, query="Missing"):
else:
downloaded = 0
if query == "Missing":
- if not downloaded:
+ if show.monitored and not downloaded:
missing.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
else:
air_days.append((show.series['title'], downloaded, sxe, show.title, show.airDateUtc, show.id))
From cca283d657b15e093e4a5c4d6b7542c427284847 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 9 Aug 2019 17:06:41 -0500
Subject: [PATCH 7/9] check for read-only filesystem and exit if write needed
and cannot. Fixes #146
---
Jenkinsfile | 126 --------------------------------------------
varken/iniparser.py | 4 ++
2 files changed, 4 insertions(+), 126 deletions(-)
delete mode 100644 Jenkinsfile
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index d751aef5..00000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,126 +0,0 @@
-pipeline {
- agent none
- environment {
- DOCKER_REPO = "boerderij/varken"
- GIT_REPO = 'Boerderij/Varken'
- VERSION_FILE = "varken/__init__.py"
- FLAKE_FILES = "Varken.py varken/*.py"
- TAG = ""
- GIT_TOKEN = credentials('github-jenkins-token')
- }
- stages {
- stage('Flake8') {
- agent { label 'amd64'}
- steps {
- sh """
- python3 -m venv venv && venv/bin/pip install flake8 && venv/bin/python -m flake8 --max-line-length 120 ${FLAKE_FILES}
- rm -rf venv/
- """
- script {
- TAG = sh(returnStdout: true, script: 'grep -i version ${VERSION_FILE} | cut -d" " -f3 | tr -d \\"').trim()
- }
- }
- }
- stage('Docker Builds') {
- parallel {
- stage('amd64') {
- when {
- anyOf {
- branch 'master'
- branch 'develop'
- }
- }
- agent { label 'amd64'}
- steps {
- script {
- if (BRANCH_NAME == 'master') {
- def image = docker.build("${DOCKER_REPO}:${TAG}-amd64")
- image.push()
-
- } else if (BRANCH_NAME == 'develop') {
- def image = docker.build("${DOCKER_REPO}:develop-amd64")
- image.push()
- }
- }
- }
- }
- stage('ARMv6') {
- when {
- anyOf {
- branch 'master'
- branch 'develop'
- }
- }
- agent { label 'arm64'}
- steps {
- script {
- if (BRANCH_NAME == 'master') {
- def image = docker.build("${DOCKER_REPO}:${TAG}-arm", "-f Dockerfile.arm .")
- image.push()
- } else if (BRANCH_NAME == 'develop') {
- def image = docker.build("${DOCKER_REPO}:develop-arm", "-f Dockerfile.arm .")
- image.push()
- }
- }
- }
- }
- stage('ARM64v8') {
- when {
- anyOf {
- branch 'master'
- branch 'develop'
- }
- }
- agent { label 'arm64'}
- steps {
- script {
- if (BRANCH_NAME == 'master') {
- def image = docker.build("${DOCKER_REPO}:${TAG}-arm64", "-f Dockerfile.arm64 .")
- image.push()
- } else if (BRANCH_NAME == 'develop') {
- def image = docker.build("${DOCKER_REPO}:develop-arm64", "-f Dockerfile.arm64 .")
- image.push()
- }
- }
- }
- }
- }
- }
- stage('Docker Manifest Build') {
- when {
- anyOf {
- branch 'master'
- branch 'develop'
- }
- }
- agent { label 'amd64'}
- steps {
- script {
- if (BRANCH_NAME == 'master') {
- sh(script: "docker manifest create ${DOCKER_REPO}:${TAG} ${DOCKER_REPO}:${TAG}-amd64 ${DOCKER_REPO}:${TAG}-arm64 ${DOCKER_REPO}:${TAG}-arm")
- sh(script: "docker manifest inspect ${DOCKER_REPO}:${TAG}")
- sh(script: "docker manifest push -p ${DOCKER_REPO}:${TAG}")
- sh(script: "docker manifest create ${DOCKER_REPO}:latest ${DOCKER_REPO}:${TAG}-amd64 ${DOCKER_REPO}:${TAG}-arm64 ${DOCKER_REPO}:${TAG}-arm")
- sh(script: "docker manifest inspect ${DOCKER_REPO}:latest")
- sh(script: "docker manifest push -p ${DOCKER_REPO}:latest")
- } else if (BRANCH_NAME == 'develop') {
- sh(script: "docker manifest create ${DOCKER_REPO}:develop ${DOCKER_REPO}:develop-amd64 ${DOCKER_REPO}:develop-arm64 ${DOCKER_REPO}:develop-arm")
- sh(script: "docker manifest inspect ${DOCKER_REPO}:develop")
- sh(script: "docker manifest push -p ${DOCKER_REPO}:develop")
- }
- }
- }
- }
- stage('GitHub Release') {
- when { branch 'master' }
- agent { label 'amd64'}
- steps {
- sh """
- git remote set-url origin "https://${GIT_TOKEN_USR}:${GIT_TOKEN_PSW}@github.com/${GIT_REPO}.git"
- git tag ${TAG}
- git push --tags
- """
- }
- }
- }
-}
diff --git a/varken/iniparser.py b/varken/iniparser.py
index ed32c088..594c9c39 100644
--- a/varken/iniparser.py
+++ b/varken/iniparser.py
@@ -1,3 +1,4 @@
+from os import W_OK, access
from shutil import copyfile
from os import environ as env
from logging import getLogger
@@ -77,6 +78,9 @@ def write_file(self, inifile):
file_path = join(self.data_folder, ini)
if exists(file_path):
self.logger.debug('Writing to %s', inifile)
+ if not access(file_path, W_OK):
+ self.logger.error("Config file is incomplete and read-only. Exiting.")
+ exit(1)
with open(file_path, 'w') as config_ini:
self.config.write(config_ini)
else:
From 2468230bc5f8daf672f844a27525821b3cfbf213 Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 9 Aug 2019 17:21:52 -0500
Subject: [PATCH 8/9] switch build to gitlab runners
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index f99c8e17..484d218b 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
-[](https://jenkins.cajun.pro/job/Varken/job/master/)
+[](https://gitlab.com/boerderij/Varken/commits/master)
[](https://discord.gg/VjZ6qSM)
[](https://ko-fi.com/varken)
[](https://microbadger.com/images/boerderij/varken)
From 2ef9dcb714e204f0b4d3811f21e9a72d0067fc5f Mon Sep 17 00:00:00 2001
From: "Nicholas St. Germain"
Date: Fri, 9 Aug 2019 17:36:11 -0500
Subject: [PATCH 9/9] version bump + changelog
---
CHANGELOG.md | 22 +++++++++++++++++++---
varken/__init__.py | 2 +-
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 200532fe..2e7c6442 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,7 +1,23 @@
# Change Log
-## [v1.7.2](https://github.com/Boerderij/Varken/tree/v1.7.2) (2019-06-23)
-[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...v1.7.2)
+## [v1.7.3](https://github.com/Boerderij/Varken/tree/v1.7.3) (2019-08-09)
+[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.2...v1.7.3)
+
+**Implemented enhancements:**
+
+- \#141 Take monitored status into account for Missing Available Movies check [\#145](https://github.com/Boerderij/Varken/pull/145) ([mikeporterdev](https://github.com/mikeporterdev))
+
+**Fixed bugs:**
+
+- \[BUG\] Varken Crashes when ini is read only [\#146](https://github.com/Boerderij/Varken/issues/146)
+- \[BUG\] Missing Available Movies/TV Shows does not take Monitored status into account [\#141](https://github.com/Boerderij/Varken/issues/141)
+
+**Merged pull requests:**
+
+- v1.7.3 Merge [\#149](https://github.com/Boerderij/Varken/pull/149) ([DirtyCajunRice](https://github.com/DirtyCajunRice))
+
+## [1.7.2](https://github.com/Boerderij/Varken/tree/1.7.2) (2019-06-24)
+[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.1...1.7.2)
**Implemented enhancements:**
@@ -295,4 +311,4 @@
- Create crontabs [\#6](https://github.com/Boerderij/Varken/pull/6) ([ghost](https://github.com/ghost))
- update plex\_dashboard.json [\#5](https://github.com/Boerderij/Varken/pull/5) ([ghost](https://github.com/ghost))
- Update README.md [\#4](https://github.com/Boerderij/Varken/pull/4) ([ghost](https://github.com/ghost))
-- added sickrage portion [\#3](https://github.com/Boerderij/Varken/pull/3) ([ghost](https://github.com/ghost))
+- added sickrage portion [\#3](https://github.com/Boerderij/Varken/pull/3) ([ghost](https://github.com/ghost))
\ No newline at end of file
diff --git a/varken/__init__.py b/varken/__init__.py
index 4088c02a..754c281d 100644
--- a/varken/__init__.py
+++ b/varken/__init__.py
@@ -1,2 +1,2 @@
VERSION = "1.7.3"
-BRANCH = 'develop'
+BRANCH = 'master'