Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-HyperKitty for openSUSE:Factory checked in at 2023-11-06 21:13:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-HyperKitty (Old) and /work/SRC/openSUSE:Factory/.python-HyperKitty.new.17445 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-HyperKitty" Mon Nov 6 21:13:48 2023 rev:23 rq:1123589 version:1.3.8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-HyperKitty/python-HyperKitty.changes 2023-10-06 21:16:33.844452361 +0200 +++ /work/SRC/openSUSE:Factory/.python-HyperKitty.new.17445/python-HyperKitty.changes 2023-11-06 21:13:56.526522063 +0100 @@ -1,0 +2,45 @@ +Mon Nov 6 12:05:07 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- forgot to use 2 defined variables: + %{django_haystack_min_version} + %{django_extensions_min_version} + +------------------------------------------------------------------- +Mon Nov 6 11:47:26 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- make it easy to run a build without testsuite + osc build --without=testsuite + +------------------------------------------------------------------- +Mon Nov 6 01:20:05 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- ensure that we can create the user and group + +------------------------------------------------------------------- +Mon Nov 6 01:10:25 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- make user and group creation verbose so we actually see errors + +------------------------------------------------------------------- +Mon Nov 6 00:05:35 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- make it easier to notice to keep buildrequires and runtime + requires version limits in sync. This will also help us to notice + early when the version of other libraries do not match the + requires encoded in the source code. + +------------------------------------------------------------------- +Sun Nov 5 23:32:56 UTC 2023 - Marcus Rueckert <mrueck...@suse.de> + +- refresh gl-mr300-add-opengraph-metadata.patch for version update + +------------------------------------------------------------------- +Thu Nov 2 09:27:37 UTC 2023 - Andreas Schneider <a...@cryptomilk.org> + +- Update to version 1.3.8 + * See https://gitlab.com/mailman/hyperkitty/-/blob/v1.3.8/doc/news.rst + or the file news.ret included in this package +- Removed fix-elasticsearch8.patch +- Updated mistune3.patch + +------------------------------------------------------------------- @@ -4,0 +50,8 @@ + +------------------------------------------------------------------- +Sun Jul 30 03:50:42 UTC 2023 - Georg Pfuetzenreuter <georg.pfuetzenreu...@suse.com> + +- Add upstream patch gl-mr300-add-opengraph-metadata.patch: + * Add OpenGraph Metadata (https://gitlab.com/mailman/hyperkitty/-/merge_requests/300) +- Add upstream patch gl-mr470-introduce-feed-filtering.patch: + * Introduce feed filtering (https://gitlab.com/mailman/hyperkitty/-/merge_requests/470) Old: ---- HyperKitty-1.3.7.tar.gz fix-elasticsearch8.patch New: ---- HyperKitty-1.3.8.tar.gz gl-mr300-add-opengraph-metadata.patch gl-mr470-introduce-feed-filtering.patch BETA DEBUG BEGIN: Old: or the file news.ret included in this package - Removed fix-elasticsearch8.patch - Updated mistune3.patch BETA DEBUG END: BETA DEBUG BEGIN: New: - refresh gl-mr300-add-opengraph-metadata.patch for version update New: * Add OpenGraph Metadata (https://gitlab.com/mailman/hyperkitty/-/merge_requests/300) - Add upstream patch gl-mr470-introduce-feed-filtering.patch: * Introduce feed filtering (https://gitlab.com/mailman/hyperkitty/-/merge_requests/470) BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-HyperKitty.spec ++++++ --- /var/tmp/diff_new_pack.VJag3Y/_old 2023-11-06 21:13:57.418554899 +0100 +++ /var/tmp/diff_new_pack.VJag3Y/_new 2023-11-06 21:13:57.418554899 +0100 @@ -15,6 +15,26 @@ # Please submit bugfixes or comments via https://bugs.opensuse.org/ # +%bcond_without testsuite + +# keep in sync with setup.py +%global django_min_version 3.2 +%global django_max_version 4.3 +%global django_mailman3_min_version 1.3.10 +%global django_gravatar2_min_version 1.0.6 +%global djangorestframework_min_version 3.0.0 +%global robot_detection_min_version 0.3 +%global pytz_min_version 2012 +%global django_compressor_min_version 1.3 +%global mailmanclient_min_version 3.3.3 +# original this was >= 2.0.0, < 3.0 but overwritten by mistune3.patch +%global mistune_min_version 3.0 +%global python_dateutil_min_version 2.0 +%global networkx_min_version 2.0 +%global django_haystack_min_version 2.8.0 +%global django_extensions_min_version 1.3.7 +%global flufl_lock_min_version 4.0 +%global django_q_min_version 1.0.0 %{?sle15_python_module_pythons} %global webapps_dir /srv/www/webapps @@ -32,6 +52,7 @@ %global hyperkitty_services hyperkitty-qcluster.service hyperkitty-runjob-daily.service hyperkitty-runjob-daily.timer hyperkitty-runjob-hourly.service hyperkitty-runjob-hourly.timer hyperkitty-runjob-minutely.service hyperkitty-runjob-minutely.timer hyperkitty-runjob-monthly.service hyperkitty-runjob-monthly.timer hyperkitty-runjob-quarter-hourly.service hyperkitty-runjob-quarter-hourly.timer hyperkitty-runjob-weekly.service hyperkitty-runjob-weekly.timer hyperkitty-runjob-yearly.service hyperkitty-runjob-yearly.timer +# keep in sync with python-mailman-web/python-postorious %if 0%{?suse_version} >= 1550 # Newest python supported by mailman is Python 3.11 %define pythons python311 @@ -47,7 +68,7 @@ %endif Name: python-HyperKitty -Version: 1.3.7 +Version: 1.3.8 Release: 0 Summary: A web interface to access GNU Mailman v3 archives License: GPL-3.0-only @@ -68,20 +89,23 @@ # PATCH-FIX-OPENSUSE hyperkitty-settings.patch mc...@suse.com # hard-code locations of configuration files Patch0: hyperkitty-settings.patch -# PATCH-FIX-UPSTREAM fix-elasticsearch8.patch gl#mailman/hyperkitty#468 -Patch1: fix-elasticsearch8.patch # PATCH-FIX-UPSTREAM mistune3.patch gl#mailman/hyperkitty#541 Patch2: mistune3.patch # -BuildRequires: %{python_module django-compressor >= 1.3} +# PATCH-FIX-UPSTREAM gl-mr300-add-opengraph-metadata.patch gl#mailman/hyperkitty#300 +Patch98: gl-mr300-add-opengraph-metadata.patch +# PATCH-FIX-UPSTREAM gl-mr470-introduce-feed-filtering.patch gl#mailman/hyperkitty#470 +Patch99: gl-mr470-introduce-feed-filtering.patch +# +BuildRequires: %{python_module Django >= %{django_min_version} with %python-Django < %{django_max_version}} +BuildRequires: %{python_module django-compressor >= %{django_compressor_min_version}} BuildRequires: %{python_module Whoosh} BuildRequires: %{python_module django-debug-toolbar >= 2.2} -BuildRequires: %{python_module django-extensions >= 1.3.7} -BuildRequires: %{python_module django-gravatar2 >= 1.0.6} +BuildRequires: %{python_module django-extensions >= %{django_extensions_min_version}} +BuildRequires: %{python_module django-gravatar2 >= %{django_gravatar2_min_version}} BuildRequires: %{python_module isort} -BuildRequires: %{python_module libsass} -BuildRequires: %{python_module mailmanclient >= 3.3.2} -BuildRequires: %{python_module mistune >= 2.0} +BuildRequires: %{python_module mailmanclient >= %{mailmanclient_min_version}} +BuildRequires: %{python_module mistune >= %{mistune_min_version}} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module xapian-haystack >= 2.1.0} BuildRequires: acl @@ -97,23 +121,22 @@ BuildRequires: python3-packaging %endif # SECTION test requirements -BuildRequires: %{python_module Django >= 1.11} BuildRequires: %{python_module Whoosh >= 2.5.7} BuildRequires: %{python_module beautifulsoup4 >= 4.3.2} -BuildRequires: %{python_module django-haystack >= 2.8.0} -BuildRequires: %{python_module django-mailman3 >= 1.3.8} -BuildRequires: %{python_module django-q >= 1.3.9} -BuildRequires: %{python_module djangorestframework >= 3.0.0} +BuildRequires: %{python_module django-haystack >= %{django_haystack_min_version}} +BuildRequires: %{python_module django-mailman3 >= %{django_mailman3_min_version}} +BuildRequires: %{python_module django-q >= %{django_q_min_version}} +BuildRequires: %{python_module djangorestframework >= %{djangorestframework_min_version}} BuildRequires: %{python_module elasticsearch} -BuildRequires: %{python_module flufl.lock} +BuildRequires: %{python_module flufl.lock >= %{flufl_lock_min_version}} BuildRequires: %{python_module lxml} -BuildRequires: %{python_module mistune} -BuildRequires: %{python_module networkx >= 1.9.1} +BuildRequires: %{python_module mistune >= %{mistune_min_version}} +BuildRequires: %{python_module networkx >= %{networkx_min_version}} BuildRequires: %{python_module pytest-django} BuildRequires: %{python_module pytest} -BuildRequires: %{python_module python-dateutil >= 2.0} -BuildRequires: %{python_module pytz >= 2012} -BuildRequires: %{python_module robot-detection >= 0.3} +BuildRequires: %{python_module python-dateutil >= %{python_dateutil_min_version}} +BuildRequires: %{python_module pytz >= %{pytz_min_version}} +BuildRequires: %{python_module robot-detection >= %{robot_detection_min_version}} # /SECTION %description @@ -121,25 +144,24 @@ %package -n %{hyperkitty_pkgname} Summary: A web interface to access GNU Mailman v3 archives -Requires: %{mypython}-Django >= 1.11 -Requires: %{mypython}-Whoosh -Requires: %{mypython}-django-compressor >= 1.3 +# important sync with +Requires: (%{mypython}-Django >= %{django_min_version} with %{mypython}-Django < %{django_max_version}) +Requires: %{mypython}-django-compressor >= %{django_compressor_min_version} Requires: %{mypython}-django-debug-toolbar >= 2.2 -Requires: %{mypython}-django-extensions >= 1.3.7 -Requires: %{mypython}-django-gravatar2 >= 1.0.6 +Requires: %{mypython}-django-extensions >= %{django_extensions_min_version} +Requires: %{mypython}-django-gravatar2 >= %{django_gravatar2_min_version} Requires: %{mypython}-django-haystack >= 2.8.0 -Requires: %{mypython}-django-mailman3 >= 1.3.7 -Requires: %{mypython}-django-q >= 1.3.9 -Requires: %{mypython}-djangorestframework >= 3.0.0 -Requires: %{mypython}-flufl.lock -Requires: %{mypython}-libsass -Requires: %{mypython}-mailmanclient >= 3.3.2 -Requires: %{mypython}-mistune -Requires: %{mypython}-networkx >= 1.9.1 -Requires: %{mypython}-python-dateutil >= 2.0 -Requires: %{mypython}-pytz >= 2012 -Requires: %{mypython}-robot-detection >= 0.3 -Requires: %{mypython}-xapian-haystack >= 2.1.0 +Requires: %{mypython}-django-mailman3 >= %{django_mailman3_min_version} +Requires: %{mypython}-django-q >= %{django_q_min_version} +Requires: %{mypython}-djangorestframework >= %{djangorestframework_min_version} +Requires: %{mypython}-flufl.lock >= %{flufl_lock_min_version} +Requires: %{mypython}-mailmanclient >= %{mailmanclient_min_version} +Requires: %{mypython}-mistune >= %{mistune_min_version} +Requires: %{mypython}-networkx >= %{networkx_min_version} +Requires: %{mypython}-python-dateutil >= %{python_dateutil_min_version} +Requires: %{mypython}-pytz >= %{pytz_min_version} +Requires: %{mypython}-robot-detection >= %{robot_detection_min_version} +Requires: %{mypython}-xapian-haystack >= %{django_haystack_min_version} %if "%{expand:%%%{mypython}_provides}" == "python3" Provides: python3-%{hyperkitty_pkgname} = %{version}-%{release} %endif @@ -159,6 +181,8 @@ Requires: acl Requires: openssl Requires: sudo +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd %description -n %{hyperkitty_pkgname}-web A web user interface for GNU Mailman. @@ -291,14 +315,16 @@ sed -i "s#@HYPERKITTY_RUNJOB@#${hyperkitty_runjob_name}#g" %{buildroot}%{_unitdir}/hyperkitty-runjob-${job}.timer done +%if %{with testuite} %check export PYTHONPATH="$(pwd)" export LANG=C.UTF-8 %pytest +%endif %pre -n %{hyperkitty_pkgname}-web -/usr/sbin/groupadd -r hyperkitty &>/dev/null || : -/usr/sbin/useradd -g hyperkitty -s /bin/false -r -c "HyperKitty" -d %{hyperkitty_basedir} hyperkitty &>/dev/null || : +/usr/sbin/groupadd -r hyperkitty || : +/usr/sbin/useradd -g hyperkitty -s /bin/false -r -c "HyperKitty" -d %{hyperkitty_basedir} hyperkitty || : %service_add_pre %{hyperkitty_services} ++++++ HyperKitty-1.3.7.tar.gz -> HyperKitty-1.3.8.tar.gz ++++++ ++++ 148886 lines of diff (skipped) ++++++ gl-mr300-add-opengraph-metadata.patch ++++++ # Rewritten from upstream .patch to avoid fuzzing Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/base.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/base.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/base.html @@ -24,6 +24,11 @@ {% block additional_stylesheets %} {% endblock %} {% block head_feed %}{% endblock %} {% include 'hyperkitty/headers.html' %} + <meta property="og:site_name" content="{{ site_name }}"> + {% block additional_og %}{% endblock %} + <meta property="og:url" content="{{ request.get_full_path }}"> + <meta name="twitter:card" content="summary"> + <meta name="twitter:url" content="{{ request.get_full_path }}"> </head> <body> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/errors/notimplemented.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/errors/notimplemented.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/errors/notimplemented.html @@ -7,6 +7,11 @@ {% trans "Not implemented yet" %} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Not implemented yet" %}"> +<meta name="twitter:title" content="{% trans "Not implemented yet" %}"> +{% endblock %} + {% block content %} <h1>{% trans "Not implemented" %}</h1> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/errors/private.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/errors/private.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/errors/private.html @@ -7,6 +7,11 @@ {% trans "Error: private list" %} - {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Error: private list" %} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:title" content="{% trans "Error: private list" %} - {{ mlist.display_name|default:mlist.name }}"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/index.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/index.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/index.html @@ -9,6 +9,11 @@ {% trans 'Available lists' %} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans 'Available lists' %}"> +<meta name="twitter:title" content="{% trans 'Available lists' %}"> +{% endblock %} + {% block content %} <div class="all-lists"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/message.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/message.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/message.html @@ -1,12 +1,29 @@ {% extends "hyperkitty/base.html" %} {% load i18n %} {% load hk_generic %} +{% load gravatar %} {% block head_title %} {{ message.subject }} - {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{{ message.subject }} - {{ mlist.display_name|default:mlist.name }}"> +<meta property="og:type" content="article"> +<meta property="og:image" content="{% gravatar_url message.sender.address 200 %}"> +<meta property="og:description" content="{{ message.content|escapeemail|truncatechars:199 }}â¦"> +<meta property="og:article:author" content="{{ message.sender_name|default:message.sender.address|escapeemail }}"> +<meta property="og:article:published_time" content="{{ message.date|date:'c' }}"> +<meta property="og:article:section" content="{{ mlist.display_name|default:mlist.name }}"> +{% for tag in message.thread.tags.distinct %} +<meta property="og:article:tag" content="{{ tag.name }}"> +{% endfor %} +<meta name="twitter:title" content="{{ message.subject }} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:description" content="{{ message.content|escapeemail|truncatechars:199 }}â¦"> +<meta name="twitter:image" content="{% gravatar_url message.sender.address 200 %}"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/message_new.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/message_new.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/message_new.html @@ -8,6 +8,11 @@ {% trans "Create a new thread" %} - {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Create a new thread" %} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:title" content="{% trans "Create a new thread" %} - {{ mlist.display_name|default:mlist.name }}"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/overview.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/overview.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/overview.html @@ -4,6 +4,13 @@ {% load static %} {% load cache %} +{% block additional_og %} +<meta property="og:title" content="{{ mlist.display_name|default:mlist.name }}"> +<meta property="og:description" content="{{ mlist.description|default_if_none:''|truncatechars:199 }}â¦"> +<meta name="twitter:title" content="{{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:description" content="{{ mlist.description|default_if_none:''|truncatechars:199 }}â¦"> +{% endblock %} + {% block head_title %} {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/reattach.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/reattach.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/reattach.html @@ -9,6 +9,11 @@ {% trans "Reattach a thread" %} - {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Reattach a thread" %} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:title" content="{% trans "Reattach a thread" %} - {{ mlist.display_name|default:mlist.name }}"> +{% endblock %} + {% block content %} <div class="row reattach-thread"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/search_results.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/search_results.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/search_results.html @@ -8,6 +8,11 @@ {% trans "Search results for" %} "{{ query }}"{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Search results for" %} "{{ query }}"{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %}"> +<meta name="twitter:title" content="{% trans "Search results for" %} "{{ query }}"{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %}"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/thread.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/thread.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/thread.html @@ -3,12 +3,29 @@ {% load i18n %} {% load hk_generic %} {% load static %} +{% load gravatar %} {% block head_title %} {{ subject }} - {{ mlist.display_name|default:mlist.name }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{{ subject }} - {{ mlist.display_name|default:mlist.name }}"> +<meta property="og:type" content="article"> +<meta property="og:image" content="{% gravatar_url starting_email.sender.address 200 %}"> +<meta property="og:description" content="{{ starting_email.content|escapeemail|truncatechars:199 }}â¦"> +<meta property="og:article:author" content="{{ starting_email.sender_name|default:starting_email.sender.address|escapeemail }}"> +<meta property="og:article:published_time" content="{{ starting_email.date|date:'c' }}"> +<meta property="og:article:section" content="{{ mlist.display_name|default:mlist.name }}"> +{% for tag in thread.tags.distinct %} +<meta property="og:article:tag" content="{{ tag.name }}"> +{% endfor %} +<meta name="twitter:title" content="{{ subject }} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:description" content="{{ starting_email.content|escapeemail|truncatechars:199 }}â¦"> +<meta name="twitter:image" content="{% gravatar_url starting_email.sender.address 200 %}"> +{% endblock %} + {% block content %} <div class="row view-thread d-flex"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/thread_list.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/thread_list.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/thread_list.html @@ -13,6 +13,13 @@ <link rel="alternate" type="application/rss+xml" title="{{ mlist.display_name }}" href="{% url 'hk_list_feed' mlist_fqdn=mlist.name %}"/> {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{{ list_title }} - {{ mlist.display_name|default:mlist.name }}"> +<meta property="og:description" content="{{ mlist.description|default_if_none:''|truncatechars:199 }}â¦"> +<meta name="twitter:title" content="{{ list_title }} - {{ mlist.display_name|default:mlist.name }}"> +<meta name="twitter:description" content="{{ mlist.description|default_if_none:''|truncatechars:199 }}â¦"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_posts.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/user_posts.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_posts.html @@ -8,6 +8,11 @@ {% trans "Messages by" %} {{ fullname }}{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "Messages by" %} {{ fullname }}{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %}"> +<meta name="twitter:title" content="{% trans "Messages by" %} {{ fullname }}{% if mlist %} - {{ mlist.display_name|default:mlist.name }} {% endif %}"> +{% endblock %} + {% block content %} <div class="row"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_profile/base.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/user_profile/base.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_profile/base.html @@ -5,6 +5,11 @@ {% trans "User posting activity" %} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans "User posting activity" %}"> +<meta name="twitter:title" content="{% trans "User posting activity" %}"> +{% endblock %} + {% block content %} <div class="user-profile"> Index: HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_public_profile.html =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/templates/hyperkitty/user_public_profile.html +++ HyperKitty-1.3.8/hyperkitty/templates/hyperkitty/user_public_profile.html @@ -1,12 +1,20 @@ {% extends "hyperkitty/base.html" %} {% load i18n %} {% load hk_generic %} +{% load gravatar %} {% block head_title %} {% trans 'User Profile' %} {% trans "for" %} {{ fullname }} - {{ block.super }} {% endblock %} +{% block additional_og %} +<meta property="og:title" content="{% trans 'User Profile' %} {% trans "for" %} {{ fullname }}"> +<meta property="og:image" content="{% gravatar_url addresses.0 200 %}"> +<meta name="twitter:title" content="{% trans 'User Profile' %} {% trans "for" %} {{ fullname }}"> +<meta name="twitter:image" content="{% gravatar_url addresses.0 200 %}"> +{% endblock %} + {% block content %} <div class="user-profile user-public-profile"> Index: HyperKitty-1.3.8/hyperkitty/tests/views/test_accounts.py =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/tests/views/test_accounts.py +++ HyperKitty-1.3.8/hyperkitty/tests/views/test_accounts.py @@ -197,7 +197,7 @@ class AccountViewsTestCase(TestCase): "?list=l...@example.com") self.assertEqual(response.status_code, 200) self.assertContains(response, "Dummy content", count=1, html=False) - self.assertContains(response, "Dummy Sender", count=5, html=False) + self.assertContains(response, "Dummy Sender", count=7, html=False) self.assertContains( response, '<a name="{}" href="{}">Dummy message</a>'.format( Index: HyperKitty-1.3.8/hyperkitty/tests/views/test_message.py =================================================================== --- HyperKitty-1.3.8.orig/hyperkitty/tests/views/test_message.py +++ HyperKitty-1.3.8/hyperkitty/tests/views/test_message.py @@ -124,8 +124,8 @@ class MessageViewsTestCase(TestCase): response = self.client.get(url) self.assertEqual(response.status_code, 200) self.assertContains(response, "Dummy message") - self.assertContains(response, "Dummy Sender", count=1) - self.assertContains(response, "Dummy Subject", count=2) + self.assertContains(response, "Dummy Sender", count=2) + self.assertContains(response, "Dummy Subject", count=4) self.assertNotContains(response, "du...@example.com") self.assertContains( response, ++++++ gl-mr470-introduce-feed-filtering.patch ++++++ diff --git a/hyperkitty/feed.py b/hyperkitty/feed.py index 8242662c2158be7b34527cf933565588892ce25f..a9bd9ae546aa51f717b07b6c270b769e9e8c775f 100644 --- a/hyperkitty/feed.py +++ b/hyperkitty/feed.py @@ -16,7 +16,7 @@ # You should have received a copy of the GNU General Public License along with # HyperKitty. If not, see <http://www.gnu.org/licenses/>. # -# Author: Stasiek Michalski <stas...@michalski.cc> +# Author: Jacob Michalskie <ja...@michalskie.cc> # import re @@ -43,20 +43,32 @@ def sanitize(x): class MailingListFeed(Feed): def get_object(self, request, mlist_fqdn): - return get_object_or_404(MailingList, name=mlist_fqdn) + return {'mlist': get_object_or_404(MailingList, name=mlist_fqdn), + 'params': request.GET} def title(self, obj): - return sanitize(obj.display_name) + return sanitize(obj['mlist'].display_name) def link(self, obj): - return reverse("hk_list_overview", kwargs={"mlist_fqdn": obj.name}) + return reverse("hk_list_overview", + kwargs={"mlist_fqdn": obj['mlist'].name}) def description(self, obj): - return sanitize(obj.description) + return sanitize(obj['mlist'].description) def items(self, obj): len = getattr(settings, 'HYPERKITTY_MLIST_FEED_LENGTH', 30) - return Email.objects.filter(mailinglist=obj).order_by('-date')[:len] + emails = Email.objects.filter(mailinglist=obj['mlist']) + if 'subject' in obj['params']: + emails = emails.filter(subject__regex=obj['params']['subject']) + if 'sender' in obj['params']: + emails = emails.filter(sender_name__regex=obj['params']['email']) + if 'threads' in obj['params']: + emails = emails.filter(thread_depth=0) + if 'limit' in obj['params']: + if int(obj['params']['limit']) < len: + len = int(obj['params']['limit']) + return emails.order_by('-date')[:len] def item_title(self, item): return sanitize(item.subject) ++++++ mistune3.patch ++++++ ++++ 616 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/python-HyperKitty/mistune3.patch ++++ and /work/SRC/openSUSE:Factory/.python-HyperKitty.new.17445/mistune3.patch