Unix, Linux
  • phd

pc-sjw.py

Воены социальной справедливости добрались до Питона и принялись политично корректировать техническую терминологию. Начали со слов master/slave.

Нехорошое слово [порезано цензурой]!
Unix, Linux
  • phd

m_Librarian 0.1.4

Программа для вытаскивания книг из Флибусты/ЛибРусЕка. Новости:

  • Поиск по названиям книг.
  • Показывается список найденных книг с разбивкой по авторам и сериям.
  • В файле конфигурации можно задать список колонок для таблиц авторов и книг.

Программа предназначена только для работы с локальными библиотеками, скачанными с торрентов. Удалённая работа с сайтами не планируется. Базы данных (индексы библиотек) конвертируются из файлов INPX.

В планах параллельно с web-интерфейсом начать делать интерфейс на wxPython.

Ссылки:

PyPI:
https://pypi.org/project/m-librarian/
Домашняя страничка:
https://phdru.name/Software/Python/m_librarian/
Документация:
https://phdru.name/Software/Python/m_librarian/docs/ru/
Github (слать pull-request'ы):
https://github.com/phdru/m_librarian
Базы данных (индексы библиотек):
http://ml-downloads.phdru.name/db/
Unix, Linux
  • phd

SQLObject 3.7

Выпущена библиотека SQLObject 3.7.0. Изменения:

  • Добавлены сигналы на commit и rollback; pull-request Scott Stahl.
  • Исправлены параметры SSL для MySQL-connector; у connector свой собственный особый стиль именования этих параметров, отличающийся от остальных драйверов MySQL; bug-report и тестирование Christophe Popov.
  • Убрана работа с драйвером psycopg1. Драйвер psycopg теперь просто синоним для psycopg2.
  • В tox.ini драйвер psycopg2 ставится из пакета psycopg2-binary.

Полный список новостей (на английском) можно посмотреть здесь: http://sqlobject.org/News.html.

SQLObject - это библиотека объектно-реляционного отображения. Каждая таблица представлена классом, каждая строка таблицы - экземпляром этого класса, каждая колонка (атрибут) - питоновским атрибутом. Библиотека SQLObject проста в использовании; не претендует на универсальность и всеохватность, но основные операции с SQL поддерживает. SQLObject работает со следующими БД: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL и MaxDB (SAPDB). Работает с Python 2.7 и 3.4+.

Пример - простой класс, представлюящий талицу SQL:

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ...     fname = StringCol()
  ...     mi = StringCol(length=1, default=None)
  ...     lname = StringCol()
  ...
  >>> Person.createTable()
Создание и использование объекта:
  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True
Запросы:
  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1

Unix, Linux
  • phd

m_Librarian 0.1.3

Из-за прекращения разработки программы MyRuLib (исходники не обновлялись с 2013 года, базы данных [индексы библиотек] с 2016) мне срочно понадобилось её чем-то заменить для вытаскивания книг из Флибусты/ЛибРусЕка. Известные альтернативы (MyHomeLib и т.п.) в моей ОС не работают, поддержать MyRuLib я не могу -- C++ не мой язык. Пришлось начать писать что-то своё самому.

Версия 0.1, почти никакой функциональности ещё нет, та что есть, не работает или работает с глюками, а что работает -- работает неудобно. Есть web-интерфейс поиска по авторам, показ книг автора и скачивание книг. Инсталлятора нет (ну, не считая pip install), работает пока исключительно в Linux.

Программа предназначена только для работы с локальными библиотеками, скачанными с торрентов. Удалённая работа с сайтами не планируется. Базы данных (индексы библиотек) конвертируются из файлов INPX.

В отличии от MyRuLib, которая переключается между базами, я думаю иметь одну БД, а какую именно -- решит пользователь в зависимости от того, какой он торрент скачал -- Флибусту, LRE или обе в одной директории, fb2 или all. Что делать, если у пользователя 2 библиотеки в разных директориях, я пока не думал -- у меня у самого Флибуста+LRE fb2 в одной директории, на этот вариант я и ориентируюсь.

Ближайшие планы -- сделать поиск по книгам, фильтры по языкам и по удалённым книгам.

Более отдалённые планы -- параллельно с web-интерфейсом начать делать интерфейс на wxPython.

Мечты на далёкое будущее -- портировать во все ОС, наладить выпуск инсталляторов.

Ссылки:

PyPI:
https://pypi.org/project/m-librarian/
Домашняя страничка:
https://phdru.name/Software/Python/m_librarian/
Документация:
https://phdru.name/Software/Python/m_librarian/docs/ru/
Github (слать pull-request'ы):
https://github.com/phdru/m_librarian
Базы данных (индексы библиотек):
http://ml-downloads.phdru.name/db/
Unix, Linux
  • phd

Cheetah 3.1

Выпущена библиотека CheetahTemplate 3.1.0. Изменения:

  • Исправлена работа с PyPy. Конечно, без NameMapper.c (вместо него NameMapper_pure.py), зато с JIT. :-)
  • Все исходники исправлены до полного удовлетворения flake8. Только статические исходники самого Гепарда, не откомпилированные шаблоны.

Полный список новостей (на английском) можно посмотреть здесь: http://cheetahtemplate.org/news.html.

cheetahtemplate - это шаблонизатор для Питона. Работает с Python 2.7 и 3.3+.

Пример:

    #set $people = [{'name' : 'Tom', 'mood' : 'Happy'}, {'name' : 'Dick',
                            'mood' : 'Sad'}, {'name' : 'Harry', 'mood' : 'Hairy'}]

    <strong>How are you feeling?</strong>
    <ul>
        #for $person in $people
            <li>
                $person['name'] is $person['mood']
            </li>
        #end for
    </ul>

Unix, Linux
  • phd

Cheetah 3.0.1

Выпущена библиотека CheetahTemplate 3.0.1. Изменения:

  • Одно мелкое исправление в компиляторе.

Полный список новостей (на английском) можно посмотреть здесь: http://cheetahtemplate.org/news.html.

cheetahtemplate - это шаблонизатор для Питона. Работает с Python 2.7 и 3.3+. Я уже объяснял, почему предпочитаю Гепарда, а не что-то другое.

Unix, Linux
  • phd

SQLObject 3.6

Выпущена библиотека SQLObject 3.6.0. Изменения:

  • Все курсоры закрываются сразу после использования (не надо ждать сборки мусора).
  • Работа с драйвером oursql расширена для Python 3; требуется мой fork драйвера, ветка py3k.
  • Несколько исправлений в работе с MS SQL.
  • Задокументирован весь список extras, доступных для установки.

Полный список новостей (на английском) можно посмотреть здесь: http://sqlobject.org/News.html.

SQLObject - это библиотека объектно-реляционного отображения. Каждая таблица представлена классом, каждая строка таблицы - экземпляром этого класса, каждая колонка (атрибут) - питоновским атрибутом. Библиотека SQLObject проста в использовании; не претендует на универсальность и всеохватность, но основные операции с SQL поддерживает. SQLObject работает со следующими БД: MySQL, PostgreSQL, SQLite, Firebird, Sybase, MSSQL и MaxDB (SAPDB). Работает с Python 2.7 и 3.4+.

Пример - простой класс, представлюящий талицу SQL:

  >>> from sqlobject import *
  >>>
  >>> sqlhub.processConnection = connectionForURI('sqlite:/:memory:')
  >>>
  >>> class Person(SQLObject):
  ...     fname = StringCol()
  ...     mi = StringCol(length=1, default=None)
  ...     lname = StringCol()
  ...
  >>> Person.createTable()
Создание и использование объекта:
  >>> p = Person(fname="John", lname="Doe")
  >>> p
  
  >>> p.fname
  'John'
  >>> p.mi = 'Q'
  >>> p2 = Person.get(1)
  >>> p2
  
  >>> p is p2
  True
Запросы:
  >>> p3 = Person.selectBy(lname="Doe")[0]
  >>> p3
  
  >>> pc = Person.select(Person.q.lname=="Doe").count()
  >>> pc
  1