Archive for March, 2009

HgAdmin — админка для хранилищ Mercurial

Собственно начал писать это приложение по сходу кучки случайностей. После какого-то обновления world’а мое репо стало глючить на push’е. Долго руки не доходили, пару дней назад наконец дошли.

А за одно решил перевести с cgi на wsgi. И, конечно же, сразу работать оно не захотело… Это сподвигло меня перечитать документацию к mod_wsgi.

А там я заметил http-аутентификацию через wsgi скрипт, а за одно рыбу для работы с джангой.

Это мня заинтересовало. Поигрался с правами на запись в репы из пользователей джанги и уже захотелось большего: например менять allow_push в hgrc из той же админки. Так и появилось это маленькое приложение :)

Умеет сейчас:

  • менять описание, владельца (связь с пользователем джанги) и allow_push (связь с пользователями)
  • создавать hgrc из шаблона а также копирует в него все из секций web и extensions hgweb.config‘а (настройки hgwebdir)
  • проверяется доступ к репу по правам на изменение Repositories (hgadmin | repository | Can change repository)
  • создавать новые хранилища
  • переименовывать (изменяется имя каталога репозитория)
  • удалять (необходимо разрешить, создает архив для восстановления)
  • добавлять новые репозитарии в базу данных и синхронизировать настройки по hgrc с помощью syncdb (./manage.py syncdb)

TODO:

  • сделать возможным создание каталогов с репами (и поправить код удаления)
  • поработать над исключениями
  • добавить команду для получения рыбы hgweb.config

Требования:

Скачать:

Лицензия new BSD

hg clone http://hg.vehq.ru/hgadmin/

Upd: 20-03-2009

0 comments »

Toshiba Satellite A300 + Linux + Bluetooth

Этот пост скорее заметка для себя. Посвящен проблеме включения bluetooth-модуля ноутбука Toshiba Satellite A300 в линуксе. Аналогичное решение для U300 было найдено в гугле и изменено под себя, а ссылку куда-то потерял.

  1. Нужно установить модуль omnibook. Для суси: sudo zypper si omnibook

  2. Потом наложить патч: omnibook-add-toshiba-satellite-a300.diff

    --- omnibook-2.20080627/laptop.h.orig   2009-02-08 19:13:11.000000000 +0300             
    +++ omnibook-2.20080627/laptop.h        2009-02-08 19:18:55.000000000 +0300             
    @@ -637,6 +637,15 @@                                                                    
            },                                                                              
            {                                                                               
                    .callback = dmi_matched,                                                
    +               .ident = "Toshiba Satellite A300",                                      
    +               .matches = {
    +                       DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
    +                       DMI_MATCH(DMI_PRODUCT_NAME, "Satellite A300"),
    +               },
    +               .driver_data = (void*) TSM70
    +       },
    +       {
    +               .callback = dmi_matched,
                    .ident = "Toshiba Satellite P100",
                    .matches = {
                            DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
    
  3. Собрать и установить.

3 comments »