1
0
Fork 0
mirror of https://github.com/fastogt/fastocloud_admin.git synced 2025-03-09 23:38:52 +00:00
fastocloud_admin/scripts/test_life.py
2020-02-17 03:38:15 -05:00

45 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3
import argparse
import os
import sys
from pymodm import connect
from bson.objectid import ObjectId
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
from pyfastocloud_models.stream.entry import TestLifeStream
from pyfastocloud_models.service.entry import ServiceSettings
from pyfastocloud_models.utils.m3u_parser import M3uParser
PROJECT_NAME = 'test_life'
def _get_server_by_id(sid: str):
try:
server = ServiceSettings.objects.get({'_id': ObjectId(sid)})
except ServiceSettings.DoesNotExist:
return None
else:
return server
if __name__ == '__main__':
parser = argparse.ArgumentParser(prog=PROJECT_NAME, usage='%(prog)s [options]')
parser.add_argument('uri', help='Uri to m3u8 list')
parser.add_argument('mongo_uri', help='MongoDB credentials')
argv = parser.parse_args()
mongo = connect(argv.mongo_uri)
if mongo:
service_settings = ServiceSettings.objects.get({})
m3u_parser = M3uParser()
m3u_parser.read_m3u(argv.uri)
m3u_parser.parse()
for file in m3u_parser.files:
stream = TestLifeStream.make_stream(service_settings)
stream.input[0].uri = file['link']
stream.name = '{0}({1})'.format(file['tvg-group'], file['title'])
service_settings.streams.append(stream)
service_settings.save()