diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:43:12 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 09:43:12 +0000 |
commit | 119364998591e84a9343bd4a4a1ae901d661d905 (patch) | |
tree | a3580f99dbc72a092e79a5e4cfa6a6ddf03dee94 /python-ckanext-comments.spec | |
parent | e42434ab0593a9c5676e899fa88db72045d749e9 (diff) |
automatic import of python-ckanext-commentsopeneuler20.03
Diffstat (limited to 'python-ckanext-comments.spec')
-rw-r--r-- | python-ckanext-comments.spec | 587 |
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 +[](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 +[](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 +[](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 |