summaryrefslogtreecommitdiff
path: root/python-qsense.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-qsense.spec')
-rw-r--r--python-qsense.spec468
1 files changed, 468 insertions, 0 deletions
diff --git a/python-qsense.spec b/python-qsense.spec
new file mode 100644
index 0000000..dedc94a
--- /dev/null
+++ b/python-qsense.spec
@@ -0,0 +1,468 @@
+%global _empty_manifest_terminate_build 0
+Name: python-qsense
+Version: 0.8.4
+Release: 1
+Summary: qsense is a python library and a command line tool for qliksense
+License: GPL
+URL: https://github.com/matteoredaelli/qsense
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/89/97/6e3afcd01dbabd043238081ac7e6a741819aa68992982eea22603156d07f/qsense-0.8.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-fire
+Requires: python3-pyqlikengine
+Requires: python3-pytz
+Requires: python3-qsapi
+Requires: python3-requests
+Requires: python3-requests-ntlm
+
+%description
+# qSense
+
+*qsense* is a python library and command line tool for QLIK QlikSense. It contains some useful functions for administrators/developers of QLiksense
+
+It is built on top of the python libraries [qsAPI](https://github.com/rafael-sanz/qsAPI) and [pyqlikengine](https://github.com/qliknln/pyqlikengine)
+
+# Installation
+
+pip install qsense
+
+# Usage
+
+export LOGLEVEL=DEBUG
+
+```bash
+NAME
+ qsense - qsense is a python library and command line tool for Qliksense administrators
+
+SYNOPSIS
+ qsense COMMAND
+
+DESCRIPTION
+ qsense is a python library and command line tool for Qliksense administrators
+
+COMMANDS
+ COMMAND is one of the following:
+
+ add_entity
+ add a new entity (user, stream, dataconnection,...)
+
+ deallocate_analyzer_licenses_for_professionals
+ Deallocate analyzer license fom users with a professional license
+
+ deallocate_unused_analyzer_licenses
+ Deallocate analyzer license not used for N days
+
+ delete_removed_exernally_users
+ Delete users that were removed externally (from active directory?)
+
+ delete_user_session
+ delete user session
+
+ entity
+ Get a specific entity by ID or entity list or count
+
+ export_apps
+ Export (published or passing any other filter) applications to qvd files
+
+ get
+ generic get http from Qlik (service can be qrs or qps)
+
+ get_app_connections
+ Extract the connections from an app
+
+ get_app_dataconnections
+ Extract the dataconnections found in the app script
+
+ get_app_script
+ Extract the ETL script from an app
+
+ healthcheck
+ Get a specific entity by ID or entity list or count
+
+ old_apps
+ Find old apps using 'modified_date' and 'last_reload_time' filters: then you can export them or delete or notify via email the owners
+
+ open_doc
+ Load an app in memory, useful for preloading an app / cacha warmer
+
+ post
+ NOT TESTED: generic post http to Qlik (service can be qrs or qps)
+
+ update_custom_property_with_users_list
+ update the values of a custom property with the list of all qliksense users
+
+ update_entity
+ update an entity (user, stream, dataconnection,...)
+
+ user_sessions
+ user sessions
+
+ users
+ Get users with groups
+
+ users_with_unpublished_apps
+ Find users with too many unpublished apps
+```
+
+Look at the source file qsense/command_line.py for details
+
+# Examples
+
+## Changing all data connections after a file server migration
+
+```bash
+JSONFILE=ds-shares.json
+rm $JSONFILE
+
+qsense get qlikserver.redaelli.org client.pem /qrs/dataconnection/full --pFilter "connectionstring sw '\\\\\\\amzn'" | jq '.' > $JSONFILE
+
+sed -e 's/amznfsx94rgsb1e/amznfsxe9chyjel/g' ${JSONFILE} > new-${JSONFILE}
+
+qsense update_entity qlikserver.redaelli.org client.pem dataconnection new-${JSONFILE}
+```
+
+## Exporting and/or deleting old applications
+
+Not published and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --export --delete
+```
+
+Published in some specific streams and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --published --pFilter "(stream.name eq '000' or stream.name eq 'AAA' or stream.name eq 'BBB' or stream.name eq 'CCC')" --export --delete
+```
+
+## Removing analyzer licenses for professional users
+
+```bash
+qsense deallocate_analyzer_licenses_for_professionals qlikserver.redaelli.org client.pem --nodryrun
+```
+
+## Top users with unpublished apps
+
+```bash
+qsense users_with_unpublished_apps qlikserver.redaelli.org client.pem --threshold 30
+```
+
+
+%package -n python3-qsense
+Summary: qsense is a python library and a command line tool for qliksense
+Provides: python-qsense
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-qsense
+# qSense
+
+*qsense* is a python library and command line tool for QLIK QlikSense. It contains some useful functions for administrators/developers of QLiksense
+
+It is built on top of the python libraries [qsAPI](https://github.com/rafael-sanz/qsAPI) and [pyqlikengine](https://github.com/qliknln/pyqlikengine)
+
+# Installation
+
+pip install qsense
+
+# Usage
+
+export LOGLEVEL=DEBUG
+
+```bash
+NAME
+ qsense - qsense is a python library and command line tool for Qliksense administrators
+
+SYNOPSIS
+ qsense COMMAND
+
+DESCRIPTION
+ qsense is a python library and command line tool for Qliksense administrators
+
+COMMANDS
+ COMMAND is one of the following:
+
+ add_entity
+ add a new entity (user, stream, dataconnection,...)
+
+ deallocate_analyzer_licenses_for_professionals
+ Deallocate analyzer license fom users with a professional license
+
+ deallocate_unused_analyzer_licenses
+ Deallocate analyzer license not used for N days
+
+ delete_removed_exernally_users
+ Delete users that were removed externally (from active directory?)
+
+ delete_user_session
+ delete user session
+
+ entity
+ Get a specific entity by ID or entity list or count
+
+ export_apps
+ Export (published or passing any other filter) applications to qvd files
+
+ get
+ generic get http from Qlik (service can be qrs or qps)
+
+ get_app_connections
+ Extract the connections from an app
+
+ get_app_dataconnections
+ Extract the dataconnections found in the app script
+
+ get_app_script
+ Extract the ETL script from an app
+
+ healthcheck
+ Get a specific entity by ID or entity list or count
+
+ old_apps
+ Find old apps using 'modified_date' and 'last_reload_time' filters: then you can export them or delete or notify via email the owners
+
+ open_doc
+ Load an app in memory, useful for preloading an app / cacha warmer
+
+ post
+ NOT TESTED: generic post http to Qlik (service can be qrs or qps)
+
+ update_custom_property_with_users_list
+ update the values of a custom property with the list of all qliksense users
+
+ update_entity
+ update an entity (user, stream, dataconnection,...)
+
+ user_sessions
+ user sessions
+
+ users
+ Get users with groups
+
+ users_with_unpublished_apps
+ Find users with too many unpublished apps
+```
+
+Look at the source file qsense/command_line.py for details
+
+# Examples
+
+## Changing all data connections after a file server migration
+
+```bash
+JSONFILE=ds-shares.json
+rm $JSONFILE
+
+qsense get qlikserver.redaelli.org client.pem /qrs/dataconnection/full --pFilter "connectionstring sw '\\\\\\\amzn'" | jq '.' > $JSONFILE
+
+sed -e 's/amznfsx94rgsb1e/amznfsxe9chyjel/g' ${JSONFILE} > new-${JSONFILE}
+
+qsense update_entity qlikserver.redaelli.org client.pem dataconnection new-${JSONFILE}
+```
+
+## Exporting and/or deleting old applications
+
+Not published and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --export --delete
+```
+
+Published in some specific streams and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --published --pFilter "(stream.name eq '000' or stream.name eq 'AAA' or stream.name eq 'BBB' or stream.name eq 'CCC')" --export --delete
+```
+
+## Removing analyzer licenses for professional users
+
+```bash
+qsense deallocate_analyzer_licenses_for_professionals qlikserver.redaelli.org client.pem --nodryrun
+```
+
+## Top users with unpublished apps
+
+```bash
+qsense users_with_unpublished_apps qlikserver.redaelli.org client.pem --threshold 30
+```
+
+
+%package help
+Summary: Development documents and examples for qsense
+Provides: python3-qsense-doc
+%description help
+# qSense
+
+*qsense* is a python library and command line tool for QLIK QlikSense. It contains some useful functions for administrators/developers of QLiksense
+
+It is built on top of the python libraries [qsAPI](https://github.com/rafael-sanz/qsAPI) and [pyqlikengine](https://github.com/qliknln/pyqlikengine)
+
+# Installation
+
+pip install qsense
+
+# Usage
+
+export LOGLEVEL=DEBUG
+
+```bash
+NAME
+ qsense - qsense is a python library and command line tool for Qliksense administrators
+
+SYNOPSIS
+ qsense COMMAND
+
+DESCRIPTION
+ qsense is a python library and command line tool for Qliksense administrators
+
+COMMANDS
+ COMMAND is one of the following:
+
+ add_entity
+ add a new entity (user, stream, dataconnection,...)
+
+ deallocate_analyzer_licenses_for_professionals
+ Deallocate analyzer license fom users with a professional license
+
+ deallocate_unused_analyzer_licenses
+ Deallocate analyzer license not used for N days
+
+ delete_removed_exernally_users
+ Delete users that were removed externally (from active directory?)
+
+ delete_user_session
+ delete user session
+
+ entity
+ Get a specific entity by ID or entity list or count
+
+ export_apps
+ Export (published or passing any other filter) applications to qvd files
+
+ get
+ generic get http from Qlik (service can be qrs or qps)
+
+ get_app_connections
+ Extract the connections from an app
+
+ get_app_dataconnections
+ Extract the dataconnections found in the app script
+
+ get_app_script
+ Extract the ETL script from an app
+
+ healthcheck
+ Get a specific entity by ID or entity list or count
+
+ old_apps
+ Find old apps using 'modified_date' and 'last_reload_time' filters: then you can export them or delete or notify via email the owners
+
+ open_doc
+ Load an app in memory, useful for preloading an app / cacha warmer
+
+ post
+ NOT TESTED: generic post http to Qlik (service can be qrs or qps)
+
+ update_custom_property_with_users_list
+ update the values of a custom property with the list of all qliksense users
+
+ update_entity
+ update an entity (user, stream, dataconnection,...)
+
+ user_sessions
+ user sessions
+
+ users
+ Get users with groups
+
+ users_with_unpublished_apps
+ Find users with too many unpublished apps
+```
+
+Look at the source file qsense/command_line.py for details
+
+# Examples
+
+## Changing all data connections after a file server migration
+
+```bash
+JSONFILE=ds-shares.json
+rm $JSONFILE
+
+qsense get qlikserver.redaelli.org client.pem /qrs/dataconnection/full --pFilter "connectionstring sw '\\\\\\\amzn'" | jq '.' > $JSONFILE
+
+sed -e 's/amznfsx94rgsb1e/amznfsxe9chyjel/g' ${JSONFILE} > new-${JSONFILE}
+
+qsense update_entity qlikserver.redaelli.org client.pem dataconnection new-${JSONFILE}
+```
+
+## Exporting and/or deleting old applications
+
+Not published and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --export --delete
+```
+
+Published in some specific streams and not updated/reloaded in the last 120 days
+
+```bash
+qsense old_apps qlikserver.redaelli.org client.pem /qrs/dataconnection/full --target_path /tmp --modified_days=120 --last_reload_days=120 --published --pFilter "(stream.name eq '000' or stream.name eq 'AAA' or stream.name eq 'BBB' or stream.name eq 'CCC')" --export --delete
+```
+
+## Removing analyzer licenses for professional users
+
+```bash
+qsense deallocate_analyzer_licenses_for_professionals qlikserver.redaelli.org client.pem --nodryrun
+```
+
+## Top users with unpublished apps
+
+```bash
+qsense users_with_unpublished_apps qlikserver.redaelli.org client.pem --threshold 30
+```
+
+
+%prep
+%autosetup -n qsense-0.8.4
+
+%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-qsense -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.4-1
+- Package Spec generated