большинство Pythonic способ проверить тип объекта не состоит в том, чтобы... проверить его.
, Так как Python поощряет Утка, Вводящая , Вы должны всего try...except
для использования методов объекта путем, Вы хотите использовать их. Таким образом, если Ваша функция ищет перезаписываемый объект файла, не делают проверка, что это - подкласс file
, просто попытайтесь использовать .write()
метод!
, Конечно, иногда эти хорошие абстракции терпят неудачу, и isinstance(obj, cls)
то, в чем Вы нуждаетесь. Но используйте экономно.
Я использую WebSVN с Интеграция круиз-контроля .Net , поэтому в каждом электронном письме о сборке отображаются измененные файлы, а при нажатии на них отображается разница
Мне гораздо больше нравится trac, но я не могу заставить свою компанию перейти на него
Мы используем WebSVN . Он имеет все функции, упомянутые выше. Причина, по которой мы не используем trac, заключается в том, что мы используем FogBugz в качестве средства отслеживания проблем, а поскольку websvn был исключительно браузером репозитория, он хорошо подходил для FogBugz.
Sventon - отличный браузер хранилища. О том, что мне нравится в Свентоне , я уже писал здесь .
Я думаю, что Sventon отвечает вашим требованиям (насколько я понимаю из вашего вопроса), а также некоторым другим приятным вещам:
Мне нравится использовать WebSvn . Но больше я ничего не пробовал.
Если вы хотите уменьшить размер Trac, компоненты можно включать и отключать через trac.ini . Взгляните на раздел components документации TracIni.