hydrus/client.pyw

62 lines
1.6 KiB
Python
Raw Normal View History

2013-02-19 00:11:43 +00:00
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
2013-03-27 20:02:51 +00:00
import string
string.whitespace
# this is some woo woo - if you call it after the locale, it has 0xa0 (non-breaking space) (non-ascii!!) included
# if you call it before, the locale call doesn't update
# what a mess!
import locale
2013-08-14 20:21:49 +00:00
locale.setlocale( locale.LC_ALL, '' )
2013-03-27 20:02:51 +00:00
2014-04-23 20:56:12 +00:00
from include import HydrusConstants as HC
2013-02-19 00:11:43 +00:00
import os
2013-08-14 20:21:49 +00:00
import sys
2014-06-18 21:53:48 +00:00
import time
2014-05-07 22:42:30 +00:00
2013-02-19 00:11:43 +00:00
from include import ClientController
2013-09-25 20:20:10 +00:00
import threading
2013-10-02 22:06:06 +00:00
from twisted.internet import reactor
2013-02-19 00:11:43 +00:00
2013-07-24 20:26:00 +00:00
initial_sys_stdout = sys.stdout
initial_sys_stderr = sys.stderr
2013-08-14 20:21:49 +00:00
with open( HC.LOGS_DIR + os.path.sep + 'client.log', 'a' ) as f:
2013-02-19 00:11:43 +00:00
2013-07-24 20:26:00 +00:00
sys.stdout = f
sys.stderr = f
2013-02-19 00:11:43 +00:00
2013-07-24 20:26:00 +00:00
try:
2014-06-18 21:53:48 +00:00
print( 'hydrus client started at ' + time.ctime() )
2013-10-02 22:06:06 +00:00
threading.Thread( target = reactor.run, kwargs = { 'installSignalHandlers' : 0 } ).start()
2013-09-25 20:20:10 +00:00
2013-07-24 20:26:00 +00:00
app = ClientController.Controller()
app.MainLoop()
2014-06-18 21:53:48 +00:00
print( 'hydrus client shut down at ' + time.ctime() )
2013-07-24 20:26:00 +00:00
except:
2014-06-18 21:53:48 +00:00
print( 'hydrus client failed at ' + time.ctime() )
2013-07-24 20:26:00 +00:00
import traceback
print( traceback.format_exc() )
2013-02-19 00:11:43 +00:00
2013-07-24 20:26:00 +00:00
sys.stdout = initial_sys_stdout
sys.stderr = initial_sys_stderr
2013-02-19 00:11:43 +00:00
HC.shutdown = True
2013-10-02 22:06:06 +00:00
reactor.callFromThread( reactor.stop )
2013-09-25 20:20:10 +00:00
2013-11-13 21:30:38 +00:00
HC.pubsub.WXpubimmediate( 'shutdown' )