На днях смотрел на IDE eggy… Она ещё очень сырая, но в ней на напоролся на файлик Decorators.py и прозрел! Декораторы, это, блин, хорошо и удобно!
Немного подумав и поговорив над концепцией с Shiz'ом, я склепал небольшой и удобный модуль для лока методов. Он не блещет особой функциональностью, но зато прост и интуитивно понятен.
class C(object):
@lock.name_1
def mtd_1_1(self):
pass
@lock.name_1
def mtd_1_2(self):
pass
@lock.name_2
def mtd_2(self):
pass
Удалить локер можно просто del lock.name_1. Правда всё, что залочено старым локом, так залоченным и останется, но я не уверен, что будет логично разлочивать, хотя и не трудно дописать такой функционал.
Залил сюда.
Если будете разбирать, обратите внимание на тесты. Они, в итоге, больше самого модуля, зато дают практически полное представление о функциональности объекта lock.
Само собой интересует критика.
P.S. Да, и помогите нормально заголовок оформить… А то читать ин-инглиш это ещё пол беды, а вот писать…