- update template to reflect previous commits git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2325 cd1c1023-2f26-0410-ae45-c471fc1f0318
96 lines
2.8 KiB
Python
96 lines
2.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
|
|
if "--ssl" in sys.argv:
|
|
do_ssl = True
|
|
if "--nostdout" in sys.argv:
|
|
do_stdout_logging = False
|
|
|
|
import entropyTools, exceptionTools
|
|
from entropy import RepositorySocketServerInterface, phpBB3AuthInterface, phpbb3Authenticator, phpbb3Commands, DistributionUGCCommands
|
|
|
|
|
|
connection_data = {
|
|
'hostname': 'localhost',
|
|
'port': 3306,
|
|
'username': 'phpbb_user',
|
|
'password': 'mypassword',
|
|
'dbname': 'phpbb_db'
|
|
}
|
|
ugc_connection_data = {
|
|
'hostname': 'localhost',
|
|
'username': 'entropy',
|
|
'password': 'password',
|
|
'dbname': 'entropy',
|
|
'google_email': 'your@gmail.com', # valid google account
|
|
'google_password': 'yourgmailpassword', # valid google e-mail
|
|
}
|
|
ugc_store_path = "/path/to/your/ugc/store"
|
|
ugc_store_url = "http://www.yoursite.com"
|
|
ugc_args = [ugc_connection_data,ugc_store_path,ugc_store_url]
|
|
|
|
# configure my repositories
|
|
repositories = {
|
|
('sabayonlinux.org','amd64','standard',): {
|
|
'dbpath': '/home/fabio/new.sabayonlinux.org/standard/amd64',
|
|
'cmethod': 'bz2',
|
|
},
|
|
}
|
|
|
|
def run_srv(s):
|
|
try:
|
|
s.go()
|
|
except (KeyboardInterrupt, SystemExit,):
|
|
s.killall()
|
|
|
|
sock_auth = (phpbb3Authenticator,[],connection_data)
|
|
srv_ssl = None
|
|
srv = RepositorySocketServerInterface(
|
|
do_ssl = False,
|
|
repositories = repositories,
|
|
stdout_logging = do_stdout_logging,
|
|
sock_auth = sock_auth,
|
|
external_cmd_classes = [phpbb3Commands,(DistributionUGCCommands,ugc_args,)]
|
|
)
|
|
if do_ssl:
|
|
srv_ssl = RepositorySocketServerInterface(
|
|
do_ssl = True,
|
|
repositories = repositories,
|
|
stdout_logging = do_stdout_logging,
|
|
sock_auth = sock_auth,
|
|
external_cmd_classes = [phpbb3Commands,(DistributionUGCCommands,ugc_args,)]
|
|
)
|
|
|
|
task = entropyTools.parallelTask(run_srv, srv)
|
|
task.setName('repodaemon')
|
|
task.start()
|
|
if srv_ssl != None:
|
|
task = entropyTools.parallelTask(run_srv, srv_ssl)
|
|
task.setName('repodaemon_ssl')
|
|
task.start()
|
|
|
|
while 1:
|
|
try:
|
|
time.sleep(1)
|
|
found = False
|
|
threads = entropyTools.threading.enumerate()
|
|
for thread in threads:
|
|
if thread.getName() in ["repodaemon","repodaemon_ssl"]:
|
|
found = True
|
|
break
|
|
if not found:
|
|
break
|
|
except (KeyboardInterrupt, SystemExit,):
|
|
threads = entropyTools.threading.enumerate()
|
|
for thread in threads:
|
|
if thread.getName() in ["repodaemon","repodaemon_ssl"]:
|
|
thread.args[0].killall()
|
|
raise SystemExit
|