XHPy

Скриншот программы:
XHPy
Детали программы:
Версия: 0.83
Дата загрузки: 20 Feb 15
Разработчик: Evan Stratford
Тип распространения: Бесплатная
Популярность: 0

Rating: 3.0/5 (Total Votes: 1)

XHPy расширяет синтаксис Python, так что XML фрагменты стать допустимыми выражениями Python.
Преимущества
& NBSP; * Простота: написать логику пользовательского интерфейса в простом, выразительный синтаксис без необходимости использования внешних шаблонов или языков шаблонов.
& NBSP; * Гибкость: Использование Python выражения свободно в пределах XHPy тегов, и наоборот.
& NBSP; * Безопасность: выгода от автоматического экранирования текста в XHPy тегов.
& NBSP; * Повторное использование: строительство многократно используемых компонентов с помощью подклассов: X: элемент.
Пример
В bar.py:
от xhpy.init register_xhpy_module импорта
register_xhpy_module ('Foo')
импорт Foo
В foo.py:
от xhpy.pylib импорта *
класс: UI: Foo (: х: элемент):
& NBSP; список атрибутов бар
& NBSP; категория% потока
& NBSP; Def оказывать (само):
& NBSP; а =


    & NBSP; для б в self.getAttribute ('бар'):
    & NBSP; a.appendChild (
  • {B}
  • )
    & NBSP; возвращать
    печать
    <щ: Foo бар = {диапазон (3)} />

    Теперь мы можем запустить bar.py как обычный сценарий Python:
    $ Питона bar.py
    • 0
    • 1
    • 2

    Поздравления! Вы только что написали свой первый фрагмент XHPy.
    Синтаксис
    XHPy добавляет новый синтаксис для Python. Линия по линии времени воспроизведения!
    от xhpy.init register_xhpy_module импорта
    Это инициализирует XHPy и позволяет регистрировать модули можно интерпретировать как XHPy.
    register_xhpy_module ('Foo')
    Теперь модуль Foo в foo.py будет интерпретироваться как XHPy при импорте. Если Foo был пакет, все его подмодулей также будет зарегистрирован; это полезно для регистрации библиотеки пользовательского интерфейса.
    импорт Foo
    Чтобы использовать XHPy, однако, вы, вероятно, хотите, основную библиотеку:
    от xhpy.pylib импорта *
    Теперь у вас есть доступ ко всем элементам HTML стандартных 4.0: х: элементная база класса (это то, что вы строите пользовательские компоненты на вершине!), И некоторые утилиты.
    класс: UI: Foo (: х: элемент):
    Создание новых компонентов просто: подкласс: х: элемент. Для Вашего класс компонента должны быть зарегистрированы, он должен начать с: - это ясно отличает ваши компоненты от обычных классов Python.
    Список атрибутов бар
    Это объявление атрибута, это означает, что: UI: Foo позволяет бар атрибуты <интерфейс: Foo> тегов. Обратите внимание
    <Щ: Foo бар = {диапазон (3)} />
    позже - как XHP, XHPy использует синтаксис атрибута XML.
    Категория% потока
    Это заявление категория - интерфейса пользователя: Foo является частью категории% потока. Категории, в первую очередь полезны в качестве способа выявления элементов, которые похожи без использования наследования; например, <а> в pylib.html имеет
    дети (PCDATA |% потока) *
    о том, что его дети должны содержать либо текст или быть категории% потока. (Так мы можем поставить <интерфейс: Foo>! Внутри <а>)
    Def оказывать (само):
    При печати: X: элемент (или позвоните ул на нем), визуализации () вызывается метод; это где вы положили логику пользовательского интерфейса.
    а =

      для Ь в self.getAttribute ('бар'):
      & NBSP; a.appendChild (
    • {B}
    • )
      возвращать
      Здесь <щ: Foo> тонкая обертка вокруг
        , что позволяет построить неупорядоченный список из списка Python. Стандартные элементы, такие как HTML
          и
        • автоматически преобразуются - кроме того, что, в XHPy, вы можете использовать выражения Python внутри тегов, так что
          {B}
          заменяется значением б. Обратите внимание на использование GetAttribute () и AppendChild ():
          self.getAttribute ('бар')
          извлекает значение атрибута бар (в данном случае, диапазон (3)), в то время как
          a.appendChild (
        • {B}
        • )
          добавляет
        • {B}
        • в детстве а =
            .
            XHPy в значительной степени основаны от XHP; для более подробной информации о последних см `XHP вики & NBSP; * нет запятой;
            & NBSP; * имена классов XHPy может быть использован в любом месте в обычные классы Python может;
            & NBSP; * XHPy теги игнорировать внутреннюю пробелы, но должны подчиняться внешне отступов и линия продолжения правила.
            Подробнее о последнем пункте:
            Def Foo (HREF):
            & NBSP; возврат <а HREF = {} HREF>
            Def бар (HREF):
            & NBSP; вернуться \
            & NBSP; <а HREF = {} HREF>
            действительны, то
            Def Foo (HREF):
            & NBSP; вернуться \
            & NBSP; <а HREF = {} HREF>
            & NBSP;
            не является, как он вводит дополнительный dedent после .
            Как это работает
            Когда ты
            импорт xhpy.init
            XHPy устанавливает крюк на импорт. Этот хук ловушки последующие операторы импорта, проведя их через препроцессор, который анализирует супернабор Python. Это препроцессор преобразует XHPy теги и имена классов с действующим Python, затем выполняет перевод код в модуле рамки.
            Это похоже на то, как работает XHP, за исключением:
            & NBSP; * с, например, pythonenv, вы всегда можете использовать XHPy даже без доступа к каталогам установки Python пакет общесистемных;
            . & NBSP; * по умолчанию, Python компилирует байт-.pyc файлы из модулей, так что предварительная обработка требуется только сделать один раз, когда модуль впервые завезены

            Требования

            • Python

Комментарии к XHPy

Комментарии не найдены
добавить комментарий
Включите картинки!