gnuradionetwork/server.py

60 lines
1.8 KiB
Python
Executable File

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright 2010 Maurizio Porrato <maurizio.porrato@gmail.com>
# See LICENSE.txt for copyright info
from twisted.internet import reactor
from frn.protocol.server import FRNServer, FRNServerFactory
from twisted.enterprise.adbapi import ConnectionPool
from frn.manager.remote import RemoteManager
from frn.manager.dummy import DummyManager
from frn.user import FRNUser
from twisted.python import log
if __name__ == '__main__':
import sys
from os.path import dirname, join as pjoin
from ConfigParser import ConfigParser
log.startLogging(sys.stderr)
basedir = dirname(__file__)
acfg = ConfigParser()
acfg.read(['/etc/grn/accounts.conf',
pjoin(basedir,'accounts.conf'), 'accounts.conf'])
scfg = ConfigParser()
scfg.read(['/etc/grn/servers.conf',
pjoin(basedir,'servers.conf'), 'servers.conf'])
argc = len(sys.argv)
if argc >= 3:
account_name = sys.argv[1]
server_name = sys.argv[2]
server = scfg.get(server_name, 'server')
port = scfg.getint(server_name, 'port')
backup_server = scfg.get(server_name, 'backup_server')
backup_port = scfg.getint(server_name, 'backup_port')
owner = acfg.get(account_name, 'email')
password = acfg.get(account_name, 'password')
reactor.listenTCP(10024, FRNServerFactory(
pjoin(basedir, 'tracker.shelve'),
# DatabaseUserStore(
# ConnectionPool("sqlite3", "frn_users.sqlite3",
# check_same_thread=False)),
RemoteManager(reactor),
# DummyManager(),
FRNUser(
SN=server,PT=port,
BN=backup_server, BP=backup_port,
OW=owner,PW=password)
))
reactor.run()
# vim: set et ai sw=4 ts=4 sts=4: