pax_global_header 0000666 0000000 0000000 00000000064 14042356110 0014506 g ustar 00root root 0000000 0000000 52 comment=18d41565f955028f9fcd2f6cc437f5f1cb717401
woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/ 0000775 0000000 0000000 00000000000 14042356110 0022612 5 ustar 00root root 0000000 0000000 woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/modules/ 0000775 0000000 0000000 00000000000 14042356110 0024262 5 ustar 00root root 0000000 0000000 woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/modules/peertube/ 0000775 0000000 0000000 00000000000 14042356110 0026075 5 ustar 00root root 0000000 0000000 woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/modules/peertube/__init__.py 0000664 0000000 0000000 00000001554 14042356110 0030213 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Copyright(C) 2018 Vincent A
#
# This file is part of a woob module.
#
# This woob module is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This woob module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this woob module. If not, see .
from __future__ import unicode_literals
from .module import PeertubeModule
__all__ = ['PeertubeModule']
woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/modules/peertube/browser.py 0000664 0000000 0000000 00000005043 14042356110 0030134 0 ustar 00root root 0000000 0000000 # -*- coding: utf-8 -*-
# Copyright(C) 2018 Vincent A
#
# This file is part of a woob module.
#
# This woob module is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This woob module is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this woob module. If not, see .
from __future__ import unicode_literals
from woob.browser.browsers import APIBrowser
from woob.capabilities.video import BaseVideo
from woob.capabilities.image import Thumbnail
from woob.capabilities.file import LICENSES
class PeertubeBrowser(APIBrowser):
# source: server/initializers/constants.ts
SITE_LICENSES = {
1: LICENSES.CCBY,
2: LICENSES.CCBYSA,
3: LICENSES.CCBYND,
4: LICENSES.CCBYNC,
5: LICENSES.CCBYNCSA,
6: LICENSES.CCBYNCND,
7: LICENSES.PD,
}
def __init__(self, baseurl, *args, **kwargs):
super(PeertubeBrowser, self).__init__(*args, **kwargs)
self.BASEURL = baseurl
def search_videos(self, pattern, sortby):
j = self.request('/api/v1/search/videos?count=10&sort=-match', params={
'search': pattern,
'start': 0,
})
for item in j['data']:
video = BaseVideo()
self._parse_video(video, item)
yield video
def get_video(self, id, video=None):
item = self.request('/api/v1/videos/%s' % id)
if not video:
video = BaseVideo()
self._parse_video(video, item)
video._torrent = item['files'][0]['magnetUri']
video.url = item['files'][0]['fileUrl']
video.ext = video.url.rsplit('.', 1)[-1]
video.size = item['files'][0]['size']
return video
def _parse_video(self, video, item):
video.id = item['uuid']
video.nsfw = item['nsfw']
video.title = item['name']
video.description = item['description']
video.author = item['account']['name']
video.duration = item['duration']
video.license = self.SITE_LICENSES[item['licence']['id']]
video.thumbnail = Thumbnail(self.absurl(item['thumbnailPath']))
woob-18d41565f955028f9fcd2f6cc437f5f1cb717401-modules-peertube/modules/peertube/favicon.png 0000664 0000000 0000000 00000004104 14042356110 0030227 0 ustar 00root root 0000000 0000000 PNG
IHDR \rf bKGD pHYs .# .#x?v tIME
*V tEXtComment Created with GIMPW IDATxMnHP "9/2dY92mJS0bX$$% )$1/CÎv9Q vKtQ/3
~Q J@5 % 2 V?c_ +c%+
v
l暃O DȰ) m0)XXX ?P=ʠ)8XM9X.U ¿[;AS 1^9?s 4JT
R`E0{-/Y˰^qk_Gl`
5 ,P ?
2 ?q
ƹhT}6>õ*I`4 : &0;n7]6? {z;zO7p쳿(^Iطۆݶg4+?~+NZ&@σ^;(R.y/@> K2VgT 9kbz@И:mU)T|po
PR~ fT6
``dQ _n@oAe {3Ea 0f2iKd.,TX0v*;
%T;_P N*Z)T T
o@)|)Zx2 ( @XN \\ pv` + P 3 ` ( P 6( @
P r
&