Johan Andersson
7668ed7a68
generic: change to config
2018-06-24 16:10:41 +02:00
Johan Andersson
43b67dfa86
appveyor: ship cacert.pem when built with nuitka
2018-06-17 17:03:46 +02:00
Johan Andersson
e3939a4bbe
viafree: we should check if this is a sport page or not
2018-06-03 20:49:45 +02:00
Johan Andersson
138995925e
_formatname: check if we have season in output
2018-06-03 18:03:09 +02:00
Johan Andersson
18b00ae673
viafree: support for downloading video from the program page.
2018-06-03 18:00:01 +02:00
Johan Andersson
585ea7b0d6
viafree: unused import
2018-06-03 17:59:36 +02:00
Johan Andersson
70bffe6f5e
viafree._autoname: In some cases we dont have episode info.
2018-06-03 15:50:34 +02:00
Johan Andersson
2a94b927d0
_formatname: in some cases we dont have the episode and only season.
...
we want to have like "name.s01.new.stuff.service.id.ext"
its better than "name.new.stuff.service.id.ext"
2018-06-03 15:48:48 +02:00
Johan Andersson
fbffce1c12
hlsparse: return dict instead of nothing
2018-06-03 15:20:46 +02:00
Johan Andersson
fa3b16bfcd
get_one_media: use logging instead of log.
2018-06-03 12:49:49 +02:00
Johan Andersson
668bbceac5
aftonbladet: update so it works with the site again.
2018-06-03 12:49:25 +02:00
Johan Andersson
a411750a67
nrk: output missing for subtitle
2018-06-03 01:39:19 +02:00
Johan Andersson
12cbe91d7b
dbtv.no: thet use youtube now for their videos
2018-06-03 01:35:19 +02:00
Johan Andersson
aa39a52f15
dr: missing output
2018-06-03 01:18:15 +02:00
Johan Andersson
a261094731
öppetarkiv: this need to have output set
2018-06-03 00:24:44 +02:00
Johan Andersson
66b45cd4b1
öppetarkiv: unused import
2018-06-03 00:17:05 +02:00
Johan Andersson
00814e690d
öppetarkiv: no need to check if streams are empty or not
2018-06-03 00:13:45 +02:00
Johan Andersson
512f8a0979
öppetarkiv: missing output value
2018-06-03 00:13:18 +02:00
Johan Andersson
1677349a42
öppetarkiv: we only send one argument to outputfilename
2018-06-03 00:12:45 +02:00
Johan Andersson
276b55dc8c
get_one_media: we get the config nowadays
2018-06-03 00:12:15 +02:00
Johan Andersson
12021ee355
get_one_media: dont try to run exclude on exceptions
2018-05-31 01:30:25 +02:00
Johan Andersson
89104b830e
viafree: support for the new page
...
fixes #893
2018-05-31 01:30:25 +02:00
Johan Andersson
9619936f2a
flake8 fixes
2018-05-27 16:10:22 +02:00
Johan Andersson
4fc53137d1
dplay: use logging instead of log
2018-05-27 16:05:54 +02:00
Johan Andersson
25831bd1a9
twitch: this should be episodename
2018-05-27 16:04:39 +02:00
Johan Andersson
f754197713
dplay: support for several subtitle languages
...
In some cases we dont want to download everything.
by default we will download the language as the .tld
2018-05-27 16:04:13 +02:00
Johan Andersson
af8fcc7581
hlsparse: put together subtitles when we are done with the other media.
...
use random bitrate so we can extract several subtitles if we need to extract it.
2018-05-27 16:00:05 +02:00
Johan Andersson
bfe7089c58
subtitle: Add subfix after episodename if we want to download all subtitles.
2018-05-27 15:55:25 +02:00
Johan Andersson
0f0e9fc459
urplay: only send the label to the subtitle
2018-05-27 15:54:24 +02:00
Johan Andersson
d69244d39c
merge: dont try to merge when new is None
2018-05-26 01:26:30 +02:00
Johan Andersson
526c6bbdbe
get_one_media: always remux hls
...
fixes #903
2018-05-25 22:49:05 +02:00
Johan Andersson
326a26aa21
fetcher: use .format for repr
2018-05-25 22:47:48 +02:00
Johan Andersson
bbf2f82b79
fetcher: make name a property
2018-05-25 22:47:26 +02:00
Johan Andersson
72d11fd3d0
setup: rewrite the version information to its own file.
...
this will help setup to find new deps that we are missing
2018-05-24 23:05:34 +02:00
Johan Andersson
dea461c198
get_one_media: instead of using hardcoded name of fetcher check for audio
2018-05-24 21:18:14 +02:00
Johan Andersson
30f09b4bad
output: we can have separate a/v stream in .ts but there is no extension to separate them
...
fixes : #902
2018-05-24 21:15:14 +02:00
Johan Andersson
66f102cd92
tv4play: add some extra space around arithmetic operator
2018-05-22 20:19:53 +02:00
Johan Andersson
389acf6a6c
npo: use the correct path to urlparse
2018-05-22 20:19:16 +02:00
Johan Andersson
7a8b4af606
tv4play: remove " - " från the name
2018-05-22 00:51:00 +02:00
Johan Andersson
2718f55db7
tv4play: send hls_time_stamp as a argument to fetchers
2018-05-22 00:03:14 +02:00
Johan Andersson
3dd8285c8a
qbrick: send other as a argument
2018-05-22 00:02:48 +02:00
Johan Andersson
35d8eb6dd1
Some more options to config
2018-05-22 00:02:20 +02:00
Johan Andersson
b77b78b121
output: dont try to check empty values
2018-05-21 23:37:00 +02:00
Johan Andersson
ae89f52606
tv4play: Add the id number to output
...
fixes : #899
2018-05-21 23:36:34 +02:00
Johan Andersson
24c1be3fd2
viafree: replace options with config
2018-05-21 22:56:22 +02:00
Johan Andersson
81e327ec19
tv4play: send other as a argument to the fetcher class
2018-05-21 22:13:30 +02:00
Johan Andersson
bbc0b70368
tv4play: remove some old option code
2018-05-21 22:13:08 +02:00
Johan Andersson
c5b436e20e
services: add output variable to fetchers
2018-05-21 00:56:22 +02:00
Johan Andersson
7aee5164f5
viafree: remove old variable
2018-05-21 00:38:04 +02:00
Johan Andersson
7275829dae
hls.download: the extension should be ts not tls
2018-05-21 00:05:31 +02:00
Johan Andersson
1300ab7032
setup_log: use pathname instead of filename
2018-05-20 23:06:15 +02:00
Johan Andersson
8b340bb103
get_media: use config inside of stream
2018-05-20 21:09:49 +02:00
Johan Andersson
a8fa7a8aa3
get_media: we already have this code in parser
2018-05-20 21:05:24 +02:00
Johan Andersson
2605f4ff94
output.formatname: this should be path
2018-05-20 20:51:34 +02:00
Johan Andersson
600afef12b
parser.setup_default: add missing default values
2018-05-20 20:29:16 +02:00
Johan Andersson
c41dba7077
parser.merge: rewrite and dont update items with std values
2018-05-20 20:28:49 +02:00
Johan Andersson
2e0bf58a3f
parser: this can be on one line
2018-05-20 19:05:35 +02:00
Johan Andersson
e97b104573
unused imports
2018-05-20 19:05:17 +02:00
Johan Andersson
6dfdc8c6c0
Support for config files
...
this will search for config file in
unix: ~/.svtplay-dl.yaml
windows: %APPDATA%\svtplay-dl\svtplay-dl.yaml
2018-05-20 18:21:40 +02:00
Johan Andersson
2543ed7f46
move some special config values to parser
2018-05-20 13:16:00 +02:00
Johan Andersson
6c526a62e1
remove some more excludes
2018-05-13 15:15:11 +02:00
Johan Andersson
8fcd201ddc
dash: use exception instead of nothin
2018-05-13 14:21:27 +02:00
Johan Andersson
6b186291dd
vimeo: fix bad merge from before..
2018-05-13 14:20:57 +02:00
Johan Andersson
d2776c3b12
Remove some debug prints
2018-05-13 13:18:36 +02:00
Johan Andersson
a5f1ee4c25
postprocess: set the right output filename when using remux
2018-05-13 13:18:36 +02:00
Johan Andersson
8192fe025d
getmedia: right import path to which
2018-05-13 13:18:36 +02:00
Johan Andersson
836084f1fb
output: user should be able to set its own output name
2018-05-13 13:18:36 +02:00
Johan Andersson
9a2aafefda
parser: set output to None
2018-05-13 13:18:36 +02:00
Johan Andersson
09eac51d6c
subtitle: remove unused cookies variable
2018-05-13 13:18:29 +02:00
Johan Andersson
1b1cde811c
subtitle: use config instead of options
2018-05-13 13:09:27 +02:00
Johan Andersson
d3799d7660
rtmp: generate correct filename
2018-05-13 13:09:27 +02:00
Johan Andersson
55b07c1dfb
fetcher: set output extension
2018-05-13 13:09:27 +02:00
Johan Andersson
9ce61f499d
postprocess: generate correct filename
2018-05-13 13:09:27 +02:00
Johan Andersson
5474da2251
postprocess: use config
2018-05-13 13:09:27 +02:00
Johan Andersson
335ff16c8c
output: fix detection of already downloaded files
2018-05-13 13:09:27 +02:00
Johan Andersson
81011d4b53
svtplay: only add desc if available
2018-05-13 13:09:27 +02:00
Johan Andersson
bf21419afd
output.formatname: this should be ints
2018-05-13 13:09:27 +02:00
Johan Andersson
850ec4612d
getmedia: do exclude inside of the streams loop.
2018-05-13 13:09:25 +02:00
Johan Andersson
92763977ed
subtitle: better represent line
2018-05-13 13:08:27 +02:00
Johan Andersson
d3841e17da
options to commit
2018-05-13 13:08:24 +02:00
Johan Andersson
d4dc9693df
postprocess: use output in streams instead of options
2018-05-13 13:07:37 +02:00
Johan Andersson
193edae667
mtvnn: send other as a argument instead of using options
2018-05-13 13:07:37 +02:00
Johan Andersson
77115279e1
remove some old naming methods that we dont need now
2018-05-13 13:07:37 +02:00
Johan Andersson
4271bbe615
remove some old excludes
2018-05-13 13:07:37 +02:00
Johan Andersson
6d490879a4
Remove some empty lines
2018-05-13 13:07:37 +02:00
Johan Andersson
1a14d26b1b
Return empty dict instead of None
2018-05-13 13:07:37 +02:00
Johan Andersson
f300e24ca3
more options to config replaces
2018-05-13 13:07:34 +02:00
Johan Andersson
ca49366002
Options to config
2018-05-13 13:06:45 +02:00
Johan Andersson
28dcc90d7e
flake8 fixes
2018-05-13 12:10:19 +02:00
Johan Andersson
698ad195b7
rewrite logging a bit
2018-05-13 12:10:19 +02:00
Johan Andersson
a051418dab
utils: move functions out of init to its own files.
2018-05-13 12:10:19 +02:00
Johan Andersson
39f1f2c162
change order of operator
2018-05-13 12:09:27 +02:00
Johan Andersson
a7dfff596b
svtplay: missing import
2018-05-13 12:09:27 +02:00
Johan Andersson
859fd50efa
flake8 break long lines
2018-05-13 12:09:27 +02:00
Johan Andersson
50ef5821f4
flake8 add some space for the operator
2018-05-13 12:09:27 +02:00
Johan Andersson
07b84c1f2e
flake8 no need for extra space
2018-05-13 12:09:27 +02:00
Johan Andersson
5339bdc265
flake8 over-indented for visual indent
2018-05-13 12:09:27 +02:00
Johan Andersson
8f126c3d49
flake8 add new line end of file
2018-05-13 12:09:27 +02:00
Johan Andersson
22e3c8e5ac
urljoin in hls
2018-05-13 12:09:27 +02:00
Johan Andersson
5d1f86d8fc
flake8 fixes
2018-05-13 12:09:27 +02:00
Johan Andersson
8af26fb5c7
unused imports
2018-05-13 12:09:27 +02:00
Johan Andersson
903a4ae71d
No need for utils.io
2018-05-13 12:09:27 +02:00
Johan Andersson
7e351530e9
No need for utils.urllib anymore
2018-05-13 12:09:27 +02:00
Johan Andersson
86a8ea52e9
use logging?
2018-05-13 12:09:27 +02:00
Johan Andersson
7137278213
Do the merge and check some options in main
2018-05-13 12:09:27 +02:00
Johan Andersson
a6c4de8d9d
flake fix
2018-05-13 12:09:27 +02:00
Johan Andersson
b82831df03
Move services to its own file
2018-05-13 12:09:27 +02:00
Johan Andersson
d496955cb4
Move Options to parser?
2018-05-13 12:09:27 +02:00
Johan Andersson
03c8b68bb6
Move get_* to its own file
2018-05-13 12:09:27 +02:00
Johan Andersson
3da6728ae3
move mergeparseroption to parser.py
2018-05-13 12:08:11 +02:00
Johan Andersson
c135ed3593
move parser to its own file
2018-05-13 12:08:11 +02:00
Johan Andersson
8109b592a6
pep8 fixes
2018-05-13 12:08:11 +02:00
Johan Andersson
e5fff7a15f
get_one_media: remove some stdout code
2018-05-13 12:08:11 +02:00
Johan Andersson
2283d3e593
postprocess: fix indentation
2018-05-13 12:08:11 +02:00
Johan Andersson
2c4e3b5843
main: no need for usage
2018-05-13 12:08:11 +02:00
Johan Andersson
022eda0c56
postprocess: rewrite some subfixes checks
2018-05-13 12:08:11 +02:00
Johan Andersson
ddce6ae2aa
use argparse instead of optionparser
2018-05-13 12:08:11 +02:00
Johan Andersson
b8c1163852
remove a bunch of is_py. time for py3.
2018-05-13 12:08:11 +02:00
iwconfig
bdf33167d3
check subtitle length before random.sample()
...
Pass random.sample() the total number of sentences in the subtitle if less than 8.
i.e. max 8 sentences.
fixes #659
2018-05-06 20:02:07 +02:00
dalgr
6ee5cbbc80
Make '_autoname' in 'Tv4play' safer by adding value checks and try/except
2018-05-06 19:03:50 +02:00
dalgr
a5ad609a6c
Add a new service npo, for 'npo.nl'
2018-05-06 15:36:04 +02:00
dalgr
f474fb9b0c
Fix for issue #888 , viafree not working
2018-05-06 15:35:23 +02:00
dalgr
346b40dfbf
Add better parsing of dates in dash fetcher
2018-03-30 22:52:20 +02:00
dalgr
e77b5e12cd
Adjust 'end_time_stamp' for tv4 live, to avid fetching before the stream is publlished
2018-03-30 22:52:20 +02:00
dalgr
8b25a606ee
Remove 'window.svt.nyh.reduxStat', for svt.se
2018-03-20 06:56:39 +01:00
dalgr
0bf050df22
Fix support of Clips on svt.se
2018-03-20 06:56:39 +01:00
dalgr
77f0c47be9
Add support for hls fetching from vimeo
2018-03-19 20:55:10 +01:00
dalgr
ca2de62e6f
Fix bug with vimeo
2018-03-19 20:55:10 +01:00
dalgr
db0cf86866
Cleanup code for silent, 'File (%s) already exists.'
2018-03-13 22:04:31 +01:00
Johan Andersson
62a59549e9
New version 1.9.11
2018-03-11 23:40:02 +01:00
Johan Andersson
b9d6d5b50c
output need some parenthesis in silent.
2018-03-11 21:22:23 +01:00
dalgr
f7bac8754b
Avoid printing 'File (%s) already exists.' when running in silent mode.
2018-03-11 19:33:05 +01:00
dalgr
ec483a7045
Fix for the problem cused by 'Crypto.Random'
2018-03-11 10:19:29 +01:00
dalgr
6dc0595765
Improve the name of the outputed file
2018-03-10 22:16:16 +01:00
dalgr
f818993bcd
Fixes: 'Another ViaFree issue'
...
...
2018-03-10 22:16:16 +01:00
Johan Andersson
fbb511981e
select_quality: this should be get and not pop
2018-03-10 10:09:26 +01:00
Johan Andersson
aff4a0716a
select_quality: Sometimes cookies is not present in the stream
...
fixes : #858
2018-03-10 09:56:32 +01:00
Johan Andersson
4b64e1bb9f
hlsparse: sometimes we thought that subtitles was audio track
...
fixes #853
2018-03-09 23:20:52 +01:00
Johan Andersson
0eaf0ec8f8
don't hide import errors
2018-03-09 22:53:33 +01:00
Olof Johansson
b18a166898
postprocess: Give up on failure, not success when muxing
...
This, I suspect, accidental inversion of the error case led to files not
being cleaned up properly.
Fixes #856 , reported by @pulsatorius
2018-03-09 22:36:30 +01:00
Johan Andersson
281a8ba48c
New version 1.9.10
2018-03-08 01:02:42 +01:00
Johan Andersson
735ba0197c
get_one_media: dont try to remux the already muxed files
2018-03-06 21:49:43 +01:00
Johan Andersson
3818ee1ee9
postprocess.merge: when we merge .ts to .mp4 we need to have bsf:a
...
fixes : #825
2018-03-06 21:49:43 +01:00
Johan Andersson
35691d85cc
hls: we should use .ts and not .mp4
2018-03-06 21:49:43 +01:00
Johan Andersson
4282992719
viafree: they changed from using StartPageStore to ApplicationStore
...
fixes : #845
2018-03-06 21:49:43 +01:00
dalgr
4c62d87087
Modify after review, issue 846
2018-03-06 21:04:48 +01:00
dalgr
f06c09e9c3
Fix issue 846, DASH crash on a video on svtplay
2018-03-06 21:04:48 +01:00
dalgr
8b3a5dacbe
hls AES use avilable IV or 'Random.new()' from 'Crypto'
2018-03-04 19:48:17 +01:00
Johan Andersson
58f4c7fdcb
dplay: download the video on the program page
...
fixes : #824
2018-03-04 15:06:54 +01:00
dalgr
0d216719b8
Fix issue 829, compare with slug when avilabel
2018-03-04 12:35:05 +01:00
Johan Andersson
3de9396f7d
remove some debug prints..
2018-03-04 11:41:22 +01:00
Johan Andersson
24213562ad
postprocess: try to detect the bad audio track and skip it
...
this will only work for files with one audio track.
i have never seen file with several
fixes #814
2018-03-04 11:41:22 +01:00
Peter Janson
e9ce045838
Fixing filename creation for dplay
...
Encoding of show name failed. Fixed that!
fixes : #826
2018-03-04 11:28:21 +01:00
dalgr
848dc12a3a
Fix for issue 833, not abble to download hds streams
2018-03-04 11:26:30 +01:00
dalgr
33756e99c4
remove service vidme
2018-03-04 11:24:58 +01:00
Johan Andersson
f1befe0638
dplay: remove debug print for cookies
2018-02-26 10:02:05 +01:00
Johan Andersson
92398d8036
New version 1.9.9
2018-02-26 00:38:54 +01:00
Johan Andersson
61ff824fd6
dplay: fix url for .no and .dk
...
fixes : #823
2018-02-26 00:37:17 +01:00
Johan Andersson
706e8921d0
New version 1.9.8
2018-02-25 21:34:21 +01:00
Johan Andersson
28bbfc6eab
dplay: show an error message if its a bad url
2018-02-25 21:25:03 +01:00
Johan Andersson
f8877bb970
dplay: add support for detecting channels
...
live stream won't work because the audio and video is in different files.
this can be fixed later.
2018-02-25 21:25:03 +01:00
dalgr
70fafc7f90
Improve parsing of 'mediaPresentationDuration', for dash
2018-02-25 18:27:19 +01:00
dalgr
b800322f06
Remove usage of 'dateutil.parser'
2018-02-25 18:27:19 +01:00
dalgr
bad41cb1ed
Fix support for svt melodifestivalen
2018-02-25 18:27:19 +01:00
dalgr
a82f5fed40
Improvements to dash pasing, avoid empty lists
...
Quick fix for added MPD Live support
2018-02-25 18:27:19 +01:00
Johan Andersson
650d2896e2
dplay: add name of the episode in the filename
...
fixes : #819
2018-02-25 00:09:08 +01:00
Johan Andersson
149c637ce8
dplay: support for exclude
...
fixes : #818
2018-02-24 20:59:23 +01:00
Johan Andersson
a3406c8c53
cmore: add support for .dk/fi/no
...
fixes : #815
2018-02-24 17:39:26 +01:00
Johan Andersson
bdc646b885
cmore: fix login issue with the new site
...
fixes : #804
2018-02-24 17:07:14 +01:00
Johan Andersson
6d3c57a667
svtplay: use parse_qs instead of regex to parse the query
2018-02-21 23:04:20 -05:00
Johan Andersson
3a1735144c
svtplay: dont crash if we cant find the show using -A
...
fixes : #802
2018-02-21 22:50:31 -05:00
Johan Andersson
b47ce3ba26
viafree: fix -A so it works again
...
fixes 805
2018-02-21 22:44:19 -05:00
Johan Andersson
2fb54e368b
svtplay: in -A and --all-last sort the list if we have episodeNumber
...
fixes #800
2018-02-21 22:12:52 -05:00
Johan Andersson
68553d9870
get_one_media: we should only show this error message when we cant find ffmpeg/avconv
...
fixes 813
2018-02-21 21:38:07 -05:00
Johan Andersson
f42a50ca5f
dplay: support for the new design of the page
...
fixes #777
2018-02-21 21:30:36 -05:00
Johan Andersson
083188f8ac
subtitle: we need to tell requests to use utf8 for encoding
2018-02-21 21:29:21 -05:00
Johan Andersson
497771a478
hls: support for extracting subtitles
...
we need this for dplay
2018-02-21 21:28:44 -05:00
PO Lenhoff
8401f2f72b
hls are now always muxed
2018-02-18 19:03:36 +01:00
dalgr
ccf22ec692
Determine segments if URI attribute is incuded
...
Fix bug in '__str__'
2018-02-12 21:40:27 +01:00
dalgr
10f0807b9a
fix bug in raw service
2018-02-12 21:40:27 +01:00
dalgr
0813dfbb70
Alternet way of detecting segments for hls
2018-02-12 21:40:27 +01:00
Johan Andersson
0b920aebe0
eurosportplayer: new site
2018-02-12 00:55:51 +01:00
Johan Andersson
c4f3c8d6f2
fetcher: we need to send a custom header to fetch key in HLS
2018-02-12 00:08:09 +01:00
dalgr
70c94e4131
Adds two fallback options for tv4 autonaming
2018-02-11 21:18:28 +01:00
dalgr
e721c45acd
Remove unused 'extention' in raw service
2018-02-11 21:17:37 +01:00
dalgr
fb07e84fa6
Add support of downloading mpd files to service raw
2018-02-11 21:17:37 +01:00
dalgr
7aaa68b267
Compare URI when appending a 'm3u8.media_segment' list
2018-02-10 14:54:38 +01:00
dalgr
9b631e595a
Fix service Nickelodeon.se
2018-02-10 14:54:14 +01:00
Johan Andersson
6ed19abb62
hls: we need to add slash at the end of srcurl for urljoin
2018-02-10 00:38:52 +01:00
Johan Andersson
f017d5cf2c
hls.get_full_url: use urljoin instead of format string
2018-02-10 00:16:04 +01:00
dalgr
e79251eb7e
Fix support for hls segments streams
2018-02-04 23:38:11 +01:00
dalgr
da5ec62241
Improve preformance of hls parser, skip checking all posible videos
2018-02-04 20:40:25 +01:00
Johan Andersson
7b6ceb4737
Flake8 fixes
2018-01-30 20:17:33 +01:00
dalgr
530aef4ed6
Change title formating from custom to 'utils.filenamify'
2018-01-28 21:21:02 +01:00
dalgr
cf7f8c1da8
Add support for service ATG
2018-01-28 21:21:02 +01:00
Olof Johansson
251965ed7e
tests/hls: Specify static m3u in module instead of fetching with http
...
This avoids dependency on networking to run the test suite, as well as
making the test suite more robust in case of changes at the remote
location. Because of possible copyright issues, I opted not the use the
m3u file, but create a new one with similar properties.
This change also avoids hash ordering issues, by comparing the python
data structures directly, instead of a dumped json representation. There
are no guarantees that keys are ordered the same way when run in
different environments (and possibly in the same environment at
different times).
2018-01-27 00:29:23 +01:00
Bart Coppens
3b8969eb2f
dn.se has data-id attributes with a slightly different format
2018-01-27 00:29:10 +01:00
dalgr
f6e46178a2
Add support for service mtv.se
2018-01-27 00:28:43 +01:00
Johan Andersson
81c0eea37b
remove unused imports
2018-01-27 00:07:27 +01:00
dalgr
67421bc6fb
Add try/except for json parsing in Aftonbladet service
2018-01-25 22:43:10 +01:00