def test_path(self): self.uut = Setting("key", " 22\n", "." + os.path.sep, True) self.assertEqual(path(self.uut), os.path.abspath(os.path.join(".", "22"))) abspath = os.path.abspath(".") self.uut = Setting("key", abspath) self.assertEqual(path(self.uut), abspath) self.uut = Setting("key", " 22", "") self.assertRaises(ValueError, path, self.uut) self.assertEqual(path(self.uut, origin="test" + os.path.sep), os.path.abspath(os.path.join("test", "22")))
def test_path(self): self.uut = Setting("key", " 22\n", "." + os.path.sep, True) self.assertEqual(path(self.uut), os.path.abspath(os.path.join(".", "22"))) abspath = os.path.abspath(".") self.uut = Setting("key", re.escape(abspath)) self.assertEqual(path(self.uut), abspath) self.uut = Setting("key", " 22", "") self.assertRaises(ValueError, path, self.uut) self.assertEqual(path(self.uut, origin="test" + os.path.sep), os.path.abspath(os.path.join("test", "22")))
def test_path(self): self.uut = Setting('key', ' 22\n', '.' + os.path.sep, True) self.assertEqual(path(self.uut), os.path.abspath(os.path.join('.', '22'))) abspath = os.path.abspath('.') self.uut = Setting('key', re.escape(abspath)) self.assertEqual(path(self.uut), abspath) self.uut = Setting('key', ' 22', '') self.assertRaises(ValueError, path, self.uut) self.assertEqual(path(self.uut, origin='test' + os.path.sep), os.path.abspath(os.path.join('test', '22')))
def test_path(self): self.uut = Setting( 'key', ' 22\n', '.' + os.path.sep, strip_whitespaces=True) self.assertEqual(path(self.uut), os.path.abspath(os.path.join('.', '22'))) abspath = PathArg(os.path.abspath('.')) self.uut = Setting('key', abspath) self.assertEqual(path(self.uut), abspath) self.uut = Setting('key', ' 22', '') self.assertRaises(ValueError, path, self.uut) self.assertEqual(path(self.uut, origin='test' + os.path.sep), os.path.abspath(os.path.join('test', '22')))
def get_config_directory(section): """ Retrieves the configuration directory for the given section. Given an empty section: >>> section = Section("name") The configuration directory is not defined and will therefore fallback to the current directory: >>> get_config_directory(section) == os.path.abspath(".") True If the ``files`` setting is given with an originating coafile, the directory of the coafile will be assumed the configuration directory: >>> section.append(Setting("files", "**", origin="/tmp/.coafile")) >>> get_config_directory(section) == os.path.abspath('/tmp/') True However if its origin is already a directory this will be preserved: >>> files = Setting('files', '**', origin=os.path.abspath('/tmp/dir/')) >>> section.append(files) >>> os.makedirs(section['files'].origin, exist_ok=True) >>> get_config_directory(section) == section['files'].origin True The user can manually set a project directory with the ``project_dir`` setting: >>> section.append(Setting('project_dir', os.path.abspath('/tmp'), '/')) >>> get_config_directory(section) == os.path.abspath('/tmp') True If no section is given, the current directory is returned: >>> get_config_directory(None) == os.path.abspath(".") True To summarize, the config directory will be chosen by the following priorities if possible in that order: - the ``project_dir`` setting - the origin of the ``files`` setting, if it's a directory - the directory of the origin of the ``files`` setting - the current directory :param section: The section to inspect. :return: The directory where the project is lying. """ if section is None: return os.getcwd() if 'project_dir' in section: return path(section.get('project_dir')) config = os.path.abspath(section.get('files', '').origin) return config if os.path.isdir(config) else os.path.dirname(config)
def test_path(self): self.uut = Setting('key', ' 22\n', '.' + os.path.sep, strip_whitespaces=True) self.assertEqual(path(self.uut), os.path.abspath(os.path.join('.', '22'))) abspath = PathArg(os.path.abspath('.')) self.uut = Setting('key', abspath) self.assertEqual(path(self.uut), abspath) self.uut = Setting('key', ' 22', '') self.assertRaises(ValueError, path, self.uut) self.assertEqual(path(self.uut, origin='test' + os.path.sep), os.path.abspath(os.path.join('test', '22')))
def path_or_url(xml_dtd): """ Converts the setting value to url or path. :param xml_dtd: Setting key. :return: Returns a converted setting value. """ try: return url(xml_dtd) except ValueError: return path(xml_dtd)
def path_or_url(xml_dtd): ''' Coverts the setting value to url or path. :param xml_dtd: Setting key. :return: Returns a converted setting value. ''' try: return url(xml_dtd) except ValueError: return path(xml_dtd)
def known_checkstyle_or_path(setting): if str(setting) in known_checkstyles.keys(): return str(setting) else: return path(setting)