1
0
Fork 0
mirror of synced 2024-06-01 23:11:09 -04:00
dotbot/dotbot/context.py
E. Keys 0ba45763d9 Make parsed cli options available to plugins
- `Context` now provides a copy of the parsed cli options so that they
    can be used by plugins.
- Modified `Dispatcher` to pass parsed cli options to `Context`

Resolves #249
2020-12-02 19:19:40 -05:00

34 lines
867 B
Python

import copy
import os
class Context(object):
'''
Contextual data and information for plugins.
'''
def __init__(self, base_directory, options):
self._base_directory = base_directory
self._defaults = {}
self._options = options
pass
def set_base_directory(self, base_directory):
self._base_directory = base_directory
def base_directory(self, canonical_path=True):
base_directory = self._base_directory
if canonical_path:
base_directory = os.path.realpath(base_directory)
return base_directory
def set_defaults(self, defaults):
self._defaults = defaults
def defaults(self):
return copy.deepcopy(self._defaults)
def options(self):
if self._options is not None:
return copy.deepcopy(self._options)
return None