def set_scan_dirs(dirs): """Saves a list of fs paths which should be scanned Args: list """ assert all(isinstance(d, fsnative) for d in dirs) if is_windows(): joined = fsnative(u":").join(dirs) else: joined = join_escape(dirs, fsnative(u":")) config.setbytes("settings", "scan", fsn2bytes(joined, "utf-8"))
def setlist(self, section, option, values, sep=","): """Saves a list of str using ',' as a separator and \\ for escaping""" values = [str(v) for v in values] joined = join_escape(values, sep) self.set(section, option, joined)
def test_roundtrip(self): values = ["\\:", ":"] joined = join_escape(values, ":") self.assertEqual(split_escape(joined, ":"), values)
def test_join_escape(self): self.assertEqual(join_escape([":"], ":"), "\\:") self.assertEqual(join_escape(["\\:", ":"], ":"), "\\\\\\::\\:")
def test_join_escape_types(self): self.assertEqual(join_escape([], ":"), "") self.assertTrue(isinstance(join_escape([], ":"), bytes)) self.assertTrue(isinstance(join_escape([], u":"), unicode)) self.assertEqual(join_escape(["\xff", "\xff"], ":"), "\xff:\xff") self.assertEqual(join_escape([u'\xe4', u'\xe4'], ":"), u'\xe4:\xe4')
def test_join_escape(self): self.assertEqual(join_escape([b":"], b":"), b"\\:") self.assertEqual(join_escape([b"\\:", b":"], b":"), b"\\\\\\::\\:")
def set_scan_dirs(dirs): if sys.platform == "win32": joined = fsnative(u":").join(dirs) else: joined = join_escape(dirs, fsnative(u":")) config.set("settings", "scan", fsn2bytes(joined, "utf-8"))
def set_scan_dirs(dirs): if sys.platform == "win32": joined = fsnative(u":").join(dirs) else: joined = join_escape(dirs, fsnative(u":")) config.set("settings", "scan", fsnative2bytes(joined))
def setlist(self, section, option, values, sep=","): """Saves a list of str using ',' as a separator and \\ for escaping""" values = map(str, values) joined = join_escape(values, sep) self._config.set(section, option, joined)