summaryrefslogtreecommitdiff
path: root/src/leap/config/prefixers.py
diff options
context:
space:
mode:
authorkali <kali@leap.se>2013-04-10 00:12:20 +0900
committerkali <kali@leap.se>2013-04-10 00:12:20 +0900
commit3dc9110df56c2919acacb0622915823bfde51d5f (patch)
treedc506b8b685be06ee137a4c290881f7624670c83 /src/leap/config/prefixers.py
parent01f956f859a94f37aaebf9acc932c26564087ae8 (diff)
baseconfig moved to leap.common.config
Diffstat (limited to 'src/leap/config/prefixers.py')
-rw-r--r--src/leap/config/prefixers.py133
1 files changed, 0 insertions, 133 deletions
diff --git a/src/leap/config/prefixers.py b/src/leap/config/prefixers.py
deleted file mode 100644
index 72211790..00000000
--- a/src/leap/config/prefixers.py
+++ /dev/null
@@ -1,133 +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.getenv(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()