Notification time stamped 2022-08-31 23:53:51 UTC
From 44b22bc56befa9434b8fb72da648405610970afd Mon Sep 17 00:00:00 2001
From: Chris Caron <lead2gold(a)gmail.com>
Date: Mar 25 2019 23:31:21 +0000
Subject: Initial import (#1687178)
Signed-off-by: Chris Caron <lead2gold(a)gmail.com>
---
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d564025
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/apprise-0.7.4.tar.gz
diff --git a/apprise-remove-shebang-on-cli.patch b/apprise-remove-shebang-on-cli.patch
new file mode 100644
index 0000000..9f26ec3
--- /dev/null
+++ b/apprise-remove-shebang-on-cli.patch
@@ -0,0 +1,8 @@
+diff -Naur apprise-0.7.4/apprise/cli.py apprise-0.7.4-patched/apprise/cli.py
+--- apprise-0.7.4/apprise/cli.py 2019-03-10 10:52:36.000000000 -0400
++++ apprise-0.7.4-patched/apprise/cli.py 2019-03-13 19:20:31.284335462 -0400
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+ # -*- coding: utf-8 -*-
+
+ # Copyright (C) 2019 Chris Caron <lead2gold(a)gmail.com>
diff --git a/apprise-rhel7-support.patch b/apprise-rhel7-support.patch
new file mode 100644
index 0000000..38d7d60
--- /dev/null
+++ b/apprise-rhel7-support.patch
@@ -0,0 +1,36 @@
+diff -Naur apprise-0.7.4/test/test_config_http.py
apprise-0.7.4-patched/test/test_config_http.py
+--- apprise-0.7.4/test/test_config_http.py 2019-03-05 19:39:56.000000000 -0500
++++ apprise-0.7.4-patched/test/test_config_http.py 2019-03-12 18:58:01.796635838 -0400
+@@ -44,8 +44,6 @@
+ 0, 'requests.RequestException() not handled'),
+ requests.HTTPError(
+ 0, 'requests.HTTPError() not handled'),
+- requests.ReadTimeout(
+- 0, 'requests.ReadTimeout() not handled'),
+ requests.TooManyRedirects(
+ 0, 'requests.TooManyRedirects() not handled'),
+ )
+diff -Naur apprise-0.7.4/test/test_glib_plugin.py
apprise-0.7.4-patched/test/test_glib_plugin.py
+--- apprise-0.7.4/test/test_glib_plugin.py 2019-03-05 19:39:56.000000000 -0500
++++ apprise-0.7.4-patched/test/test_glib_plugin.py 2019-03-12 18:59:32.764545807 -0400
+@@ -47,7 +47,7 @@
+
+ if 'dbus' not in sys.modules:
+ # Environment doesn't allow for dbus
+- pytest.skip("Skipping dbus-python based tests", allow_module_level=True)
++ pytest.skip("Skipping dbus-python based tests")
+
+
+ @mock.patch('dbus.SessionBus')
+diff -Naur apprise-0.7.4/test/test_rest_plugins.py
apprise-0.7.4-patched/test/test_rest_plugins.py
+--- apprise-0.7.4/test/test_rest_plugins.py 2019-03-10 14:28:40.000000000 -0400
++++ apprise-0.7.4-patched/test/test_rest_plugins.py 2019-03-12 18:58:08.538542247 -0400
+@@ -51,8 +51,6 @@
+ 0, 'requests.RequestException() not handled'),
+ requests.HTTPError(
+ 0, 'requests.HTTPError() not handled'),
+- requests.ReadTimeout(
+- 0, 'requests.ReadTimeout() not handled'),
+ requests.TooManyRedirects(
+ 0, 'requests.TooManyRedirects() not handled'),
+ )
diff --git a/apprise.1 b/apprise.1
new file mode 100644
index 0000000..969579f
--- /dev/null
+++ b/apprise.1
@@ -0,0 +1,132 @@
+.\" generated with Ronn/v0.7.3
+.\"
http://github.com/rtomayko/ronn/tree/0.7.3
+.
+.TH "APPRISE" "1" "March 2019" "" ""
+.
+.SH "NAME"
+\fBapprise\fR \- Push Notifications that work with just about every platform!
+.
+.SH "SYNOPSIS"
+\fBapprise\fR [\fIoptions\fR\.\.\.] \fIservice\-url\fR\.\.\.
+.
+.br
+.
+.SH "DESCRIPTION"
+\fBApprise\fR allows you to send a notification to \fIalmost all\fR of the most popular
notification services available to us today such as: Discord, Telegram, Pushbullet, Slack,
Twitter, etc\.
+.
+.IP "\(bu" 4
+One notification library to rule them all\.
+.
+.IP "\(bu" 4
+A common and intuitive notification syntax\.
+.
+.IP "\(bu" 4
+Supports the handling of images (to the notification services that will accept them)\.
+.
+.IP "" 0
+.
+.SH "OPTIONS"
+The Apprise options are as follows:
+.
+.TP
+\fB\-b\fR, \fB\-\-body=\fR\fITEXT\fR
+Specify the message body\. If no body is specified then content is read from
\fIstdin\fR\.
+.
+.TP
+\fB\-t\fR, \fB\-\-title=\fR\fITEXT\fR
+Specify the message title\. This field is complete optional\.
+.
+.TP
+\fB\-c\fR, \fB\-\-config=\fR\fICONFIG\-URL\fR
+Specify one or more configuration locations\.
+.
+.TP
+\fB\-n\fR, \fB\-\-notification\-type=\fR\fITYPE\fR
+Specify the message type (default=info)\. Possible values are "info",
"success", "failure", and "warning"\.
+.
+.TP
+\fB\-T\fR, \fB\-\-theme=\fRTHEME
+Specify the default theme\.
+.
+.TP
+\fB\-g\fR, \fB\-\-tag=\fRTAG
+Specify one or more tags to filter which services to notify\. Use multiple \fB\-\-tag\fR
(\fB\-g\fR) entries to \fBOR\fR the tags together and comma separated to \fBAND\fR them\.
If no tags are specified then all services are notified\.
+.
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+The more of these you specify, the more verbose the output is\.
+.
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display the apprise version and exit\.
+.
+.TP
+\fB\-\-help\fR
+Show this message and exit\.
+.
+.SH "SERVICE URLS"
+There are to many service URL and combinations to list here\. It\'s best to visit the
Apprise GitHub page \fIhttps://github\.com/caronc/apprise\fR and see what\'s
available\.
+.
+.SH "EXAMPLES"
+Send a notification to as many servers as you want to specify as you can easily chain
them together:
+.
+.IP "" 4
+.
+.nf
+
+$ apprise \-t \'my title\' \-b \'my notification body\' \e
+ \'mailto://myemail:mypass@gmail\.com\' \e
+ \'pbul://o\.gn5kj6nfhv736I7jC3cj3QLRiyhgl98b\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+If you don\'t specify a \fB\-\-body\fR (\fB\-b\fR) then stdin is used allowing you to
use the tool as part of your every day administration:
+.
+.IP "" 4
+.
+.nf
+
+$ cat /proc/cpuinfo | apprise \-t \'cpu info\' \e
+ \'mailto://myemail:mypass@gmail\.com\'
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Load in a configuration file which identifies all of your notification service URLs and
notify them all:
+.
+.IP "" 4
+.
+.nf
+
+$ apprise \-t \'my title\' \-b \'my notification body\' \e
+ \-\-config=~/apprise\.yml
+.
+.fi
+.
+.IP "" 0
+.
+.P
+Load in a configuration file from a remote server that identifies all of your
notification service URLs and only notify the ones tagged as \fIdevops\fR\.
+.
+.IP "" 4
+.
+.nf
+
+$ apprise \-t \'my title\' \-b \'my notification body\' \e
+ \-\-config=https://localhost/my/apprise/config \e
+ \-t devops
+.
+.fi
+.
+.IP "" 0
+.
+.SH "BUGS"
+\fBApprise\fR is written in Python with 100% test coverage; but it still makes it far
from perfect since the notification services it talks to change all the time\. If you find
any bugs, please make them known at: \fIhttps://github\.com/caronc/apprise/issues\fR
+.
+.SH "COPYRIGHT"
+Apprise is Copyright (C) 2019 Chris Caron \fIlead2gold(a)gmail\.com\fR
diff --git a/python-apprise.spec b/python-apprise.spec
new file mode 100644
index 0000000..7320001
--- /dev/null
+++ b/python-apprise.spec
@@ -0,0 +1,270 @@
+# Copyright (C) 2019 Chris Caron <lead2gold(a)gmail.com>
+# All rights reserved.
+#
+# This code is licensed under the MIT License.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files(the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions :
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+###############################################################################
+%global pypi_name apprise
+
+%global with_python2 1
+%global with_python3 1
+
+%if 0%{?fedora} || 0%{?rhel} >= 8
+# Python v2 Support dropped
+%global with_python2 0
+%endif # fedora and/or rhel7
+
+%if 0%{?_module_build}
+%bcond_with tests
+%else
+# When bootstrapping Python, we cannot test this yet
+%bcond_without tests
+%endif # module_build
+
+%if 0%{?rhel} && 0%{?rhel} <= 7
+%global with_python3 0
+%endif # using rhel7
+
+Name: python-apprise
+Version: 0.7.4
+Release: 1%{?dist}
+Summary: A simple wrapper to many popular notification services used today
+License: MIT
+URL:
https://github.com/caronc/apprise
+Source0: %{url}/archive/v%{version}/apprise-%{version}.tar.gz
+# A simple man page to help with rpmlint. Future versions of apprise would not
+# require this entry as it will be part of the distribution going forward.
+# this man page was added as part of the Fedora review process
+Source1: apprise.1
+# this patch allows version of requests that ships with RHEL v7 to
+# correctly handle test coverage. It also removes reference to a
+# extra check not supported in py.test in EPEL7 builds
+Patch0: apprise-rhel7-support.patch
+# This patch was discovered during a public review made on this package
+# with the fedora packaging team. Rather then spin a new release, this
+# patch will allow the cli she-bang details to be set correctly; they should
+# hae never been hardcoded in the first place. This will be removed in
+# the next release
+Patch1: apprise-remove-shebang-on-cli.patch
+BuildArch: noarch
+
+%description
+Apprise is a Python package for simplifying access to all of the different
+notification services that are out there. Apprise opens the door and makes
+it easy to access:
+
+Boxcar, Discord, E-Mail, Emby, Faast, Growl, IFTTT, Join, KODI, MatterMost,
+Matrix, Notify My Android, Prowl, Pushalot, PushBullet, Pushjet, Pushover,
+Rocket.Chat, Slack, Super Toasty, Stride, Telegram, Twitter, XBMC
+
+%if 0%{?with_python2}
+%package -n python2-apprise
+Summary: A simple wrapper to many popular notification services used today
+%{?python_provide:%python_provide python2-apprise}
+
+BuildRequires: python2-devel
+BuildRequires: python-decorator
+BuildRequires: python-requests
+BuildRequires: python2-requests-oauthlib
+BuildRequires: python2-oauthlib
+BuildRequires: python-six
+BuildRequires: python2-click >= 5.0
+BuildRequires: python-markdown
+%if 0%{?rhel} && 0%{?rhel} <= 7
+BuildRequires: python-yaml
+%else
+BuildRequires: python2-yaml
+%endif # using rhel7
+
+Requires: python-decorator
+Requires: python-requests
+Requires: python2-requests-oauthlib
+Requires: python2-oauthlib
+Requires: python-six
+Requires: python-markdown
+%if 0%{?rhel} && 0%{?rhel} <= 7
+BuildRequires: python-yaml
+%else
+Requires: python2-yaml
+%endif # using rhel7
+
+%if %{with tests}
+BuildRequires: python-mock
+BuildRequires: python2-pytest-runner
+BuildRequires: python2-pytest
+
+%endif # with_tests
+
+%description -n python2-apprise
+Apprise is a Python package for simplifying access to all of the different
+notification services that are out there. Apprise opens the door and makes
+it easy to access:
+
+Boxcar, Discord, E-Mail, Emby, Faast, Growl, IFTTT, Join, KODI, MatterMost,
+Matrix, Notify My Android, Prowl, Pushalot, PushBullet, Pushjet, Pushover,
+Rocket.Chat, Slack, Super Toasty, Stride, Telegram, Twitter, XBMC
+%endif # with_python2
+
+%package -n apprise
+Summary: Apprise CLI Tool
+
+%if 0%{?with_python3}
+Requires: python%{python3_pkgversion}-click >= 5.0
+Requires: python%{python3_pkgversion}-apprise = %{version}-%{release}
+%endif # with_python3
+
+%if 0%{?with_python2}
+Requires: python2-click >= 5.0
+Requires: python2-apprise = %{version}-%{release}
+%endif # with_python2
+
+%description -n apprise
+An accompanied CLI tool that can be used as part of Apprise
+to issue notifications from the command line to you favorite
+services.
+
+%if 0%{?with_python3}
+%package -n python%{python3_pkgversion}-apprise
+Summary: A simple wrapper to many popular notification services used today
+%{?python_provide:%python_provide python%{python3_pkgversion}-apprise}
+
+BuildRequires: python%{python3_pkgversion}-devel
+BuildRequires: python%{python3_pkgversion}-decorator
+BuildRequires: python%{python3_pkgversion}-requests
+BuildRequires: python%{python3_pkgversion}-requests-oauthlib
+BuildRequires: python%{python3_pkgversion}-oauthlib
+BuildRequires: python%{python3_pkgversion}-six
+BuildRequires: python%{python3_pkgversion}-click >= 5.0
+BuildRequires: python%{python3_pkgversion}-markdown
+BuildRequires: python%{python3_pkgversion}-yaml
+Requires: python%{python3_pkgversion}-decorator
+Requires: python%{python3_pkgversion}-requests
+Requires: python%{python3_pkgversion}-requests-oauthlib
+Requires: python%{python3_pkgversion}-oauthlib
+Requires: python%{python3_pkgversion}-six
+Requires: python%{python3_pkgversion}-markdown
+Requires: python%{python3_pkgversion}-yaml
+
+%if %{with tests}
+BuildRequires: python%{python3_pkgversion}-mock
+BuildRequires: python%{python3_pkgversion}-pytest
+BuildRequires: python%{python3_pkgversion}-pytest-runner
+%endif # with_tests
+
+%description -n python%{python3_pkgversion}-apprise
+Apprise is a Python package for simplifying access to all of the different
+notification services that are out there. Apprise opens the door and makes
+it easy to access:
+
+Boxcar, Discord, E-Mail, Emby, Faast, Growl, IFTTT, Join, KODI, MatterMost,
+Matrix, Notify My Android, Prowl, Pushalot, PushBullet, Pushjet, Pushover,
+Rocket.Chat, Slack, Super Toasty, Stride, Telegram, Twitter, XBMC
+%endif # with_python3
+
+%prep
+%setup -q -n apprise-%{version}
+%if 0%{?rhel} && 0%{?rhel} <= 7
+# rhel7 older package work-arounds
+%patch0 -p1
+%endif # using rhel7
+# Remove shebang
+%patch1 -p1
+
+%build
+%if 0%{?with_python2}
+%py2_build
+%endif # with_python2
+%if 0%{?with_python3}
+%py3_build
+%endif # with_python3
+
+%install
+%if 0%{?with_python2}
+%py2_install
+%endif # with_python2
+%if 0%{?with_python3}
+%py3_install
+%endif # with_python3
+
+# Install man page
+# Future versions will look like this:
+#%{__install} -p -D -T -m 0644 packages/man/apprise.1 \
+# %{buildroot}%{_mandir}/man1/apprise.1
+#
+# For now:
+%{__install} -p -D -T -m 0644 %{SOURCE1} \
+ %{buildroot}%{_mandir}/man1/apprise.1
+
+%if %{with tests}
+%check
+%if 0%{?with_python2}
+LANG=C.UTF-8 PYTHONPATH=%{buildroot}%{python2_sitelib} py.test
+%endif # with_python2
+%if 0%{?with_python3}
+LANG=C.UTF-8 PYTHONPATH=%{buildroot}%{python3_sitelib} py.test-%{python3_version}
+%endif # with_python3
+%endif # with_tests
+
+%if 0%{?with_python2}
+%files -n python2-apprise
+%license LICENSE
+%doc README.md
+%{python2_sitelib}/apprise
+%exclude %{python2_sitelib}/apprise/cli.*
+%{python2_sitelib}/*.egg-info
+%endif # with_python2
+
+%if 0%{?with_python3}
+%files -n python%{python3_pkgversion}-apprise
+%license LICENSE
+%doc README.md
+%{python3_sitelib}/apprise
+%exclude %{python3_sitelib}/apprise/cli.*
+%{python3_sitelib}/*.egg-info
+%endif # with_python3
+
+%files -n apprise
+%{_bindir}/apprise
+%{_mandir}/man1/apprise.1*
+
+%if 0%{?with_python3}
+%{python3_sitelib}/apprise/cli.*
+%endif # with_python3
+
+%if 0%{?with_python2}
+%{python2_sitelib}/apprise/cli.*
+%endif # with_python2
+
+%changelog
+* Sun Mar 10 2019 Chris Caron <lead2gold(a)gmail.com> - 0.7.4-1
+- Updated to v0.7.4
+- Fedora review process added a man page, spec restructuring and 2 patch files
+ to accomodate some valid points brought forth. These have already been pused
+ upstream and will be removed on the next version.
+
+* Fri Feb 22 2019 Chris Caron <lead2gold(a)gmail.com> - 0.7.3-1
+- Updated to v0.7.3
+- Added Python 3 build support
+
+* Sun Sep 9 2018 Chris Caron <lead2gold(a)gmail.com> - 0.5.0-1
+- Updated to v0.5.0
+
+* Sun Mar 11 2018 Chris Caron <lead2gold(a)gmail.com> - 0.0.8-1
+- Initial Release
diff --git a/sources b/sources
new file mode 100644
index 0000000..32e1105
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (apprise-0.7.4.tar.gz) =
aeb15d24e9952c6d17684999f78887ac26cee038ac7e21821b52df72fc9d7ed069886b386307de443479ddf3c11b1873c6f644f7bb6e91bea44723484a70ecd8
https://src.fedoraproject.org/rpms/python-apprise/c/44b22bc56befa9434b8fb...