Mercurial > libervia-backend
view setup.py @ 2671:0fa217fafabf
tools (common/template), jp: refactoring to handle multiple sites:
- site can now be specified in template header before theme, for instance: (some_site/some_theme)path/to/template.ext
- absolute template paths are now implemented, but Renderer must be instanciated with trusted to True for security reason (it's the case for jp)
- a new "front_url_filter" callable can be given to Renderer, which will convert template path to URL seen by end-user (default to real path).
- the "front_url_filter" can be used in templates with… "front_url" filter
- template_data is a new named tuple available in templates, which give site, theme and template relative URL
- search order is site/theme, site/default_theme, and default/default_theme where default link to sat_pubsub templates
- when loading CSS files, files with _noscript suffixes are now loaded, and used when javascript is not available
- "styles_extra.css" is also loaded before "styles.css", useful when a theme want to reuse default style, and just override some rules
- new site can be specified in sat.conf [DEFAULT] section, using sites_path_public_dict or sites_path_private_dict (where sites_path_private_dict won't be used in public frontends, like Libervia)
- "private" argument of Renderer tells the renderer to load private sites or not
- templates are now loaded from "templates" subdirectory, to differenciate them from other data like i18n
- jp template output has been updated to handle those changes, and to manage absolute templates
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 10 Sep 2018 08:58:18 +0200 |
parents | e7bfbded652a |
children | 12620b10b20a |
line wrap: on
line source
#!/usr/bin/env python2 # -*- coding: utf-8 -*- # SAT: an XMPP client # Copyright (C) 2009-2016 Jérôme Poisson (goffi@goffi.org) # Copyright (C) 2013-2016 Adrien Cossa (souliane@mailoo.org) # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from setuptools import setup, find_packages import os NAME = 'sat' install_requires = [ 'babel', 'dbus-python', 'html2text', 'jinja2', 'langid', 'lxml >= 3.1.0', 'markdown', 'miniupnpc', 'mutagen', 'netifaces', 'pillow', 'progressbar', 'pycrypto >= 2.6.1', 'pygments', 'pygobject', 'PyOpenSSL', 'python-dateutil', 'python-potr', 'pyxdg', 'sat_tmp>=0.0.3', 'service_identity', 'shortuuid', 'twisted >= 15.2.0', 'urwid >= 1.2.0', 'urwid-satext >= 0.6.1', 'wokkel >= 0.7.1', 'omemo', ] DBUS_DIR = 'dbus-1/services' DBUS_FILE = 'misc/org.salutatoi.SAT.service' with open(os.path.join(NAME, 'VERSION')) as f: VERSION = f.read().strip() is_dev_version = VERSION.endswith('D') def sat_dev_version(): """Use mercurial data to compute version""" def version_scheme(version): return VERSION.replace('D', '.dev0') def local_scheme(version): return "+{rev}.{distance}".format( rev=version.node[1:], distance=version.distance) return {'version_scheme': version_scheme, 'local_scheme': local_scheme} setup(name=NAME, version=VERSION, description=u'Salut à Toi multipurpose and multi frontend XMPP client', long_description=u'Salut à Toi (SàT) is a XMPP client based on a daemon/frontend ' u'architecture. Its multi frontend (desktop, web, console ' u'interface, CLI, etc) and multipurpose (instant messaging, ' u'microblogging, games, file sharing, etc).', author='Association « Salut à Toi »', author_email='contact@goffi.org', url='https://salut-a-toi.org', classifiers=['Development Status :: 3 - Alpha', 'Environment :: Console', 'Framework :: Twisted', 'License :: OSI Approved :: GNU Affero General Public License v3 ' 'or later (AGPLv3+)', 'Operating System :: POSIX :: Linux', 'Topic :: Communications :: Chat'], packages=find_packages() + ['twisted.plugins'], data_files=[('share/locale/fr/LC_MESSAGES', ['i18n/fr/LC_MESSAGES/sat.mo']), (os.path.join('share/doc', NAME), ['CHANGELOG', 'COPYING', 'INSTALL', 'README', 'README4TRANSLATORS']), (os.path.join('share', DBUS_DIR), [DBUS_FILE]), ], scripts=['sat_frontends/jp/jp', 'sat_frontends/primitivus/primitivus', 'bin/sat'], zip_safe=False, setup_requires=['setuptools_scm'] if is_dev_version else [], use_scm_version=sat_dev_version if is_dev_version else False, install_requires=install_requires, package_data={'sat': ['VERSION']}, python_requires='~=2.7', )