47f3e07b2d
* reduce ci matrix
* python runscript without bash
(cherry picked from commit 9b148a6679722db5eb7ffabd3a27a8579f296319)
* change link dest function to handle '\?\' links
* add path normalization for windows support
* Revert "add path normalization for windows support"
This reverts commit 2ab0fc1b3c
.
* link variable extraction without normpath
* type annotation
* blacken
* missing black files
* variable renames from '2775765a' outside link function
* from '2775765a' use method for default flags
* fix defaults from method
* variable renames from '2775765a' in link function and method renames
* refactor if clauses into blocks
* maybe fix if refactor
* remove unreachable code
* remove silly disambiguation semantics
* remove silly disambiguation semantics 2
* incremental else swap
* bring source existence check to front
* bring source existence check to front and remove old back check
* refactor almost final case
* check symlink broken cases up front
* add return missing
* flip block order to make things easier to understand
29 lines
697 B
Python
29 lines
697 B
Python
import copy
|
|
import os
|
|
|
|
|
|
class Context(object):
|
|
"""
|
|
Contextual data and information for plugins.
|
|
"""
|
|
|
|
def __init__(self, base_directory):
|
|
self._base_directory = base_directory
|
|
self._defaults = {}
|
|
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)
|