add setup

This commit is contained in:
Artem Kharlamov 2015-12-01 17:35:33 +06:00
parent 75a2299e83
commit 1ea5f9c28a
3 changed files with 49 additions and 24 deletions

View File

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>{{title}}</title>
<link>https://torrentapi.org/apidocs_v2.txt</link>
<ttl>3600</ttl>
{% for entry in entries %}
<item>
<title>{{entry.title}} ({{entry.hsize}})</title>
<description/>
<guid>{{entry.hash}}</guid>
<pubDate>{{entry.pubdate}}</pubDate>
<enclosure
url="{{entry.download}}"
length="{{entry.size}}"
type="application/x-bittorrent" />
</item>
{% endfor %}
</channel>
</rss>

View File

@ -4,19 +4,40 @@
import asyncio
from datetime import datetime, timedelta
from dateutil import parser
from email.utils import formatdate
from urllib.parse import parse_qs
from aiohttp import get, web
from dateutil import parser
from humanize import naturalsize
from jinja2 import Template
API_ENDPOINT = 'https://torrentapi.org/pubapi_v2.php'
TEMPLATE = Template(open('feed.xml').read())
TOKEN_LIFESPAN = timedelta(minutes=15)
TEMPLATE = Template('''
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>{{title}}</title>
<link>https://torrentapi.org/apidocs_v2.txt</link>
<ttl>3600</ttl>
{% for entry in entries %}
<item>
<title>{{entry.title}} ({{entry.hsize}})</title>
<description/>
<guid>{{entry.hash}}</guid>
<pubDate>{{entry.pubdate}}</pubDate>
<enclosure
url="{{entry.download}}"
length="{{entry.size}}"
type="application/x-bittorrent" />
</item>
{% endfor %}
</channel>
</rss>
''')
app = web.Application()
app.token = None
app.token_got = datetime.now()
@ -59,10 +80,14 @@ async def rarbg_rss(request):
app.router.add_route('GET', '/', rarbg_rss)
if __name__ == '__main__':
def main():
loop = asyncio.get_event_loop()
handler = app.make_handler()
f = loop.create_server(handler, '0.0.0.0', 8080)
srv = loop.run_until_complete(f)
print('serving on', srv.sockets[0].getsockname())
loop.run_forever()
if __name__ == '__main__':
main()

20
setup.py Normal file
View File

@ -0,0 +1,20 @@
from setuptools import setup
setup(
name='rarbg',
version='0.1-dev',
description='RSS interface to TorrentAPI',
url='https://github.com/banteg/rarbg',
py_modules=['rarbg'],
install_requires=[
'aiohttp',
'python-dateutil',
'humanize',
'jinja2'
],
entry_points={
'console_scripts': [
'rarbg = rarbg:main',
],
}
)