summaryrefslogtreecommitdiff
path: root/python-ckanext-comments.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 09:43:12 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 09:43:12 +0000
commit119364998591e84a9343bd4a4a1ae901d661d905 (patch)
treea3580f99dbc72a092e79a5e4cfa6a6ddf03dee94 /python-ckanext-comments.spec
parente42434ab0593a9c5676e899fa88db72045d749e9 (diff)
automatic import of python-ckanext-commentsopeneuler20.03
Diffstat (limited to 'python-ckanext-comments.spec')
-rw-r--r--python-ckanext-comments.spec587
1 files changed, 587 insertions, 0 deletions
diff --git a/python-ckanext-comments.spec b/python-ckanext-comments.spec
new file mode 100644
index 0000000..4505b7e
--- /dev/null
+++ b/python-ckanext-comments.spec
@@ -0,0 +1,587 @@
+%global _empty_manifest_terminate_build 0
+Name: python-ckanext-comments
+Version: 0.3.0
+Release: 1
+Summary: please add a summary manually as the author left a blank one
+License: AGPL
+URL: https://github.com/DataShades/ckanext-comments
+Source0: https://mirrors.aliyun.com/pypi/web/packages/47/c9/16f36284f199dd745d833312fa885f74fe58840096544e4d85107f83bc07/ckanext-comments-0.3.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-blinker
+Requires: python3-typing-extensions
+
+%description
+[![Tests](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml/badge.svg)](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml)
+
+# ckanext-comments
+
+Add comment-trees to CKAN pages.
+
+This plugins provides comment threads linked to any of the main CKAN entities:
+
+* datasets
+* resources
+* groups
+* organizations
+* users.
+
+All the features are API-first, so anything you can do via UI, can be done via API.
+
+No changes to the WebUI are done by default. One have to include a snippet into
+Jinja2 template in order to show the comments on a page.
+```jinja2
+{# subject_type := package | group | resource | user #}
+{% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+```
+
+:info: For the datasets it also can be achieved by enabling
+`ckanext.comments.enable_default_dataset_comments` option.
+
+## Requirements
+
+* python >= 3.7
+* CKAN >= 2.9
+
+## Installation
+
+To install ckanext-comments:
+
+1. Install python package
+ ```sh
+ pip install ckanext-comments
+ ```
+
+1. Add `comments` to the `ckan.plugins` setting in your CKAN
+ config file
+
+1. Apply database migrations
+ ```sh
+ ckan db upgrade -p comments
+ ```
+
+1. Add `cooments/snippets/thread.html` to your `package/read.html` template, like this:
+ ```jinja2
+ {% ckan_extends %}
+
+ {% block primary_content_inner %}
+ {{ super() }}
+ {% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+ {% endblock primary_content_inner %}
+ ```
+
+## Config settings
+```ini
+
+# Require comment approval in order to make it visible
+# (optional, default: true).
+ckanext.comments.require_approval = false
+
+# Editor(admin) can edit draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits = true
+
+# Author can edit own draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits_by_author = false
+
+# Editor(admin) can edit approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits = false
+
+# Author can edit own approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits_by_author = false
+
+# Number of reply levels that are shown on mobile layout
+# (optional, default: 3).
+ckanext.comments.mobile_depth_threshold = 3
+
+# Include default thread implementation on the dataset page
+# (optional, default: false).
+ckanext.comments.enable_default_dataset_comments = true
+
+# Register custom getter for a subject by providing a path to a function
+# ckanext.comments.subject.{self.subject_type}_getter = path
+# The function must accept an ID and return a model object
+ckanext.comments.subject.question_getter = ckanext.msf_ask_question.model.question_getter
+```
+
+
+
+## API
+
+### `comments_thread_create`
+Create a thread for the subject.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+
+### `comments_thread_show`
+Show the subject's thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* init_missing(bool, optional): return an empty thread instead of 404
+* include_comments(bool, optional): show comments from the thread
+* include_author(bool, optional): show authors of the comments
+* combine_comments(bool, optional): combine comments into a tree-structure
+* after_date(str:ISO date, optional): show comments only since the given date
+
+### `comments_thread_delete`
+Delete the thread.
+
+Args:
+* id(str): ID of the thread
+
+### `comments_comment_create`
+Add a comment to the thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* content(str): comment's message
+* reply_to_id(str, optional): reply to the existing comment
+* create_thread(bool, optional): create a new thread if it doesn't exist yet
+
+### `comments_comment_show`
+Show the details of the comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_approve`
+Approve draft comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_delete`
+Remove existing comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_update`
+Update existing comment
+
+Args:
+* id(str): ID of the comment
+* content(str): comment's message
+
+
+## Tests
+
+To run the tests, do:
+```sh
+pytest
+```
+
+
+## License
+
+[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
+
+
+%package -n python3-ckanext-comments
+Summary: please add a summary manually as the author left a blank one
+Provides: python-ckanext-comments
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-ckanext-comments
+[![Tests](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml/badge.svg)](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml)
+
+# ckanext-comments
+
+Add comment-trees to CKAN pages.
+
+This plugins provides comment threads linked to any of the main CKAN entities:
+
+* datasets
+* resources
+* groups
+* organizations
+* users.
+
+All the features are API-first, so anything you can do via UI, can be done via API.
+
+No changes to the WebUI are done by default. One have to include a snippet into
+Jinja2 template in order to show the comments on a page.
+```jinja2
+{# subject_type := package | group | resource | user #}
+{% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+```
+
+:info: For the datasets it also can be achieved by enabling
+`ckanext.comments.enable_default_dataset_comments` option.
+
+## Requirements
+
+* python >= 3.7
+* CKAN >= 2.9
+
+## Installation
+
+To install ckanext-comments:
+
+1. Install python package
+ ```sh
+ pip install ckanext-comments
+ ```
+
+1. Add `comments` to the `ckan.plugins` setting in your CKAN
+ config file
+
+1. Apply database migrations
+ ```sh
+ ckan db upgrade -p comments
+ ```
+
+1. Add `cooments/snippets/thread.html` to your `package/read.html` template, like this:
+ ```jinja2
+ {% ckan_extends %}
+
+ {% block primary_content_inner %}
+ {{ super() }}
+ {% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+ {% endblock primary_content_inner %}
+ ```
+
+## Config settings
+```ini
+
+# Require comment approval in order to make it visible
+# (optional, default: true).
+ckanext.comments.require_approval = false
+
+# Editor(admin) can edit draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits = true
+
+# Author can edit own draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits_by_author = false
+
+# Editor(admin) can edit approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits = false
+
+# Author can edit own approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits_by_author = false
+
+# Number of reply levels that are shown on mobile layout
+# (optional, default: 3).
+ckanext.comments.mobile_depth_threshold = 3
+
+# Include default thread implementation on the dataset page
+# (optional, default: false).
+ckanext.comments.enable_default_dataset_comments = true
+
+# Register custom getter for a subject by providing a path to a function
+# ckanext.comments.subject.{self.subject_type}_getter = path
+# The function must accept an ID and return a model object
+ckanext.comments.subject.question_getter = ckanext.msf_ask_question.model.question_getter
+```
+
+
+
+## API
+
+### `comments_thread_create`
+Create a thread for the subject.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+
+### `comments_thread_show`
+Show the subject's thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* init_missing(bool, optional): return an empty thread instead of 404
+* include_comments(bool, optional): show comments from the thread
+* include_author(bool, optional): show authors of the comments
+* combine_comments(bool, optional): combine comments into a tree-structure
+* after_date(str:ISO date, optional): show comments only since the given date
+
+### `comments_thread_delete`
+Delete the thread.
+
+Args:
+* id(str): ID of the thread
+
+### `comments_comment_create`
+Add a comment to the thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* content(str): comment's message
+* reply_to_id(str, optional): reply to the existing comment
+* create_thread(bool, optional): create a new thread if it doesn't exist yet
+
+### `comments_comment_show`
+Show the details of the comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_approve`
+Approve draft comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_delete`
+Remove existing comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_update`
+Update existing comment
+
+Args:
+* id(str): ID of the comment
+* content(str): comment's message
+
+
+## Tests
+
+To run the tests, do:
+```sh
+pytest
+```
+
+
+## License
+
+[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
+
+
+%package help
+Summary: Development documents and examples for ckanext-comments
+Provides: python3-ckanext-comments-doc
+%description help
+[![Tests](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml/badge.svg)](https://github.com/DataShades/ckanext-comments/actions/workflows/test.yml)
+
+# ckanext-comments
+
+Add comment-trees to CKAN pages.
+
+This plugins provides comment threads linked to any of the main CKAN entities:
+
+* datasets
+* resources
+* groups
+* organizations
+* users.
+
+All the features are API-first, so anything you can do via UI, can be done via API.
+
+No changes to the WebUI are done by default. One have to include a snippet into
+Jinja2 template in order to show the comments on a page.
+```jinja2
+{# subject_type := package | group | resource | user #}
+{% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+```
+
+:info: For the datasets it also can be achieved by enabling
+`ckanext.comments.enable_default_dataset_comments` option.
+
+## Requirements
+
+* python >= 3.7
+* CKAN >= 2.9
+
+## Installation
+
+To install ckanext-comments:
+
+1. Install python package
+ ```sh
+ pip install ckanext-comments
+ ```
+
+1. Add `comments` to the `ckan.plugins` setting in your CKAN
+ config file
+
+1. Apply database migrations
+ ```sh
+ ckan db upgrade -p comments
+ ```
+
+1. Add `cooments/snippets/thread.html` to your `package/read.html` template, like this:
+ ```jinja2
+ {% ckan_extends %}
+
+ {% block primary_content_inner %}
+ {{ super() }}
+ {% snippet 'comments/snippets/thread.html', subject_id=pkg.id, subject_type='package' %}
+ {% endblock primary_content_inner %}
+ ```
+
+## Config settings
+```ini
+
+# Require comment approval in order to make it visible
+# (optional, default: true).
+ckanext.comments.require_approval = false
+
+# Editor(admin) can edit draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits = true
+
+# Author can edit own draft comments
+# (optional, default: true).
+ckanext.comments.draft_edits_by_author = false
+
+# Editor(admin) can edit approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits = false
+
+# Author can edit own approved comments
+# (optional, default: false).
+ckanext.comments.approved_edits_by_author = false
+
+# Number of reply levels that are shown on mobile layout
+# (optional, default: 3).
+ckanext.comments.mobile_depth_threshold = 3
+
+# Include default thread implementation on the dataset page
+# (optional, default: false).
+ckanext.comments.enable_default_dataset_comments = true
+
+# Register custom getter for a subject by providing a path to a function
+# ckanext.comments.subject.{self.subject_type}_getter = path
+# The function must accept an ID and return a model object
+ckanext.comments.subject.question_getter = ckanext.msf_ask_question.model.question_getter
+```
+
+
+
+## API
+
+### `comments_thread_create`
+Create a thread for the subject.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+
+### `comments_thread_show`
+Show the subject's thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* init_missing(bool, optional): return an empty thread instead of 404
+* include_comments(bool, optional): show comments from the thread
+* include_author(bool, optional): show authors of the comments
+* combine_comments(bool, optional): combine comments into a tree-structure
+* after_date(str:ISO date, optional): show comments only since the given date
+
+### `comments_thread_delete`
+Delete the thread.
+
+Args:
+* id(str): ID of the thread
+
+### `comments_comment_create`
+Add a comment to the thread.
+
+Args:
+* subject_id(str): unique ID of the commented entity
+* subject_type(str:package|resource|user|group): type of the commented entity
+* content(str): comment's message
+* reply_to_id(str, optional): reply to the existing comment
+* create_thread(bool, optional): create a new thread if it doesn't exist yet
+
+### `comments_comment_show`
+Show the details of the comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_approve`
+Approve draft comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_delete`
+Remove existing comment
+
+Args:
+* id(str): ID of the comment
+
+### `comments_comment_update`
+Update existing comment
+
+Args:
+* id(str): ID of the comment
+* content(str): comment's message
+
+
+## Tests
+
+To run the tests, do:
+```sh
+pytest
+```
+
+
+## License
+
+[AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html)
+
+
+%prep
+%autosetup -n ckanext-comments-0.3.0
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-ckanext-comments -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.0-1
+- Package Spec generated