1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/calibreweb_ynh.git synced 2024-09-03 18:16:20 +02:00

Merge pull request #58 from YunoHost-Apps/0.9.6.10

move to 0.9.6.10
This commit is contained in:
Krakinou 2021-01-28 22:39:53 +01:00 committed by GitHub
commit 9fd22902cd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 79 additions and 124 deletions

View file

@ -15,7 +15,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
Alternatively, you may use [COPS](https://github.com/YunoHost-Apps/cops_ynh) which also allows access to your Calibre Library, but in read-only mode.
**Shipped version:** The shipped version is 0.6.9, but as the numbering changed in the calibre-web app, it is numbered as 0.96.9 in yunohost.
**Shipped version:** The shipped version is 0.6.10 - Florence, but as the numbering changed in the calibre-web app, it is numbered as 0.96.10 in yunohost.
Users will be synchronized with authorized Yunohost users (having the calibreweb.main authorization group) automatically. In case of issue you may force the sync in the app itself.
@ -91,6 +91,7 @@ sudo yunohost app upgrade calibreweb -u https://github.com/Yunohost-Apps/calibre
- [ ] Add cronjob to reload database (for nextcloud integration)
- [X] OPDS activation
- [ ] Add config-panel option to trigger do_not_backup_data
- [ ] Add config-panel to manage max upload size
- [ ] Add action to restart the server
- [ ] Add action to synchronize users
- [ ] Add action to deactivate LDAP et retrieve admin password

View file

@ -16,28 +16,14 @@
setup_private=1
setup_public=1
upgrade=1
upgrade=1 from_commit=11f5b96df7d8850beff47f9904745fa53a6f7ed9
#Last version
upgrade=1 from_commit=69b86b123ddb3b13e25f39df32bc17a872d67e5e
#v0.6.6
# upgrade=1 from_commit=11f5b96df7d8850beff47f9904745fa53a6f7ed9
backup_restore=1
multi_instance=1
port_already_use=1 (8083)
change_url=1
#;; Failed upgrade
#Run to trigger an error during upgrade to check backup_restore
# ; pre-install
# touch /tmp/upgrade_error
# ; Manifest
# domain="domain.tld" (DOMAIN)
# path="/calibre" (PATH)
# calibre_path="/home/yunohost.app/calibreweb"
# admin="john" (USER)
# language="en"
# is_public=0 (PUBLIC|public=1|private=0)
# upload=1
# password="a very long password"
# ; Checks
# setup_sub_dir=1
# setup_root=1
# upgrade=1 from_commit=3b9c5041e4fa73cb965368379f2b83d076c65341
;;; Options
Email=nicolas@aubonalbanais.ovh
Notification=none

View file

@ -1,3 +1,3 @@
SOURCE_URL=https://github.com/janeczku/calibre-web/releases/download/0.6.9/calibre-web-0.6.9.zip
SOURCE_SUM=e1e393e6f08f68d7aa11baf7a2f1d19b6e0ea83dadc52391470b7d1e6a3155b4
SOURCE_URL=https://github.com/janeczku/calibre-web/releases/download/0.6.10/calibre-web-0.6.10.zip
SOURCE_SUM=ae19c1161c10e874be292e37412f367a62cbbba2d2806a35768bcc773152c788
SOURCE_FORMAT=zip

View file

@ -6,7 +6,7 @@
"en": "Browsing, reading and downloading eBooks using a Calibre database",
"fr": "Explorer, lire et télécharger des eBooks à partir d'une base de données Calibre"
},
"version": "0.96.9~ynh5",
"version": "0.96.10~ynh1",
"url": "https://github.com/janeczku/calibre-web",
"license": "GPL-3.0-only",
"maintainer": {
@ -14,7 +14,7 @@
"email": "misterl56@hotmail.com"
},
"requirements": {
"yunohost": ">= 3.8.1"
"yunohost": ">= 4.0.0"
},
"multi_instance": true,
"services": [

18
pull_request_template.md Normal file
View file

@ -0,0 +1,18 @@
## Problem
- *Description of why you made this PR*
## Solution
- *And how do you fix that problem*
## PR Status
- [ ] Code finished.
- [ ] Tested with Package_check.
- [ ] Fix or enhancement tested.
- [ ] Upgrade from last version tested.
- [ ] Can be reviewed and tested.
## Package_check results
---
*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results*
[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/calibreweb_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/calibreweb_ynh%20PR-NUM-%20(USERNAME)/)

View file

@ -123,7 +123,7 @@ fi
#=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=2
ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30
#=================================================
# RELOAD NGINX

View file

@ -176,7 +176,7 @@ ynh_script_progression --message="Setting up database and settings..." --weight=
#we need to start and stop the service so that initial app.db file is created and that we can set default data
#If port 8083 is already in use (ex for second instance), then service start will fail, which is expected : so we do not want
#to set $port on the line match. "server on" will be displayed in case the port is already in use and should be ok to spot the fact that the database is initialized.
ynh_systemd_action --service_name=$app --action="start" --line_match="server on " --log_path="$final_path/calibre-web.log" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" --log_path="$final_path/calibre-web.log" -t 30
#sleep required on low spec like raspberryPi
sleep 2s
#remove unwanted calibre-web.log
@ -216,7 +216,7 @@ then
ynh_permission_update --permission "main" --add visitors
fi
if [ $public_library -eq 0 ]; then
yunohost app addaccess $app -u $admin
ynh_permission_update --permission "main" --add $admin
fi
#=================================================
@ -224,7 +224,7 @@ fi
#=================================================
ynh_script_progression --message="Reload nginx and start $app..." --weight=5
ynh_systemd_action --service_name=nginx --action=reload
ynh_systemd_action --service_name=$app --action="start" --line_match="server on :$port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30
#=================================================
# END OF SCRIPT

View file

@ -109,7 +109,7 @@ systemctl enable $app.service --quiet
# INTEGRATE SERVICE IN YUNOHOST
#=================================================
yunohost service add $app --description "Browse eBook in the web" --log "/var/log/$app/$app.log"
yunohost service add $app --description="Browse eBook in the web" --log="/var/log/$app/$app.log"
#=================================================
# RESTORE THE LOGROTATE CONFIGURATION
@ -173,7 +173,7 @@ ynh_systemd_action --service_name=nginx --action=reload
#=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=2
ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30
#=================================================
# END OF SCRIPT

View file

@ -180,7 +180,7 @@ ynh_backup_if_checksum_is_different "$final_path/app.db"
if [ "$current_upstream_app_version" == '0.6.6' ]; then
ynh_systemd_action --service_name=$app --action="start" --line_match="server on " --log_path="$final_path/calibre-web.log" -t 30
else
ynh_systemd_action --service_name=$app --action="start" --line_match="server on :$port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30
fi
#sleep required on low spec like raspberryPi
sleep 2s
@ -257,7 +257,7 @@ ynh_systemd_action --service_name=nginx --action=reload
#=================================================
ynh_script_progression --message="Starting a systemd service..." --weight=2
ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30
ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30
#=================================================
# END OF SCRIPT

View file

@ -1,11 +1,11 @@
--- a/cps/templates/admin.html 2020-04-18 11:48:34.000000000 +0200
+++ b/cps/templates/admin.html 2020-04-18 18:21:39.272422475 +0200
@@ -149,8 +149,6 @@
--- a/cps/templates/admin.html 2021-01-18 22:29:30.797813487 +0100
+++ b/cps/templates/admin.html 2021-01-18 22:30:02.369665368 +0100
@@ -169,8 +169,6 @@
</table>
<div class="hidden" id="update_error"> <span>{{update_error}}</span></div>
- <div class="btn btn-default" id="check_for_update">{{_('Check for Update')}}</div>
- <div class="btn btn-default hidden" id="perform_update" data-toggle="modal" data-target="#StatusDialog">{{_('Perform Update')}}</div>
- <div class="btn btn-primary" id="check_for_update">{{_('Check for Update')}}</div>
- <div class="btn btn-primary hidden" id="perform_update" data-toggle="modal" data-target="#StatusDialog">{{_('Perform Update')}}</div>
</div>
</div>
</div>

View file

@ -1,12 +0,0 @@
--- a/cps/static/js/main.js 2020-04-18 11:48:34.000000000 +0200
+++ b/cps/static/js/main.js 2020-04-18 17:39:49.405631791 +0200
@@ -308,7 +308,8 @@
$.ajax({
method:"get",
dataType: "json",
- url: path + "/../../import_ldap_users",
+ url: window.location.pathname + "/../../import_ldap_users",
+// url: path + "/../../import_ldap_users",
success: function success(data) {
$("#spinner2").hide();
ResultText = data.text;

View file

@ -1,34 +0,0 @@
--- a/optional-requirements.txt 2020-09-27 07:15:03.000000000 +0200
+++ b/optional-requirements.txt 2020-10-04 19:03:58.367531339 +0200
@@ -1,17 +1,3 @@
-# GDrive Integration
-google-api-python-client==1.7.11,<1.8.0
-gevent>=1.2.1,<20.6.0
-greenlet>=0.4.12,<0.5.0
-httplib2>=0.9.2,<0.18.0
-oauth2client>=4.0.0,<4.1.4
-uritemplate>=3.0.0,<3.1.0
-pyasn1-modules>=0.0.8,<0.3.0
-pyasn1>=0.1.9,<0.5.0
-PyDrive>=1.3.1,<1.4.0
-PyYAML>=3.12
-rsa==3.4.2,<4.1.0
-six>=1.10.0,<1.15.0
-
# goodreads
goodreads>=0.3.2,<0.4.0
python-Levenshtein>=0.12.0,<0.13.0
@@ -20,12 +6,8 @@
python-ldap>=3.0.0,<3.3.0
Flask-SimpleLDAP>=1.4.0,<1.5.0
-#oauth
-Flask-Dance>=1.4.0,<3.1.0
-SQLAlchemy-Utils>=0.33.5,<0.37.0
-
# extracting metadata
-lxml>=3.8.0,<4.6.0
+#lxml>=3.8.0,<4.6.0
Pillow>=4.0.0,<7.2.0
rarfile>=2.7

View file

@ -0,0 +1,30 @@
--- ./source/optional-requirements.txt.ori 2021-01-18 22:32:21.629010296 +0100
+++ ./source/optional-requirements.txt.new 2021-01-18 23:43:53.721141321 +0100
@@ -1,16 +1,6 @@
# GDrive Integration
-google-api-python-client>=1.7.11,<1.8.0
gevent>=1.2.1,<20.6.0
greenlet>=0.4.12,<0.4.17
-httplib2>=0.9.2,<0.18.0
-oauth2client>=4.0.0,<4.1.4
-uritemplate>=3.0.0,<3.1.0
-pyasn1-modules>=0.0.8,<0.3.0
-pyasn1>=0.1.9,<0.5.0
-PyDrive2>=1.3.1,<1.8.0
-PyYAML>=3.12
-rsa>=3.4.2,<4.1.0
-six>=1.10.0,<1.15.0
# goodreads
goodreads>=0.3.2,<0.4.0
@@ -20,10 +10,6 @@
python-ldap>=3.0.0,<3.3.0
Flask-SimpleLDAP>=1.4.0,<1.5.0
-#oauth
-Flask-Dance>=1.4.0,<3.1.0
-SQLAlchemy-Utils>=0.33.5,<0.37.0
-
# extracting metadata
lxml>=3.8.0,<4.6.0
rarfile>=2.7

View file

@ -1,52 +1,18 @@
--- a/cps/web.py 2020-05-05 20:28:10.000000000 +0200
+++ b/cps/web.py 2020-05-07 08:52:47.151920968 +0200
@@ -294,7 +294,10 @@
if not config.db_configured and request.endpoint not in (
'admin.basic_configuration', 'login') and '/static/' not in request.path:
return redirect(url_for('admin.basic_configuration'))
-
+#Début Modif Yunohost 1/4 - Create LDAP user at login
+ if config.config_login_type == constants.LOGIN_LDAP and services.ldap:
+ import_ldap_users()
+#Fin Modif Yunohost 1/4
@app.route('/import_ldap_users')
def import_ldap_users():
@@ -326,7 +329,10 @@
log.warning("Could Not Parse LDAP User: %s", user)
continue
if ub.session.query(ub.User).filter(ub.User.nickname == user.lower()).first():
- log.warning("LDAP User: %s Already in Database", user)
+# Début Modif Yunohost 2/4 - deactivate warning for existing LDAP user (clog the log)
+# log.warning("LDAP User: %s Already in Database", user)
+ log.debug("LDAP User: %s Already in Database", user)
+#Fin Modif Yunohost 2/4
continue
user_data = services.ldap.get_object_details(user=user,
group=None,
@@ -1274,6 +1280,10 @@
if not config.db_configured:
log.debug(u"Redirect to initial configuration")
return redirect(url_for('admin.basic_configuration'))
+#Début Modif Yunohost 3/4 - Create LDAP user at Login
+ if config.config_login_type == constants.LOGIN_LDAP and services.ldap:
+ import_ldap_users()
+#Fin Modif Yunohost 3/4
if current_user is not None and current_user.is_authenticated:
return redirect(url_for('web.index'))
if config.config_login_type == constants.LOGIN_LDAP and not services.ldap:
@@ -1348,7 +1358,13 @@
--- a/cps/web.py 2021-01-17 16:28:28.000000000 +0100
+++ b/cps/web.py 2021-01-18 22:43:37.597311098 +0100
@@ -1394,7 +1394,14 @@
if feature_support['oauth'] and (config.config_login_type == 2 or config.config_login_type == 3):
logout_oauth_user()
log.debug(u"User logged out")
- return redirect(url_for('web.login'))
+#Début Modif Yunohost 4/4 - Redirect to Yunohost at exit
+#Début Modif Yunohost 1/1 - Redirect to Yunohost at exit
+# return redirect(url_for('web.login'))
+ if config.config_login_type == constants.LOGIN_LDAP and services.ldap:
+ return redirect(request.host_url)
+ else:
+ return redirect(url_for('web.login'))
+#Fin Modif Yunohost 4/4
+#Fin Modif Yunohost 1/1
+
@web.route('/remote/login')