59 lines
1.8 KiB
Python
59 lines
1.8 KiB
Python
#!/usr/bin/python
|
|
import sys, time
|
|
sys.path.insert(0,'/usr/lib/entropy/libraries')
|
|
sys.path.insert(0,'/usr/lib/entropy/client')
|
|
sys.path.insert(0,'../libraries')
|
|
sys.path.insert(0,'../client')
|
|
# disable pid management
|
|
sys.argv.append("--no-pid-handling")
|
|
do_ssl = False
|
|
do_stdout_logging = True
|
|
do_port = 1027
|
|
if "--ssl" in sys.argv:
|
|
do_ssl = True
|
|
if "--nostdout" in sys.argv:
|
|
do_stdout_logging = False
|
|
if "--port" in sys.argv:
|
|
idx = sys.argv.index("--port")+1
|
|
try:
|
|
do_port = int(sys.argv[idx])
|
|
except (IndexError, ValueError,):
|
|
pass
|
|
|
|
from entropy.const import *
|
|
etpConst['community']['mode'] = True
|
|
etpConst['socket_service']['session_ttl'] = 300
|
|
import entropy.tools as entropyTools
|
|
from entropy.services.system.interfaces import Server as SystemManagerServerInterface
|
|
from entropy.services.system.executors import Base as SystemManagerExecutorServerRepositoryInterface
|
|
from entropy.services.system.commands import Repository as SystemManagerRepositoryCommands
|
|
from entropy.server.interfaces import Server as ServerInterface
|
|
|
|
def run_srv(s):
|
|
try:
|
|
s.go()
|
|
except (KeyboardInterrupt, SystemExit,):
|
|
s.killall()
|
|
|
|
srv = SystemManagerServerInterface(
|
|
ServerInterface,
|
|
do_ssl = do_ssl,
|
|
stdout_logging = do_stdout_logging,
|
|
external_cmd_classes = [SystemManagerRepositoryCommands],
|
|
external_executor_cmd_classes = [(SystemManagerExecutorServerRepositoryInterface,[],{},)],
|
|
entropy_interface_kwargs = {'community_repo': etpConst['community']['mode']}
|
|
)
|
|
srv.port = do_port
|
|
|
|
thread_names = ["system_socket"]
|
|
task = entropyTools.parallelTask(run_srv, srv)
|
|
task.setName(thread_names[0])
|
|
task.start()
|
|
|
|
try:
|
|
while task.isAlive():
|
|
time.sleep(1)
|
|
except KeyboardInterrupt:
|
|
raise SystemExit(1)
|
|
raise SystemExit(0)
|