From 80790cb26e7a4da5519bd0f57225f12053a17d2c Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Mon, 7 Oct 2019 11:41:47 -0500 Subject: [PATCH 1/9] 1.7.5 to develop --- varken/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/varken/__init__.py b/varken/__init__.py index 72b3f7d1..a20a2e9b 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,2 @@ -VERSION = "1.7.4" -BRANCH = 'master' +VERSION = "1.7.5" +BRANCH = 'develop' From 7bca378be7cba8f3893eeabb11b8e433af3d80b1 Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Mon, 7 Oct 2019 12:12:22 -0500 Subject: [PATCH 2/9] fix stupid quote --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a845616b..9214eff5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -124,6 +124,6 @@ github: stage: release script: - apk add git - - git remote set-url origin "https://$GITHUB_USER:$GITHUB_TOKEN@github.com/$CI_PROJECT_PATH".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 ea563f7a8e7d084fc3e825f097ee058d0506f0c0 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 7 Oct 2019 11:35:27 -0700 Subject: [PATCH 3/9] Fix to only use NamedTuple fields from TautulliStream * Allow new fields to be added to Tautulli API without breaking Varken --- varken/tautulli.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/varken/tautulli.py b/varken/tautulli.py index c0d11a29..af0d979f 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -1,4 +1,5 @@ from logging import getLogger +from operator import itemgetter from requests import Session, Request from geoip2.errors import AddressNotFoundError from datetime import datetime, timezone, date, timedelta @@ -40,8 +41,10 @@ def get_activity(self): if session.get('_cache_time'): del session['_cache_time'] + fields = itemgetter(*TautulliStream._fields) + try: - sessions = [TautulliStream(**session) for session in get['sessions']] + sessions = [TautulliStream(*fields(session)) for session in get['sessions']] except TypeError as e: self.logger.error('TypeError has occurred : %s while creating TautulliStream structure', e) return From 16e716e270ed72060862bc020d731833b45da66d Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 7 Oct 2019 13:01:45 -0700 Subject: [PATCH 4/9] Add helper function itemgetter_with_default --- varken/helpers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/varken/helpers.py b/varken/helpers.py index 65b886b1..e80cff92 100644 --- a/varken/helpers.py +++ b/varken/helpers.py @@ -203,3 +203,6 @@ def boolcheck(var): return True else: return False + +def itemgetter_with_default(defaults): + return lambda obj: {k: obj.get(k, v) for k, v in defaults.items()} From fa4b5eec6360238711dcc7eef2b65af067fc7b83 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 7 Oct 2019 13:02:22 -0700 Subject: [PATCH 5/9] Use itemgetter_with_default helper function for Tautulli sessions --- varken/tautulli.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/varken/tautulli.py b/varken/tautulli.py index af0d979f..effbfc77 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -1,12 +1,11 @@ from logging import getLogger -from operator import itemgetter from requests import Session, Request from geoip2.errors import AddressNotFoundError from datetime import datetime, timezone, date, timedelta from influxdb.exceptions import InfluxDBClientError from varken.structures import TautulliStream -from varken.helpers import hashit, connection_handler +from varken.helpers import hashit, connection_handler, itemgetter_with_default class TautulliAPI(object): @@ -41,10 +40,10 @@ def get_activity(self): if session.get('_cache_time'): del session['_cache_time'] - fields = itemgetter(*TautulliStream._fields) + fields = itemgetter_with_default(*TautulliStream._field_defaults) try: - sessions = [TautulliStream(*fields(session)) for session in get['sessions']] + sessions = [TautulliStream(**fields(session)) for session in get['sessions']] except TypeError as e: self.logger.error('TypeError has occurred : %s while creating TautulliStream structure', e) return From 93f762887462710fddf18e8c9b7923ff5efb15b6 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 7 Oct 2019 13:46:38 -0700 Subject: [PATCH 6/9] Make helper.itemgetter_with_default function return a tuple to act more like operator.itemgetter --- varken/helpers.py | 4 ++-- varken/tautulli.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/varken/helpers.py b/varken/helpers.py index e80cff92..0dc43bc8 100644 --- a/varken/helpers.py +++ b/varken/helpers.py @@ -204,5 +204,5 @@ def boolcheck(var): else: return False -def itemgetter_with_default(defaults): - return lambda obj: {k: obj.get(k, v) for k, v in defaults.items()} +def itemgetter_with_default(**defaults): + return lambda obj: tuple(obj.get(k, v) for k, v in defaults.items()) diff --git a/varken/tautulli.py b/varken/tautulli.py index effbfc77..292ad552 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -40,10 +40,10 @@ def get_activity(self): if session.get('_cache_time'): del session['_cache_time'] - fields = itemgetter_with_default(*TautulliStream._field_defaults) + fields = itemgetter_with_default(**TautulliStream._field_defaults) try: - sessions = [TautulliStream(**fields(session)) for session in get['sessions']] + sessions = [TautulliStream(*fields(session)) for session in get['sessions']] except TypeError as e: self.logger.error('TypeError has occurred : %s while creating TautulliStream structure', e) return From 4f5750ab161d5c6ead173d7f5b8977d619bd5c87 Mon Sep 17 00:00:00 2001 From: JonnyWong16 Date: Mon, 7 Oct 2019 13:51:39 -0700 Subject: [PATCH 7/9] Don't need to remove key from Tautulli sessions dict anymore --- varken/tautulli.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/varken/tautulli.py b/varken/tautulli.py index 292ad552..3eeaada9 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -34,12 +34,6 @@ def get_activity(self): return get = g['response']['data'] - - # Remove erroneous key from sessions - for session in get['sessions']: - if session.get('_cache_time'): - del session['_cache_time'] - fields = itemgetter_with_default(**TautulliStream._field_defaults) try: From 6e1069d6d19c7eb3b40b1ad749440f0502eb06cd Mon Sep 17 00:00:00 2001 From: samwiseg00 Date: Tue, 8 Oct 2019 11:15:25 -0400 Subject: [PATCH 8/9] Fix formatting issues --- varken/helpers.py | 1 + varken/tautulli.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/varken/helpers.py b/varken/helpers.py index 0dc43bc8..77090c18 100644 --- a/varken/helpers.py +++ b/varken/helpers.py @@ -204,5 +204,6 @@ def boolcheck(var): else: return False + def itemgetter_with_default(**defaults): return lambda obj: tuple(obj.get(k, v) for k, v in defaults.items()) diff --git a/varken/tautulli.py b/varken/tautulli.py index 3eeaada9..c0ec8e55 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -35,7 +35,7 @@ def get_activity(self): get = g['response']['data'] fields = itemgetter_with_default(**TautulliStream._field_defaults) - + try: sessions = [TautulliStream(*fields(session)) for session in get['sessions']] except TypeError as e: From 7ebf3bb1e802b73b7375636323c71eb25e1c3b0b Mon Sep 17 00:00:00 2001 From: "Nicholas St. Germain" Date: Wed, 11 Dec 2019 11:01:24 -0600 Subject: [PATCH 9/9] develop -> master + CHANGELOG --- CHANGELOG.md | 19 ++++++++++++++++--- varken/__init__.py | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4db6a942..72b73207 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,16 @@ # Change Log -## [v1.7.4](https://github.com/Boerderij/Varken/tree/v1.7.4) (2019-10-07) -[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.3...v1.7.4) +## [v1.7.5](https://github.com/Boerderij/Varken/tree/v1.7.5) (2019-12-11) +[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.4...v1.7.5) + +**Merged pull requests:** + +- v1.7.5 Merge [\#162](https://github.com/Boerderij/Varken/pull/162) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) +- Add helper itemgetter function for TautulliStream fields [\#157](https://github.com/Boerderij/Varken/pull/157) ([JonnyWong16](https://github.com/JonnyWong16)) +- Fix to only use NamedTuple fields from TautulliStream [\#156](https://github.com/Boerderij/Varken/pull/156) ([JonnyWong16](https://github.com/JonnyWong16)) + +## [1.7.4](https://github.com/Boerderij/Varken/tree/1.7.4) (2019-10-07) +[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.3...1.7.4) **Implemented enhancements:** @@ -24,6 +33,10 @@ - \[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) +**Closed issues:** + +- \[Feature Request\] Medusa Support [\#148](https://github.com/Boerderij/Varken/issues/148) + **Merged pull requests:** - v1.7.3 Merge [\#149](https://github.com/Boerderij/Varken/pull/149) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) @@ -323,4 +336,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 a20a2e9b..a4c7ccef 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,2 @@ VERSION = "1.7.5" -BRANCH = 'develop' +BRANCH = 'master'