aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormvel <mvel@yandex-team.com>2023-04-05 14:45:26 +0300
committermvel <mvel@yandex-team.com>2023-04-05 14:45:26 +0300
commitdcaefa0e49c162ddc69f7898b5f068900992c870 (patch)
tree016b7c0d86251aea0ed8aa958da646bd52e04901
parentae27b7f35cc449053273fcb067f216ac40ff6fc1 (diff)
downloadydb-dcaefa0e49c162ddc69f7898b5f068900992c870.tar.gz
[logos] Reworked graph generator, added ya.make owners
1) выкидываем хрупкие mock-и, заменяем их на более понятный интерфейс командной строки 2) Это даёт дополнительную гибкость: можем брать шаблоны откуда хотим, генерировать выхлоп куда хотим (а не только под себя) 3) в библиотечные функции добавляем полезнейшие `read_text` и `write_text`, потому что ну сколько ж можно 4) канонический выхлоп делаем одним файлом: во-первых это быстрее, во-вторых нет шансов пропустить какой-то новый генерируемый файл 5) костыли с .input-ами выкинул, оставил только `_` для ya.make-ов, чтоб на них не ругалась система сборки. Это даёт возможность почти везде не ломать подсветку синтаксиса в `ut/input`, да и поддерживать проще: скопировал туда файл и всё.
-rw-r--r--library/python/fs/__init__.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/library/python/fs/__init__.py b/library/python/fs/__init__.py
index b1b7cde079..86391afbe9 100644
--- a/library/python/fs/__init__.py
+++ b/library/python/fs/__init__.py
@@ -294,6 +294,13 @@ def read_file(path, binary=True):
return f.read()
+# Text file read
+# Throws OSError
+@errorfix_win
+def read_text(path):
+ return read_file(path, binary=False)
+
+
# Decoding file read
# Throws OSError
@errorfix_win
@@ -332,6 +339,13 @@ def write_file(path, data, binary=True):
replace_file(tmp_path, path)
+# Atomic text file write
+# Throws OSError
+@errorfix_win
+def write_text(path, data):
+ write_file(path, data, binary=False)
+
+
# File size
# Throws OSError
@errorfix_win