1import sys
2import platform
3import fsbc.debug
4import fsbc.logging
5
6# import fsbc.unicode
7from fsbc.application import Application
8
9init_called = False
10unicode_patched = False
11logging_enabled = False
12exception_handler_enabled = False
13
14
15def initialize_application(
16    name=None,
17    version=None,
18    patch_unicode=True,
19    enable_logging=True,
20    enable_exception_handler=True,
21):
22
23    global init_called, unicode_patched, logging_enabled, exception_handler_enabled
24    init_called = True
25
26    if name and enable_logging:
27        fsbc.logging.setup_logging(name + ".log.txt")
28        logging_enabled = True
29
30    if name is not None:
31        Application.app_name = name
32        # print(name)
33
34    if version is not None:
35        Application.app_version = version
36        # print(version)
37
38    if enable_exception_handler:
39        fsbc.debug.enable_exception_handler()
40        exception_handler_enabled = True
41
42    if patch_unicode:
43        # patch system libraries (and argv) to work better with
44        # unicode-enabled programs
45        # FIXME: removed for Python 3
46        # fsbc.unicode.patch_all()
47        unicode_patched = True
48
49    # print(platform.uname())
50    # print(sys.argv)
51