diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb8e73f..a845616 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -119,7 +119,7 @@ latest: "$CI_PROJECT_PATH":"$TAG-arm" - docker manifest push -p "$CI_PROJECT_PATH":latest -.github: +github: <<: *common_release stage: release script: diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e7c644..4db6a94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,19 @@ # Change Log -## [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) +## [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) + +**Implemented enhancements:** + +- \[Enhancement\] Update Tautulli structures to include grandparent\_guid and parent\_guid [\#154](https://github.com/Boerderij/Varken/issues/154) +- \[Enhancement\] Update Tautulli structures to reflect recent changes [\#153](https://github.com/Boerderij/Varken/issues/153) + +**Merged pull requests:** + +- v1.7.4 Merge [\#155](https://github.com/Boerderij/Varken/pull/155) ([DirtyCajunRice](https://github.com/DirtyCajunRice)) + +## [1.7.3](https://github.com/Boerderij/Varken/tree/1.7.3) (2019-08-09) +[Full Changelog](https://github.com/Boerderij/Varken/compare/1.7.2...1.7.3) **Implemented enhancements:** @@ -311,4 +323,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)) \ No newline at end of file +- added sickrage portion [\#3](https://github.com/Boerderij/Varken/pull/3) ([ghost](https://github.com/ghost)) diff --git a/README.md b/README.md index 484d218..bd88fb9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Discord](https://img.shields.io/discord/518970285773422592.svg?colorB=7289DA&label=Discord&logo=Discord&logoColor=7289DA&style=flat-square)](https://discord.gg/VjZ6qSM) [![ko-fi](https://img.shields.io/badge/Buy%20Us%20A%20Coffee-Donate-ff813f.svg?logo=CoffeeScript&style=flat-square)](https://ko-fi.com/varken) [![Docker-Layers](https://images.microbadger.com/badges/image/boerderij/varken.svg)](https://microbadger.com/images/boerderij/varken) -[![Release](https://img.shields.io/github/release/boerderij/varken.svg?style=flat-square)](https://microbadger.com/images/boerderij/varken) +[![Release](https://img.shields.io/github/release/boerderij/varken.svg?style=flat-square)](https://github.com/Boerderij/Varken/releases/latest) [![Docker Pulls](https://img.shields.io/docker/pulls/boerderij/varken.svg)](https://hub.docker.com/r/boerderij/varken/) Dutch for PIG. PIG is an Acronym for Plex/InfluxDB/Grafana diff --git a/varken/__init__.py b/varken/__init__.py index 754c281..72b3f7d 100644 --- a/varken/__init__.py +++ b/varken/__init__.py @@ -1,2 +1,2 @@ -VERSION = "1.7.3" +VERSION = "1.7.4" BRANCH = 'master' diff --git a/varken/structures.py b/varken/structures.py index 9781067..cb35944 100644 --- a/varken/structures.py +++ b/varken/structures.py @@ -306,6 +306,7 @@ class TautulliStream(NamedTuple): friendly_name: str = None full_title: str = None genres: list = None + grandparent_guid: str = None grandparent_rating_key: str = None grandparent_thumb: str = None grandparent_title: str = None @@ -337,6 +338,7 @@ class TautulliStream(NamedTuple): optimized_version_title: str = None original_title: str = None originally_available_at: str = None + parent_guid: str = None parent_media_index: str = None parent_rating_key: str = None parent_thumb: str = None @@ -398,11 +400,13 @@ class TautulliStream(NamedTuple): stream_video_codec_level: str = None stream_video_decision: str = None stream_video_framerate: str = None + stream_video_full_resolution: str = None stream_video_height: str = None stream_video_language: str = None stream_video_language_code: str = None stream_video_ref_frames: str = None stream_video_resolution: str = None + stream_video_scan_type: str = None stream_video_width: str = None studio: str = None sub_type: str = None @@ -456,12 +460,14 @@ class TautulliStream(NamedTuple): video_decision: str = None video_frame_rate: str = None video_framerate: str = None + video_full_resolution: str = None video_height: str = None video_language: str = None video_language_code: str = None video_profile: str = None video_ref_frames: str = None video_resolution: str = None + video_scan_type: str = None video_width: str = None view_offset: str = None watched_status: int = None diff --git a/varken/tautulli.py b/varken/tautulli.py index 8a60ae4..c0d11a2 100644 --- a/varken/tautulli.py +++ b/varken/tautulli.py @@ -101,6 +101,8 @@ class TautulliAPI(object): quality = session.container.upper() elif quality in ('SD', 'sd', '4k'): quality = session.stream_video_resolution.upper() + elif session.stream_video_full_resolution: + quality = session.stream_video_full_resolution else: quality = session.stream_video_resolution + 'p' @@ -112,10 +114,18 @@ class TautulliAPI(object): elif player_state == 'buffering': player_state = 3 + # Platform Version Overrides product_version = session.product_version - if session.platform == 'Roku': + if session.platform in ('Roku', 'osx', 'windows'): product_version = session.product_version.split('-')[0] + # Platform Overrides + platform_name = session.platform + if platform_name in 'osx': + platform_name = 'macOS' + if platform_name in 'windows': + platform_name = 'Windows' + hash_id = hashit(f'{session.session_id}{session.session_key}{session.username}{session.full_title}') influx_payload.append( { @@ -126,7 +136,8 @@ class TautulliAPI(object): "friendly_name": session.friendly_name, "username": session.username, "title": session.full_title, - "platform": session.platform, + "product": session.product, + "platform": platform_name, "product_version": product_version, "quality": quality, "video_decision": video_decision.title(), @@ -145,7 +156,7 @@ class TautulliAPI(object): "latitude": latitude, "longitude": longitude, "player_state": player_state, - "device_type": session.platform, + "device_type": platform_name, "relayed": session.relayed, "secure": session.secure, "server": self.server.id @@ -298,9 +309,18 @@ class TautulliAPI(object): quality = session.container.upper() elif quality in ('SD', 'sd', '4k'): quality = session.stream_video_resolution.upper() + elif session.stream_video_full_resolution: + quality = session.stream_video_full_resolution else: quality = session.stream_video_resolution + 'p' + # Platform Overrides + platform_name = session.platform + if platform_name in 'osx': + platform_name = 'Plex Mac OS' + if platform_name in 'windows': + platform_name = 'Plex Windows' + player_state = 100 hash_id = hashit(f'{session.id}{session.session_key}{session.user}{session.full_title}') @@ -313,7 +333,8 @@ class TautulliAPI(object): "friendly_name": session.friendly_name, "username": session.user, "title": session.full_title, - "platform": session.platform, + "product": session.product, + "platform": platform_name, "quality": quality, "video_decision": video_decision.title(), "transcode_decision": decision.title(), @@ -330,7 +351,7 @@ class TautulliAPI(object): "latitude": latitude, "longitude": longitude, "player_state": player_state, - "device_type": session.platform, + "device_type": platform_name, "relayed": session.relayed, "secure": session.secure, "server": self.server.id