diff options
author | Kali Kaneko <kali@leap.se> | 2013-09-12 13:59:21 +0200 |
---|---|---|
committer | Kali Kaneko <kali@leap.se> | 2013-09-12 13:59:21 +0200 |
commit | 91da9e7839f58114471b22bb2694732d6775c6e4 (patch) | |
tree | 0d48c8b3990971354b4c5517cd1abd69f4d29aeb /src/leap/common/config/prefixers.py | |
parent | 08d9cd69e8f3e58d38a176ce4983e88fa00d693a (diff) | |
parent | 23b96758a217f5a7b6f1ea7c99294c68b53fae65 (diff) |
Merge tag '0.3.2' into debian-0.3.2
Tag leap.common release 0.3.2
Diffstat (limited to 'src/leap/common/config/prefixers.py')
-rw-r--r-- | src/leap/common/config/prefixers.py | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/src/leap/common/config/prefixers.py b/src/leap/common/config/prefixers.py deleted file mode 100644 index 9a5b043..0000000 --- a/src/leap/common/config/prefixers.py +++ /dev/null @@ -1,132 +0,0 @@ -# -*- coding: utf-8 -*- -# prefixers.py -# Copyright (C) 2013 LEAP -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -""" -Platform dependant configuration path prefixers -""" -import os -import platform - -from abc import ABCMeta, abstractmethod -from xdg import BaseDirectory - -from leap.common.check import leap_assert - - -class Prefixer: - """ - Abstract prefixer class - """ - - __metaclass__ = ABCMeta - - @abstractmethod - def get_path_prefix(self, standalone=False): - """ - Returns the platform dependant path prefixer - - :param standalone: if True it will return the prefix for a - standalone application. Otherwise, it will return the system - default for configuration storage. - :type standalone: bool - """ - return "" - - -def get_platform_prefixer(): - prefixer = globals()[platform.system() + "Prefixer"] - leap_assert(prefixer, "Unimplemented platform prefixer: %s" % - (platform.system(),)) - return prefixer() - - -class LinuxPrefixer(Prefixer): - """ - Config prefixer for the Linux platform - """ - - def get_path_prefix(self, standalone=False): - """ - Returns the platform dependant path prefixer. - This method expects an env variable named LEAP_CLIENT_PATH if - standalone is used. - - :param standalone: if True it will return the prefix for a - standalone application. Otherwise, it will return the system - default for configuration storage. - :type standalone: bool - """ - config_dir = BaseDirectory.xdg_config_home - if not standalone: - return config_dir - return os.path.join(os.getcwd(), "config") - - -class DarwinPrefixer(Prefixer): - """ - Config prefixer for the Darwin platform - """ - - def get_path_prefix(self, standalone=False): - """ - Returns the platform dependant path prefixer. - This method expects an env variable named LEAP_CLIENT_PATH if - standalone is used. - - :param standalone: if True it will return the prefix for a - standalone application. Otherwise, it will return the system - default for configuration storage. - :type standalone: bool - """ - config_dir = BaseDirectory.xdg_config_home - if not standalone: - return config_dir - return os.path.join(os.getcwd(), "config") - - -class WindowsPrefixer(Prefixer): - """ - Config prefixer for the Windows platform - """ - - def get_path_prefix(self, standalone=False): - """ - Returns the platform dependant path prefixer. - This method expects an env variable named LEAP_CLIENT_PATH if - standalone is used. - - :param standalone: if True it will return the prefix for a - standalone application. Otherwise, it will return the system - default for configuration storage. - :type standalone: bool - """ - config_dir = BaseDirectory.xdg_config_home - - if not standalone: - return config_dir - return os.path.join(os.getcwd(), "config") - -if __name__ == "__main__": - try: - abs_prefixer = Prefixer() - except Exception as e: - assert isinstance(e, TypeError), "Something went wrong" - print "Abstract Prefixer class is working as expected" - - linux_prefixer = LinuxPrefixer() - print linux_prefixer.get_path_prefix(standalone=True) - print linux_prefixer.get_path_prefix() |