[tor-commits] [arm/master] Dropping CONFIG global from starter
atagar at torproject.org
atagar at torproject.org
Mon Jun 23 15:00:33 UTC 2014
commit fb1e63d5e80cee8c3b9ca71d75c824c471d83986
Author: Damian Johnson <atagar at torproject.org>
Date: Sat Jun 21 12:56:15 2014 -0700
Dropping CONFIG global from starter
Now that we have our nice @uses_settings annotation there's no longer any point
to have a CONFIG global. I only had it there because I hated passing the config
around by hand all the time. :)
---
arm/starter.py | 41 +++++++++++++++++++++--------------------
1 file changed, 21 insertions(+), 20 deletions(-)
diff --git a/arm/starter.py b/arm/starter.py
index 1f6692f..e6db5cf 100644
--- a/arm/starter.py
+++ b/arm/starter.py
@@ -22,22 +22,19 @@ import arm.util.tracker
import arm.util.ui_tools
import stem
-import stem.util.conf
import stem.util.log
import stem.util.system
from arm.util import BASE_DIR, init_controller, msg, trace, info, notice, warn, uses_settings
-CONFIG = stem.util.conf.get_config('arm')
-
@uses_settings
-def main():
- CONFIG.set('start_time', str(int(time.time())))
+def main(config):
+ config.set('start_time', str(int(time.time())))
try:
args = arm.arguments.parse(sys.argv[1:])
- CONFIG.set('startup.events', args.logged_events)
+ config.set('startup.events', args.logged_events)
except ValueError as exc:
print exc
sys.exit(1)
@@ -65,9 +62,9 @@ def main():
controller = init_controller(
control_port = control_port,
control_socket = control_socket,
- password = CONFIG.get('tor.password', None),
+ password = config.get('tor.password', None),
password_prompt = True,
- chroot_path = CONFIG.get('tor.chroot', ''),
+ chroot_path = config.get('tor.chroot', ''),
)
if controller is None:
@@ -139,25 +136,26 @@ def _setup_debug_logging(args):
)
-def _load_user_armrc(path):
+ at uses_settings
+def _load_user_armrc(path, config):
"""
Loads user's personal armrc if it's available.
"""
if os.path.exists(path):
try:
- CONFIG.load(path)
+ config.load(path)
# If the user provided us with a chroot then validate and normalize the
# path.
- chroot = CONFIG.get('tor.chroot', '').strip().rstrip(os.path.sep)
+ chroot = config.get('tor.chroot', '').strip().rstrip(os.path.sep)
if chroot and not os.path.exists(chroot):
notice('setup.chroot_doesnt_exist', path = chroot)
- CONFIG.set('tor.chroot', '')
+ config.set('tor.chroot', '')
else:
- CONFIG.set('tor.chroot', chroot) # use the normalized path
+ config.set('tor.chroot', chroot) # use the normalized path
except IOError as exc:
warn('config.unable_to_read_file', error = exc.strerror)
else:
@@ -190,17 +188,18 @@ def _warn_if_unable_to_get_pid(controller):
warn('setup.unable_to_determine_pid')
-def _setup_freebsd_chroot(controller):
+ at uses_settings
+def _setup_freebsd_chroot(controller, config):
"""
If we're running under FreeBSD then check the system for a chroot path.
"""
- if not CONFIG.get('tor.chroot', None) and platform.system() == 'FreeBSD':
+ if not config.get('tor.chroot', None) and platform.system() == 'FreeBSD':
jail_chroot = stem.util.system.get_bsd_jail_path(controller.get_pid(0))
if jail_chroot and os.path.exists(jail_chroot):
info('setup.set_freebsd_chroot', path = jail_chroot)
- CONFIG.set('tor.chroot', jail_chroot)
+ config.set('tor.chroot', jail_chroot)
def _notify_of_unknown_events():
@@ -214,13 +213,14 @@ def _notify_of_unknown_events():
info('setup.unknown_event_types', event_types = ', '.join(missing_events))
-def _clear_password():
+ at uses_settings
+def _clear_password(config):
"""
Removing the reference to our controller password so the memory can be freed.
Without direct memory access this is about the best we can do to clear it.
"""
- CONFIG.set('tor.password', '')
+ config.set('tor.password', '')
def _load_tor_config_descriptions():
@@ -240,14 +240,15 @@ def _use_english_subcommands():
os.putenv('LANG', 'C')
-def _use_unicode():
+ at uses_settings
+def _use_unicode(config):
"""
If using our LANG variable for rendering multi-byte characters lets us
get unicode support then then use it. This needs to be done before
initializing curses.
"""
- if not CONFIG.get('features.printUnicode', True):
+ if not config.get('features.printUnicode', True):
return
is_lang_unicode = "utf-" in os.getenv("LANG", "").lower()
More information about the tor-commits
mailing list