{9} Новости проекта (7 matches)

Новости проекта LinkExchange.

lostclus (7 matches)

Ticket Summary Component Created
Description
#12 Вышла версия 0.4 general 05/13/11

Чего нового в версии 0.4:

  • Код поддержки фреймворков вынесен в отдельные проекты: LinkExchange.Django, LinkExchange.MoinMoin, LinkExchange.Trac, LinkExchange.TurboGears и LinkExchange.web.py. Теперь linkexchange является namespace-пакетом.
  • Поддержка сервера приложений Zope добавлена как проект LinkExchange.Zope.
  • Исправлены ошибки при использовании dbm-драйверов, которые используют множество файлов на одну базу данных.
  • Добавлена поддержка сервиса  TrustLink.ru.
  • При загрузке плагинов поиск выполняется по всем дистрибутивам, не только в LinkExchange.
  • Добавлены автоматические тесты основанные на unittests.
  • Исправлена совместимость с Python 2.3 и win32.
  • Новый параметр no_query_string добавлен в клиенты Sape, LinkFeed и TrustLink. Он включает симуляцию статического сайта.
  • Незначительные улучшения и исправления ошибок.

Внимание! При обновлении LinkExchange с более ранних версий убедитесь что нигде не осталось лишних каталогов и pyc-файлов. Также были замечены проблемы при установке версии 0.4 в домашний каталог пользователя при установленной версии 0.3 в системном каталоге. Лучше полностью удалить старую версию перед установкой версии 0.4.


#11 Поддержка TrustLink.ru clients 04/13/11

В trunk добавлена поддержка биржи ссылок  TrustLink.ru. PHP код этой биржи очень похож на код Sape и LinkFeed, поэтому проблем быть не должно. Биржа очень требовательна к добавляемым сайтам, и у меня пока нет ни одного своего сайта способного пройти модерацию.

Клиент биржы TrustLink.ru выполнен в виде класса TrustLinkClient в модуле linkexchange.clients.trustlink и имеет имя клиента trustlink. Для работы клиента требуется библиотека phpserialize.


#10 Поддержка Zope 3rd party frameworks and applications integration 04/11/11

Создан проект поддержки сервера приложений Zope — LinkExchange.Zope, который обеспечивает ограниченную базовую поддержку функций LinkExchange в веб-приложениях на основе Zope.

LinkExchange.Zope является продуктом, который инициализирует библиотеку используя переменную окружения LINKEXCHANGE_CONFIG для определения файла конфигурации. Продукт предоставляет модуль расширения linkexchange.zope.Method, функции которого могут быть вызваны из шаблонов если создать соответствующий External Method. Пока данный модуль предоставляет только функцию get_block(), которая возвращает блок ссылок.

Пока LinkExchange.Zope не определяет никаких классов объектов для добавления на сайт через ZMI, так что используется одна глобальная конфигурация ссылок для всего экземпляра Zope, что накладывает свои ограничения при размещении нескольких сайтов в одном экземпляре Zope.


#9 Код поддержки фреймворков вынесен в отдельные проекты general 04/10/11

Начиная с ревизии [133] (и версии 0.4) проект LinkExchange не содержит код интеграции с различными веб-движками и фреймворками, код поддержки фреймворков вынесен в отдельные проекты: LinkExchange.Django, LinkExchange.MoinMoin, LinkExchange.Trac, LinkExchange.TurboGears, LinkExchange.web.py. Это позволяет более точно установить зависимости между пакетами, а также решить некоторые проблемы запуска тестов.

При обновлении LinkExchange удостоверьтесь что нигде не осталось лишних каталогов и pyc-файлов, особенно если вы используете версию из trunk.

Новые пакеты используют пространство имен linkexchange, и имена и пути Python-модулей остались прежними, кроме проекта LinkExchange.Django, где вместо linkexchange.django теперь используется linkexchange_django в качестве имени Python-пакета и соответственно имени Django-приложения. Это связанно с проблемами при обработке пространств имен в Django.

Также в связи с использованием пространства имен были перенесены некоторые определения, например: linkexchange.Platform в linkexchange.platform.Platform, linkexchange.PageRequest в linkexchange.clients.PageRequest.


#8 Вышла версия 0.3 general 09/19/10

Чего нового в версии 0.3:

  • Поддержка сервиса Articles.sape.ru.
  • Возможность использования отдельных объектов форматирования для отдельных клиентов. К классу BaseFormatter добавлен параметр client.
  • Добавлены новые параметры strip и li_class в класс ListFormatter. Это позволяет пропускать внешний тег UL и устанавливать атрибут class для тегов LI соответственно.
  • Добавлен новый параметр strip в класс InlineFormatter. Это позволяет пропускать внешний тег DIV.
  • В класс SapeLikeClient добавлен параметр server_charset, при помощи которого можно задать кодировку файла БД на сервере когда не используется формат XML.
  • В код поддержки Trac добавлена опция конфигурационного файла filter_path_match для возможности включения/выключения фильтрации контента в зависимости от URI запроса.
  • Исправлены мелкие ошибки.

#7 Поддержка размещения статей в Sape clients 08/10/10

В trunk добавлена экспериментальная поддержка размещения статей сапы ([98]). К базовому классу клиента и к классу площадки добавлен метод handle_request(), который принимает объект запроса (PageRequest) и возвращает объект ответа (PageResponse), этот метод используется для выдачи статей и картинок в них.

Поддержка размещения статей сапы реализована отдельным клиентом SapeArticlesClient (имя точки входа sape_articles). Клиент использует сразу 4 базы данных для хранения индекса, статей, картинок, и шаблонов (параметры index_db_driver, article_db_driver, image_db_driver, templte_db_driver соответственно). Ссылки, которые возвращает этот клиент являются анонсами статей, а сами статьи и картинки к ним выдает метод handle_request().

Пример использования:

>>> import linkexchange
>>> clients = [('sape_articles', [], dict(user='user123456789',
...   index_db_driver=('shelv', [], dict(filename='sape-articles-index-XXX.db')),
...   article_db_driver=('shelv', [], dict(filename='sape-articles-article-XXX.db')),
...   image_db_driver=('shelv', [], dict(filename='sape-articles-image-XXX.db')),
...   template_db_driver=('shelv', [], dict(filename='sape-articles-template-XXX.db'))))]
>>> platform = linkexchange.Platform(clients)
>>> req = linkexchange.PageRequest(url='http://example.com/articles/123',
...   cookies=cookies_dict)
>>> resp = platform.handle_request(req)

#3 Поддержка контекстных ссылок в Sape clients 08/11/09

В trunk добавлена экспериментальная поддержка контекстных ссылок сапы ([35], [36]). К базовому классу клиента и к классу площадки добавлен метод content_filter(), который принимает объект запроса и unicode-строку, содержащую HTML для обработки, возвращает обработанный HTML. Поддержка контекстных ссылок сапы реализована отдельным клиентом SapeContextClient (имя точки входа sape_context).

Пример использования:

>>> import linkexchange
>>> clients = [('sape_context', [], dict(user = 'user123456789',
...   db_driver = ('shelv', [], dict(filename = 'sape-context-XXX.db'))))]
>>> platform = linkexchange.Platform(clients)
req = linkexchange.PageRequest(host = 'example.com', uri = '/',
...   cookies = cookies_dict)
>>> new_content = platform.content_filter(req, old_content)

Внимание! Куки нужно передать обязательно, иначе будете палиться тегами <sape_index>.


Note: See TracReports for help on using and creating reports.