http://mtaalamu.ru
Weblate — симпатичный сервис на python + django для организации совместных переводов текстов в различных форматах (Gettext, Qt, Java, Windows). Сервис глубоко интегрируется с git, автоматически сохраняя в репозитарии все изменения.]]>
GIT репозиторий тут:
gitorious.org/mediagoblin/mediagoblin
Wiki по сборке:
wiki.mediagoblin.org/HackingHowto
Пока проект не имеет излишеств и это его главное достоинство — все модульно, просто и понятно.]]>
Очень интересная возможность. Например, можно написать учебный язык программирования, научный вычислительный модуль на родном языке.]]>
]]>
Для начала нам не помешает поддержка sqlite и imaging для нашего Python:
cd /usr/ports/databases/py-sqlite3
make install
cd /usr/ports/graphics/py-imaging
make install
Также естественно нужна libevent:]]>
А также сравнение асинхронных серверов:
nichol.as/asynchronous-servers-in-python]]>
Начнем со сборки Cherokee из портов:
cd /usr/ports/www/cherokee
make install
Не забываем отметить галку uWSGI:]]>
./youtube-dl.py -t --extract-audio --audio-format mp3 http://www.youtube.com/watch?v=lE9gVbDMFC
Установка не требуется, питоновский скрипт нужно просто «Сохранить как...» на жесткий диск и сделать исполняемым. Из зависимостей — только ffmpeg.]]>
#!/usr/bin/python
#coding: utf8
import time, io, tty
def writeToPort(s):
p.write(s+'\r\n')
time.sleep(0.1)
p = io.open('/dev/ttyUSB1', 'w+b', 0)
tty.setraw(p)
writeToPort('AT+CPBS="SM"')
writeToPort('AT+CPMS="SM","SM",""')
writeToPort('AT+ZSNT=0,0,2')
writeToPort('AT+CUSD=1,*102#,15')
print 'Waiting answer...'
for ln in p:
if ln.startswith('+CUSD'):
print ln[10:ln.rfind('"')].decode('hex').decode('utf-16-be')
break
p.close()
Сохранил это в файл /usr/bin/beelinehowmuch, проверил — работает.
Думаю, если похимичить с AT-командами — можно получить весь набор удобств, которые прилагаются к модему с виндовым софтом.]]>
Устанавливаем необходимое для сборки:
yum install sqlite-devel openssl-devel make gcc
Скачиваем исходники Python:
wget http://www.python.org/ftp/python/2.7.1/Python-2.7.1.tgz
tar xvfz ./Python-2.7.1.tgz
cd ./Python-2.7.1
Конфигурация:
./configure --prefix=/opt/python2.7 --with-threads --enable-shared
Сборка и установка:
make && make install
Создаем символическую ссылку:
ln -s /opt/python2.7/bin/python /usr/bin/python2.7
Прописываем пути к библиотекам в /etc/ld.so.conf.d/opt-python2.7.conf:
/opt/python2.7/lib
Запускаем:
ldconfig
Проверяем:
python2.7
Python 2.7.1 (r271:86832, Apr 26 2011, 12:11:59)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2
Type «help», «copyright», «credits» or «license» for more information.
>>>
Установка дополнительных модулей, например setuptools:
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sh ./setuptools-0.6c11-py2.7.egg --prefix=/opt/python2.7/
Processing setuptools-0.6c11-py2.7.egg
]]>
Copying setuptools-0.6c11-py2.7.egg to /opt/python2.7.1/lib/python2.7/site-packages
Adding setuptools 0.6c11 to easy-install.pth file
Installing easy_install script to /opt/python2.7.1//bin
Installing easy_install-2.7 script to /opt/python2.7.1//bin
Installed /opt/python2.7.1/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11