This repository has been archived on 2024-12-17. You can view files and clone it, but cannot push or open issues or pull requests.
PyBitmessage-2024-12-17/src/state.py

103 lines
2.0 KiB
Python
Raw Normal View History

2019-10-22 16:24:37 +02:00
"""
Global runtime variables.
"""
neededPubkeys = {}
streamsInWhichIAmParticipating = []
extPort = None
2019-10-22 16:24:37 +02:00
"""For UPnP"""
socksIP = None
2019-10-22 16:24:37 +02:00
"""for Tor hidden service"""
appdata = ""
2019-10-22 16:24:37 +02:00
"""holds the location of the application data storage directory"""
2018-04-18 12:34:12 +02:00
shutdown = 0
2019-10-22 16:24:37 +02:00
"""
Set to 1 by the `.shutdown.doCleanShutdown` function.
Used to tell the threads to exit.
2019-10-22 16:24:37 +02:00
"""
2018-04-09 06:38:48 +02:00
# Component control flags - set on startup, do not change during runtime
# The defaults are for standalone GUI (default operating mode)
2019-10-22 16:24:37 +02:00
enableNetwork = True
"""enable network threads"""
enableObjProc = True
"""enable object processing thread"""
2019-10-22 16:24:37 +02:00
enableAPI = True
"""enable API (if configured)"""
enableGUI = True
"""enable GUI (QT or ncurses)"""
enableSTDIO = False
"""enable STDIO threads"""
enableKivy = False
"""enable kivy app and test cases"""
2017-02-02 15:48:56 +01:00
curses = False
maximumNumberOfHalfOpenConnections = 0
maximumLengthOfTimeToBotherResendingMessages = 0
ownAddresses = {}
discoveredPeers = {}
dandelion = 0
2022-01-11 15:45:42 +01:00
kivy = False
kivyapp = None
testmode = False
clientHasReceivedIncomingConnections = False
"""used by API command clientStatus"""
numberOfMessagesProcessed = 0
numberOfBroadcastsProcessed = 0
numberOfPubkeysProcessed = 0
statusIconColor = "red"
"""
GUI status icon color
.. note:: bad style, refactor it
"""
ackdataForWhichImWatching = {}
thisapp = None
"""Singleton instance"""
2022-10-21 12:28:20 +02:00
backend_py3_compatible = False
class Placeholder(object): # pylint:disable=too-few-public-methods
"""Placeholder class"""
def __init__(self, className):
self.className = className
def __getattr__(self, name):
self._raise()
def __setitem__(self, key, value):
self._raise()
def __getitem__(self, key):
self._raise()
def _raise(self):
raise NotImplementedError(
"Probabaly you forgot to initialize state variable for {}".format(
self.className
)
)
Inventory = Placeholder("Inventory")
Dandelion = Placeholder("Dandelion")