mini_buildd.files module¶
-
class
mini_buildd.files.
File
(name, description=None, snippet=None, comment='#', shebang=None, finalizer=None, placeholders=None)¶ Bases:
collections.deque
Line based text file (config or script).
>>> pm = PerlModule("perl").add("# set foo\n$bar = undef;") >>> pm.get() '# set foo\n$bar = undef;\n1;\n' >>> pm.get(snippet=True) '# set foo\n$bar = undef;\n' >>> pm.get(snippet=True, comments=False) '$bar = undef;\n'
>>> bs = BashScript("bash").add("# echo foo\necho bar") >>> bs.get() '#!/bin/bash -e\n# echo foo\necho bar\n' >>> bs.get(snippet=True) '# echo foo\necho bar\n' >>> bs.get(snippet=True, comments=False) 'echo bar\n'
>>> test_file = "/tmp/mini_buildd_test_conf_file" >>> if os.path.exists(test_file): os.remove(test_file) >>> File("test_file").add("my_option=7\n").update_as(test_file) True >>> File("test_file").add("my_option=7\n").update_as(test_file) False >>> File("test_file").add("my_option=8\n").update_as(test_file) True
>>> dos = File("dos.txt").add_file("test-data/dos.txt") >>> with mini_buildd.open_utf8("test-data/unix.txt", newline="") as unix: unix.read() == dos.get() True >>> with mini_buildd.open_utf8("test-data/dos.txt", newline="") as dos_file: dos_file.read() == dos.get() False
# rmtree: Enable with caution # >>> dir = Dir(“./test-data/dirtest”).add(File(“file1.txt”, snippet=”test1 data”)).add(File(“file2.txt”, snippet=”test2 data”)) # >>> import shutil # >>> shutil.rmtree(dir.path, ignore_errors=True) # >>> dir.update() # True # >>> dir.update() # False # >>> dir.update() # False # >>> dummy = dir[“file1.txt”].add(“nonne zeile”) # >>> dir.update() # True # >>> shutil.rmtree(dir.path)
-
classmethod
shebang_from_data
(data)¶
-
classmethod
shebang_from_path
(path)¶
-
get
(snippet=False, comments=True)¶
-
add
(data, snippet=True, description=None)¶
-
add_file
(path, **kwargs)¶
-
save_as
(path, **kwargs)¶
-
update_as
(path, **kwargs)¶ Like save_as(), but return bool whether file has changed on disk.
-
save
(dir_, **kwargs)¶
-
update
(dir_, **kwargs)¶
-
classmethod
-
class
mini_buildd.files.
PerlModule
(*args, **kwargs)¶ Bases:
mini_buildd.files.File
-
class
mini_buildd.files.
ShellScript
(name, description=None, snippet=None, comment='#', shebang=None, finalizer=None, placeholders=None)¶ Bases:
mini_buildd.files.File
-
class
mini_buildd.files.
ShScript
(*args, **kwargs)¶
-
class
mini_buildd.files.
BashScript
(*args, **kwargs)¶
-
class
mini_buildd.files.
AutoScript
(path, **kwargs)¶ Bases:
mini_buildd.files.File
-
class
mini_buildd.files.
Dir
(path=None)¶ Bases:
collections.OrderedDict
-
add
(file_)¶
-
add_dir
(dir_, name_filter=None)¶ Add files from another ‘Dir’ (with optional filtering).
-
save
(path=None)¶
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-