Skip to content

Commit

Permalink
Merge pull request #6320 from pymedusa/release/release-0.3.0
Browse files Browse the repository at this point in the history
Release/release 0.3.0
  • Loading branch information
medariox authored Mar 13, 2019
2 parents 918cfe7 + 10eb451 commit 94fae84
Show file tree
Hide file tree
Showing 794 changed files with 37,797 additions and 25,204 deletions.
19 changes: 11 additions & 8 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
{
"extends": "xo",
"extends": [
"xo/browser",
"xo/esnext"
],
"rules": {
"indent": ["error", 4],
"space-before-function-paren": ["error", "never"]
},
"env": {
"browser": true,
"jquery": true
}
"indent": ["error", 4],
"space-before-function-paren": ["error", "never"]
},
"env": {
"browser": true,
"jquery": true
}
}
26 changes: 18 additions & 8 deletions .github/check_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,23 @@ def __init__(self, version_string):
version_string = version_string[1:]
self.version = tuple(map(int, version_string.split('.')))

def __cmp__(self, other):
if self.version == other.version:
return 0
if self.version > other.version:
return 1
if self.version < other.version:
return -1
def __eq__(self, other):
return self.version == other.version

def __ne__(self, other):
return self.version != other.version

def __lt__(self, other):
return self.version < other.version

def __le__(self, other):
return self.version <= other.version

def __gt__(self, other):
return self.version > other.version

def __ge__(self, other):
return self.version >= other.version

def __str__(self):
return str('.'.join(map(str, self.version)))
Expand Down Expand Up @@ -70,7 +80,7 @@ def search_file_for_version():
if proc > 0:
print('Failed to fetch')

proc = subprocess.Popen(['git', 'describe', '--tags', '--abbrev=0', 'master'], stdout=subprocess.PIPE)
proc = subprocess.Popen(['git', 'describe', '--tags', '--abbrev=0', 'master'], stdout=subprocess.PIPE, universal_newlines=True)
(output, err) = proc.communicate()
latest_tag = output.strip()
if err or not latest_tag:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,4 @@ yarn-error.log

# Contrib #
######################
contrib/
/contrib/
31 changes: 14 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ install: false
script: false
jobs:
fast_finish: true
allow_failures:
- python: '3.6'
include:
# test stage + frontend tests start here
- stage: test
Expand Down Expand Up @@ -70,21 +68,20 @@ jobs:
after_failure:
- cat ./dredd/data/Logs/application.log
# dredd tests (py3.6) start here
# @FIXME: Disabled because they take too long. Enable when Medusa can *actually* start on Python 3.
# - name: 'Dredd tests (py3.6)'
# python: '3.6'
# install:
# - pip install --upgrade pip
# - pip install dredd_hooks
# - pip install 'PyYAML<4'
# - pip install six
# - nvm install v10.7.0
# - 'curl -o- -L https://yarnpkg.com/install.sh | bash'
# - 'export PATH="$HOME/.yarn/bin:$PATH" && yarn install --ignore-scripts'
# script:
# - yarn test-api
# after_failure:
# - cat ./dredd/data/Logs/application.log
- name: 'Dredd tests (py3.6)'
python: '3.6'
install:
- pip install --upgrade pip
- pip install dredd_hooks
- pip install 'PyYAML<4'
- pip install six
- nvm install v10.7.0
- 'curl -o- -L https://yarnpkg.com/install.sh | bash'
- 'export PATH="$HOME/.yarn/bin:$PATH" && yarn install --ignore-scripts'
script:
- yarn test-api
after_failure:
- cat ./dredd/data/Logs/application.log
notifications:
slack:
secure: >-
Expand Down
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## 0.3.0 (2019-03-13)

#### New Features
- Added support for Python 3 (>= 3.5.0) ([#4982](https://github.com/pymedusa/Medusa/pull/4982))
- Added feature to search episodes early or late compared to their scheduled airdate ([#5874](https://github.com/pymedusa/Medusa/pull/5874))
- Added per show required/preferred words exclude option ([#4982](https://github.com/pymedusa/Medusa/pull/6033))

#### Improvements
- Vueified the partial mako template showheader.mako into show-header.vue ([#6189](https://github.com/pymedusa/Medusa/pull/6189))

#### Fixes
- Fixed saving newznab provider API key ([#5918](https://github.com/pymedusa/Medusa/pull/5918))
- Fixed permanent Docker update message ([#6018](https://github.com/pymedusa/Medusa/pull/6018))

-----

## 0.2.14 (2018-12-19)

#### New Features
Expand All @@ -17,7 +33,7 @@
- Fixed mis-mapped proper search interval config option of 24 hours, added 30 minutes ([#5896](https://github.com/pymedusa/Medusa/pull/5896))
- Fixed config - search settings, test nzb client connectivity ([#5897](https://github.com/pymedusa/Medusa/pull/5897))
- Fixed adding an episode to the my anidb list on post processing when enabled ([#5897](https://github.com/pymedusa/Medusa/pull/5897))
- Fixed creating banner and fanart from metadata. Any metadata images in the shows folder other then the poster, will now also become visible in medusa ([#5808](https://github.com/pymedusa/Medusa/pull/5808))
- Fixed creating banner and fanart from metadata. Any metadata images in the shows folder other then the poster, will now also become visible in Medusa ([#5808](https://github.com/pymedusa/Medusa/pull/5808))

-----

Expand All @@ -32,6 +48,7 @@
- Fixed adding anime release group when adding show ([#5749](https://github.com/pymedusa/Medusa/pull/5749))
- Fixed Pushover debug log causing BraceException ([#5759](https://github.com/pymedusa/Medusa/pull/5759))
- Fixed torrent method Downloadstation not selected after restart ([#5761](https://github.com/pymedusa/Medusa/pull/5761))
- Fixed changing show location, should now also utilise the option 'CREATE_MISSING_SHOW_DIRS' ([#5795](https://github.com/pymedusa/Medusa/pull/5795))

-----

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM lsiobase/alpine.python:3.8
FROM lsiobase/alpine.python:3.9
MAINTAINER a10kiloham

# set version label
Expand Down
73 changes: 65 additions & 8 deletions dredd/api-description.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ paths:
required: true
description: Only id (with indexer information) should be specified
schema:
$ref: '#/definitions/Series'
example:
id:
tvdb: 301824
Expand Down Expand Up @@ -451,7 +450,6 @@ paths:
in: body
required: true
schema:
$ref: '#/definitions/Operation'
example:
type: ARCHIVE_EPISODES
responses:
Expand Down Expand Up @@ -558,12 +556,14 @@ paths:
200:
description: The alias information
schema: {}
x-disabled: true
x-request:
path-params:
id: "${stash['alias-id']}"
400:
$ref: '#/responses/error'
description: Invalid field
x-disabled: true
x-request:
path-params:
id: "${stash['alias-id']}"
Expand All @@ -586,6 +586,7 @@ paths:
description: The alias information
schema:
$ref: '#/definitions/Alias'
x-disabled: true
x-request:
path-params:
id: "${stash['alias-id']}"
Expand Down Expand Up @@ -738,7 +739,6 @@ paths:
in: body
required: true
schema:
$ref: '#/definitions/Operation'
example:
type: REFRESH
responses:
Expand Down Expand Up @@ -941,18 +941,50 @@ definitions:
type: string
description: "Air time"
example: "Thursday 8:00 PM"
airsFormatValid:
type: boolean
description: "Tests the airs format"
language:
type: string
description: Language code
example: en
showType:
type: string
enum: [series, anime, sports]
akas:
imdbInfo:
type: object
description: Also known as
additionalProperties:
type: string
description: "Object with additional show information retrieved from imdb"
properties:
akas:
type: string
certificates:
type: string
countries:
type: string
countryCodes:
type: string
genres:
type: string
imdbId:
type: string
imdbInfoId:
type: integer
indexer:
type: integer
indexerId:
type: integer
lastUpdate:
type: integer
plot:
type: string
rating:
type: string
runtimes:
type: integer
title:
type: string
votes:
type: integer
year:
type: object
properties:
Expand Down Expand Up @@ -1028,6 +1060,9 @@ definitions:
type: string
description: Series home folder
example: "/library/My Series"
locationValid:
type: boolean
description: Result of a stat on the configured location
qualities:
type: object
description: Qualities settings
Expand Down Expand Up @@ -1091,6 +1126,15 @@ definitions:
description: Required release words
items:
type: string
requiredWordsExclude:
type: boolean
description: Exclude required words from global required words list
ignoredWordsExclude:
type: boolean
description: Exclude ignored words from global ignored words list
airdateOffset:
type: integer
description: Amount of hours we want to start searching early (-1) or late (1) for new episodes
seasons:
type: array
description: Episodes grouped by season. Available in detailed view.
Expand All @@ -1105,6 +1149,20 @@ definitions:
minimum: 0
maximum: 10000
description: Total number of episodes. Available in detailed view
size:
type: integer
description: Show size on disk calculated from the shows configured location
showQueueStatus:
type: array
description: Array of objects with information on the different queues used for operations on a show.
items:
type: object
xemNumbering:
type: array
description: Array of objects with xem indexer to scene mappings
items:
type: object
example: '"xemNumbering": [{"source": {"season": 6, "episode": 34}, "destination": {"season": 2, "episode": 16}}'
Episode:
type: object
properties:
Expand Down Expand Up @@ -2122,7 +2180,6 @@ definitions:
x-nullable: true
type:
type: string
enum: [null, local]
x-nullable: true
example:
series: tvdb301824
Expand Down
16 changes: 10 additions & 6 deletions dredd/dredd_hook.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
#!/usr/bin/env python
# coding=utf-8
"""Dredd hook."""
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals

import io
import json
import os
import sys

sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), '../ext')))
if sys.version_info[0] == 2:
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), '../ext2')))

from collections import Mapping
from configparser import ConfigParser

import dredd_hooks as hooks

import six
from six import string_types
from six.moves.configparser import RawConfigParser
from six.moves.urllib.parse import parse_qs, urlencode, urlparse

import yaml
Expand Down Expand Up @@ -163,13 +167,13 @@ def start():

os.makedirs(data_dir)
os.chdir(data_dir)
config = RawConfigParser()
config = ConfigParser()
config.read('config.ini')
config.add_section('General')
config.set('General', 'web_username', stash['web-username'])
config.set('General', 'web_password', stash['web-password'])
config.set('General', 'api_key', stash['api-key'])
with io.open('config.ini', 'w' if six.PY3 else 'wb') as configfile:
with io.open('config.ini', 'w', encoding='utf-8') as configfile:
config.write(configfile)

sys.path.insert(1, app_dir)
Expand Down
Loading

0 comments on commit 94fae84

Please sign in to comment.