Выложил модуль fstrans на pypi.
Oct. 21st, 2019 02:01 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
https://pypi.org/project/fstrans/
В основном ради того, чтобы научитсья пользоваться setuptools. Хотя сам модуль в общем вполне практически полезный. Для себя делал. Базовую идею я придумал еще во времена Communiware, где картинки хранились на диске, а текст в базе данных, и требовалось сделать чтобы картинкам можно было сделать rollback. Тогда соответствующий код, конечно же был на перле написан, а не на питоне.
Сейчас использую этот модуль для работы с репозиториями пакетов. Поэтому оно умеет не только коммиты-роллбэки но и сериализацию доступа к дереву файлов.
И таки да, test suite запускается штатными средствами setuptools. В distutis, когда я там делал поддержку запуска test suite для ctypsecrypto, все руками приходилось делать.
P.S. Надо бы найти время и переписать setup от ctypsecrypto на setuptools, а заодно окончательно починить там работу с бинарными данными в 3-м питоне.
В основном ради того, чтобы научитсья пользоваться setuptools. Хотя сам модуль в общем вполне практически полезный. Для себя делал. Базовую идею я придумал еще во времена Communiware, где картинки хранились на диске, а текст в базе данных, и требовалось сделать чтобы картинкам можно было сделать rollback. Тогда соответствующий код, конечно же был на перле написан, а не на питоне.
Сейчас использую этот модуль для работы с репозиториями пакетов. Поэтому оно умеет не только коммиты-роллбэки но и сериализацию доступа к дереву файлов.
И таки да, test suite запускается штатными средствами setuptools. В distutis, когда я там делал поддержку запуска test suite для ctypsecrypto, все руками приходилось делать.
P.S. Надо бы найти время и переписать setup от ctypsecrypto на setuptools, а заодно окончательно починить там работу с бинарными данными в 3-м питоне.
Re: непонятно
Date: 2019-10-21 02:37 pm (UTC)2. Идея в том, что если две независимо запущенных задачи в какой-то момент одновременно захотели положить собранные ими (разные) файлы в одно и то же дерево, то мы одну бы из них придержали, дав первой завершиться и привести индесные файлы в консистентное состояние. И только потом, уже в новое консистентное состояние пустили вторую задачу.