Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
douban-api-proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
douban-api-proxy
Commits
5e361871
Commit
5e361871
authored
Dec 07, 2020
by
Ozzieisaacs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix missing session rollback on commit error
parent
f1352255
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
208 additions
and
62 deletions
+208
-62
admin.py
cps/admin.py
+76
-19
config_sql.py
cps/config_sql.py
+27
-7
kobo.py
cps/kobo.py
+33
-9
kobo_auth.py
cps/kobo_auth.py
+9
-2
oauth_bb.py
cps/oauth_bb.py
+9
-2
shelf.py
cps/shelf.py
+5
-2
ub.py
cps/ub.py
+10
-4
web.py
cps/web.py
+39
-17
No files found.
cps/admin.py
View file @
5e361871
...
...
@@ -206,7 +206,10 @@ def edit_domain(allow):
vals
=
request
.
form
.
to_dict
()
answer
=
g
.
ubsession
.
query
(
ub
.
Registration
)
.
filter
(
ub
.
Registration
.
id
==
vals
[
'pk'
])
.
first
()
answer
.
domain
=
vals
[
'value'
]
.
replace
(
'*'
,
'
%
'
)
.
replace
(
'?'
,
'_'
)
.
lower
()
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
...
...
@@ -220,7 +223,10 @@ def add_domain(allow):
if
not
check
:
new_domain
=
ub
.
Registration
(
domain
=
domain_name
,
allow
=
allow
)
g
.
ubsession
.
add
(
new_domain
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
...
...
@@ -230,12 +236,18 @@ def add_domain(allow):
def
delete_domain
():
domain_id
=
request
.
form
.
to_dict
()[
'domainid'
]
.
replace
(
'*'
,
'
%
'
)
.
replace
(
'?'
,
'_'
)
.
lower
()
g
.
ubsession
.
query
(
ub
.
Registration
)
.
filter
(
ub
.
Registration
.
id
==
domain_id
)
.
delete
()
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
# If last domain was deleted, add all domains by default
if
not
g
.
ubsession
.
query
(
ub
.
Registration
)
.
filter
(
ub
.
Registration
.
allow
==
1
)
.
count
():
new_domain
=
ub
.
Registration
(
domain
=
"
%
.
%
"
,
allow
=
1
)
g
.
ubsession
.
add
(
new_domain
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
...
...
@@ -275,7 +287,10 @@ def edit_restriction(res_type):
elementlist
=
usr
.
list_allowed_tags
()
elementlist
[
int
(
element
[
'id'
][
1
:])]
=
element
[
'Element'
]
usr
.
allowed_tags
=
','
.
join
(
elementlist
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
if
res_type
==
3
:
# CColumn per user
usr_id
=
os
.
path
.
split
(
request
.
referrer
)[
-
1
]
if
usr_id
.
isdigit
()
==
True
:
...
...
@@ -285,7 +300,10 @@ def edit_restriction(res_type):
elementlist
=
usr
.
list_allowed_column_values
()
elementlist
[
int
(
element
[
'id'
][
1
:])]
=
element
[
'Element'
]
usr
.
allowed_column_value
=
','
.
join
(
elementlist
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
if
element
[
'id'
]
.
startswith
(
'd'
):
if
res_type
==
0
:
# Tags as template
elementlist
=
config
.
list_denied_tags
()
...
...
@@ -306,7 +324,10 @@ def edit_restriction(res_type):
elementlist
=
usr
.
list_denied_tags
()
elementlist
[
int
(
element
[
'id'
][
1
:])]
=
element
[
'Element'
]
usr
.
denied_tags
=
','
.
join
(
elementlist
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
if
res_type
==
3
:
# CColumn per user
usr_id
=
os
.
path
.
split
(
request
.
referrer
)[
-
1
]
if
usr_id
.
isdigit
()
==
True
:
...
...
@@ -316,7 +337,10 @@ def edit_restriction(res_type):
elementlist
=
usr
.
list_denied_column_values
()
elementlist
[
int
(
element
[
'id'
][
1
:])]
=
element
[
'Element'
]
usr
.
denied_column_value
=
','
.
join
(
elementlist
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
def
restriction_addition
(
element
,
list_func
):
...
...
@@ -362,10 +386,16 @@ def add_restriction(res_type):
usr
=
current_user
if
'submit_allow'
in
element
:
usr
.
allowed_tags
=
restriction_addition
(
element
,
usr
.
list_allowed_tags
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
elif
'submit_deny'
in
element
:
usr
.
denied_tags
=
restriction_addition
(
element
,
usr
.
list_denied_tags
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
if
res_type
==
3
:
# CustomC per user
usr_id
=
os
.
path
.
split
(
request
.
referrer
)[
-
1
]
if
usr_id
.
isdigit
()
==
True
:
...
...
@@ -374,10 +404,16 @@ def add_restriction(res_type):
usr
=
current_user
if
'submit_allow'
in
element
:
usr
.
allowed_column_value
=
restriction_addition
(
element
,
usr
.
list_allowed_column_values
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
elif
'submit_deny'
in
element
:
usr
.
denied_column_value
=
restriction_addition
(
element
,
usr
.
list_denied_column_values
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
@
admi
.
route
(
"/ajax/deleterestriction/<int:res_type>"
,
methods
=
[
'POST'
])
...
...
@@ -407,10 +443,16 @@ def delete_restriction(res_type):
usr
=
current_user
if
element
[
'id'
]
.
startswith
(
'a'
):
usr
.
allowed_tags
=
restriction_deletion
(
element
,
usr
.
list_allowed_tags
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
elif
element
[
'id'
]
.
startswith
(
'd'
):
usr
.
denied_tags
=
restriction_deletion
(
element
,
usr
.
list_denied_tags
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
elif
res_type
==
3
:
# Columns per user
usr_id
=
os
.
path
.
split
(
request
.
referrer
)[
-
1
]
if
usr_id
.
isdigit
()
==
True
:
# select current user if admins are editing their own rights
...
...
@@ -419,10 +461,16 @@ def delete_restriction(res_type):
usr
=
current_user
if
element
[
'id'
]
.
startswith
(
'a'
):
usr
.
allowed_column_value
=
restriction_deletion
(
element
,
usr
.
list_allowed_column_values
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
elif
element
[
'id'
]
.
startswith
(
'd'
):
usr
.
denied_column_value
=
restriction_deletion
(
element
,
usr
.
list_denied_column_values
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
...
...
@@ -815,7 +863,10 @@ def _handle_new_user(to_save, content,languages, translations, kobo_support):
content
.
allowed_column_value
=
config
.
config_allowed_column_value
content
.
denied_column_value
=
config
.
config_denied_column_value
g
.
ubsession
.
add
(
content
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
flash
(
_
(
u"User '
%(user)
s' created"
,
user
=
content
.
nickname
),
category
=
"success"
)
return
redirect
(
url_for
(
'admin.admin'
))
except
IntegrityError
:
...
...
@@ -831,7 +882,10 @@ def _handle_edit_user(to_save, content,languages, translations, kobo_support):
if
g
.
ubsession
.
query
(
ub
.
User
)
.
filter
(
ub
.
User
.
role
.
op
(
'&'
)(
constants
.
ROLE_ADMIN
)
==
constants
.
ROLE_ADMIN
,
ub
.
User
.
id
!=
content
.
id
)
.
count
():
g
.
ubsession
.
query
(
ub
.
User
)
.
filter
(
ub
.
User
.
id
==
content
.
id
)
.
delete
()
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
flash
(
_
(
u"User '
%(nick)
s' deleted"
,
nick
=
content
.
nickname
),
category
=
"success"
)
return
redirect
(
url_for
(
'admin.admin'
))
else
:
...
...
@@ -905,8 +959,11 @@ def _handle_edit_user(to_save, content,languages, translations, kobo_support):
if
"kindle_mail"
in
to_save
and
to_save
[
"kindle_mail"
]
!=
content
.
kindle_mail
:
content
.
kindle_mail
=
to_save
[
"kindle_mail"
]
try
:
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
flash
(
_
(
u"User '
%(nick)
s' updated"
,
nick
=
content
.
nickname
),
category
=
"success"
)
except
IntegrityError
:
g
.
ubsession
.
rollback
()
...
...
cps/config_sql.py
View file @
5e361871
...
...
@@ -22,8 +22,8 @@ import os
import
sys
from
sqlalchemy
import
exc
,
Column
,
String
,
Integer
,
SmallInteger
,
Boolean
,
BLOB
,
JSON
from
sqlalchemy.exc
import
OperationalError
from
sqlalchemy.ext.declarative
import
declarative_base
from
.
import
constants
,
cli
,
logger
,
ub
...
...
@@ -247,7 +247,10 @@ class _ConfigSQL(object):
if
flask_settings
==
None
:
flask_settings
=
_Flask_Settings
(
os
.
urandom
(
32
))
self
.
_session
.
add
(
flask_settings
)
try
:
self
.
_session
.
commit
()
except
OperationalError
:
self
.
_session
.
rollback
()
return
flask_settings
.
flask_session_key
...
...
@@ -308,7 +311,11 @@ class _ConfigSQL(object):
log
.
warning
(
"Log path
%
s not valid, falling back to default"
,
self
.
config_logfile
)
self
.
config_logfile
=
logfile
self
.
_session
.
merge
(
s
)
try
:
self
.
_session
.
commit
()
except
OperationalError
as
e
:
log
.
error
(
'Database error:
%
s'
,
e
)
self
.
_session
.
rollback
()
def
save
(
self
):
'''Apply all configuration values to the underlying storage.'''
...
...
@@ -322,7 +329,11 @@ class _ConfigSQL(object):
log
.
debug
(
"_ConfigSQL updating storage"
)
self
.
_session
.
merge
(
s
)
try
:
self
.
_session
.
commit
()
except
OperationalError
as
e
:
log
.
error
(
'Database error:
%
s'
,
e
)
self
.
_session
.
rollback
()
self
.
load
()
def
invalidate
(
self
,
error
=
None
):
...
...
@@ -363,7 +374,10 @@ def _migrate_table(session, orm_class):
changed
=
True
if
changed
:
try
:
session
.
commit
()
except
OperationalError
:
session
.
rollback
()
def
autodetect_calibre_binary
():
...
...
@@ -414,7 +428,10 @@ def load_configuration():
if
not
session
.
query
(
_Settings
)
.
count
():
session
.
add
(
_Settings
())
try
:
session
.
commit
()
except
OperationalError
:
session
.
rollback
()
conf
=
_ConfigSQL
(
session
)
# Migrate from global restrictions to user based restrictions
if
bool
(
conf
.
config_default_show
&
constants
.
MATURE_CONTENT
)
and
conf
.
config_denied_tags
==
""
:
...
...
@@ -422,5 +439,8 @@ def load_configuration():
conf
.
save
()
session
.
query
(
ub
.
User
)
.
filter
(
ub
.
User
.
mature_content
!=
True
)
.
\
update
({
"denied_tags"
:
conf
.
config_mature_content_tags
},
synchronize_session
=
False
)
try
:
session
.
commit
()
except
OperationalError
:
session
.
rollback
()
return
conf
cps/kobo.py
View file @
5e361871
...
...
@@ -44,6 +44,7 @@ from flask_login import current_user
from
werkzeug.datastructures
import
Headers
from
sqlalchemy
import
func
from
sqlalchemy.sql.expression
import
and_
,
or_
from
sqlalchemy.exc
import
OperationalError
from
sqlalchemy.orm
import
load_only
from
sqlalchemy.exc
import
StatementError
import
requests
...
...
@@ -452,8 +453,10 @@ def HandleTagCreate():
items_unknown_to_calibre
=
add_items_to_shelf
(
items
,
shelf
)
if
items_unknown_to_calibre
:
log
.
debug
(
"Received request to add unknown books to a collection. Silently ignoring items."
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
make_response
(
jsonify
(
str
(
shelf
.
uuid
)),
201
)
...
...
@@ -485,7 +488,10 @@ def HandleTagUpdate(tag_id):
shelf
.
name
=
name
g
.
ubsession
.
merge
(
shelf
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
make_response
(
' '
,
200
)
...
...
@@ -537,7 +543,10 @@ def HandleTagAddItem(tag_id):
log
.
debug
(
"Received request to add an unknown book to a collection. Silently ignoring item."
)
g
.
ubsession
.
merge
(
shelf
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
make_response
(
''
,
201
)
...
...
@@ -578,7 +587,10 @@ def HandleTagRemoveItem(tag_id):
shelf
.
books
.
filter
(
ub
.
BookShelf
.
book_id
==
book
.
id
)
.
delete
()
except
KeyError
:
items_unknown_to_calibre
.
append
(
item
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
if
items_unknown_to_calibre
:
log
.
debug
(
"Received request to remove an unknown book to a collecition. Silently ignoring item."
)
...
...
@@ -624,7 +636,10 @@ def sync_shelves(sync_token, sync_results):
"ChangedTag"
:
tag
})
sync_token
.
tags_last_modified
=
new_tags_last_modified
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
# Creates a Kobo "Tag" object from a ub.Shelf object
...
...
@@ -705,7 +720,10 @@ def HandleStateRequest(book_uuid):
abort
(
400
,
description
=
"Malformed request data is missing 'ReadingStates' key"
)
g
.
ubsession
.
merge
(
kobo_reading_state
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
jsonify
({
"RequestResult"
:
"Success"
,
"UpdateResults"
:
[
update_results_response
],
...
...
@@ -743,7 +761,10 @@ def get_or_create_reading_state(book_id):
kobo_reading_state
.
statistics
=
ub
.
KoboStatistics
()
book_read
.
kobo_reading_state
=
kobo_reading_state
g
.
ubsession
.
add
(
book_read
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
book_read
.
kobo_reading_state
...
...
@@ -846,7 +867,10 @@ def HandleBookDeletionRequest(book_uuid):
archived_book
.
last_modified
=
datetime
.
datetime
.
utcnow
()
g
.
ubsession
.
merge
(
archived_book
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
(
""
,
204
)
...
...
cps/kobo_auth.py
View file @
5e361871
...
...
@@ -66,6 +66,7 @@ from os import urandom
from
flask
import
g
,
Blueprint
,
url_for
,
abort
,
request
from
flask_login
import
login_user
,
login_required
from
flask_babel
import
gettext
as
_
from
sqlalchemy.exc
import
OperationalError
from
.
import
logger
,
ub
,
lm
from
.web
import
render_title_template
...
...
@@ -147,7 +148,10 @@ def generate_auth_token(user_id):
auth_token
.
token_type
=
1
g
.
ubsession
.
add
(
auth_token
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
render_title_template
(
"generate_kobo_auth_url.html"
,
title
=
_
(
u"Kobo Setup"
),
...
...
@@ -164,5 +168,8 @@ def delete_auth_token(user_id):
# Invalidate any prevously generated Kobo Auth token for this user.
g
.
ubsession
.
query
(
ub
.
RemoteAuthToken
)
.
filter
(
ub
.
RemoteAuthToken
.
user_id
==
user_id
)
\
.
filter
(
ub
.
RemoteAuthToken
.
token_type
==
1
)
.
delete
()
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
cps/oauth_bb.py
View file @
5e361871
...
...
@@ -32,6 +32,7 @@ from flask_dance.contrib.github import make_github_blueprint, github
from
flask_dance.contrib.google
import
make_google_blueprint
,
google
from
flask_login
import
login_user
,
current_user
from
sqlalchemy.orm.exc
import
NoResultFound
from
sqlalchemy.exc
import
OperationalError
from
.
import
constants
,
logger
,
config
,
app
,
ub
from
.web
import
login_required
...
...
@@ -104,12 +105,18 @@ if ub.oauth_support:
oauthProvider
.
provider_name
=
"github"
oauthProvider
.
active
=
False
g
.
ubsession
.
add
(
oauthProvider
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
oauthProvider
=
ub
.
OAuthProvider
()
oauthProvider
.
provider_name
=
"google"
oauthProvider
.
active
=
False
g
.
ubsession
.
add
(
oauthProvider
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
oauth_ids
=
g
.
ubsession
.
query
(
ub
.
OAuthProvider
)
.
all
()
ele1
=
dict
(
provider_name
=
'github'
,
...
...
cps/shelf.py
View file @
5e361871
...
...
@@ -322,8 +322,11 @@ def delete_shelf_helper(cur_shelf):
g
.
ubsession
.
delete
(
cur_shelf
)
g
.
ubsession
.
query
(
ub
.
BookShelf
)
.
filter
(
ub
.
BookShelf
.
shelf
==
shelf_id
)
.
delete
()
g
.
ubsession
.
add
(
ub
.
ShelfArchive
(
uuid
=
cur_shelf
.
uuid
,
user_id
=
cur_shelf
.
user_id
))
try
:
g
.
ubsession
.
commit
()
log
.
info
(
"successfully deleted
%
s"
,
cur_shelf
)
except
OperationalError
:
g
.
ubsession
.
rollback
()
...
...
cps/ub.py
View file @
5e361871
...
...
@@ -681,13 +681,19 @@ def update_download(book_id, user_id):
if
not
check
:
new_download
=
Downloads
(
user_id
=
user_id
,
book_id
=
book_id
)
g
.
ubsession
.
add
(
new_download
)
try
:
g
.
ubsession
.
commit
()
except
exc
.
OperationalError
:
g
.
ubsession
.
rollback
()
# Delete non exisiting downloaded books in calibre-web's own database
def
delete_download
(
book_id
):
g
.
ubsession
.
query
(
Downloads
)
.
filter
(
book_id
==
Downloads
.
book_id
)
.
delete
()
try
:
g
.
ubsession
.
commit
()
except
exc
.
OperationalError
:
g
.
ubsession
.
rollback
()
# Generate user Guest (translated text), as anonymous user, no rights
def
create_anonymous_user
(
session
):
...
...
@@ -746,7 +752,7 @@ def init_db(app_db_path):
session
.
close
()
def
dispose
():
'''
def dispose():
global session
old_session = session
...
...
@@ -760,4 +766,4 @@ def dispose():
try:
old_session.bind.dispose()
except Exception:
pass
pass
'''
cps/web.py
View file @
5e361871
...
...
@@ -434,7 +434,10 @@ def bookmark(book_id, book_format):
ub
.
Bookmark
.
book_id
==
book_id
,
ub
.
Bookmark
.
format
==
book_format
))
.
delete
()
if
not
bookmark_key
:
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
,
204
lbookmark
=
ub
.
Bookmark
(
user_id
=
current_user
.
id
,
...
...
@@ -442,7 +445,10 @@ def bookmark(book_id, book_format):
format
=
book_format
,
bookmark_key
=
bookmark_key
)
g
.
ubsession
.
merge
(
lbookmark
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
,
201
...
...
@@ -467,7 +473,10 @@ def toggle_read(book_id):
kobo_reading_state
.
statistics
=
ub
.
KoboStatistics
()
book
.
kobo_reading_state
=
kobo_reading_state
g
.
ubsession
.
merge
(
book
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
else
:
try
:
calibre_db
.
update_title_sort
(
config
)
...
...
@@ -501,7 +510,10 @@ def toggle_archived(book_id):
archived_book
=
ub
.
ArchivedBook
(
user_id
=
current_user
.
id
,
book_id
=
book_id
)
archived_book
.
is_archived
=
True
g
.
ubsession
.
merge
(
archived_book
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
return
""
...
...
@@ -1086,11 +1098,12 @@ def update_table_settings():
except
AttributeError
:
pass
g
.
ubsession
.
commit
()
except
InvalidRequestError
:
except
(
InvalidRequestError
,
OperationalError
)
:
log
.
error
(
"Invalid request received:
%
r "
,
request
,
)
return
"Invalid request"
,
400
return
""
@
web
.
route
(
"/author"
)
@
login_required_if_no_ano
def
author_list
():
...
...
@@ -1676,7 +1689,10 @@ def logout():
def
remote_login
():
auth_token
=
ub
.
RemoteAuthToken
()
g
.
ubsession
.
add
(
auth_token
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
verify_url
=
url_for
(
'web.verify_token'
,
token
=
auth_token
.
auth_token
,
_external
=
true
)
log
.
debug
(
u"Remot Login request with token:
%
s"
,
auth_token
.
auth_token
)
...
...
@@ -1708,7 +1724,10 @@ def verify_token(token):
# Update token with user information
auth_token
.
user_id
=
current_user
.
id
auth_token
.
verified
=
True
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
flash
(
_
(
u"Success! Please return to your device"
),
category
=
"success"
)
log
.
debug
(
u"Remote Login token for userid
%
s verified"
,
auth_token
.
user_id
)
...
...
@@ -1731,7 +1750,10 @@ def token_verified():
# Token expired
elif
datetime
.
now
()
>
auth_token
.
expiration
:
g
.
ubsession
.
delete
(
auth_token
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
data
[
'status'
]
=
'error'
data
[
'message'
]
=
_
(
u"Token has expired"
)
...
...
@@ -1744,7 +1766,10 @@ def token_verified():
login_user
(
user
)
g
.
ubsession
.
delete
(
auth_token
)
try
:
g
.
ubsession
.
commit
()
except
OperationalError
:
g
.
ubsession
.
rollback
()
data
[
'status'
]
=
'success'
log
.
debug
(
u"Remote Login for userid
%
s succeded"
,
user
.
id
)
...
...
@@ -1836,14 +1861,11 @@ def profile():
g
.
ubsession
.
rollback
()
flash
(
_
(
u"Found an existing account for this e-mail address."
),
category
=
"error"
)
log
.
debug
(
u"Found an existing account for this e-mail address."
)
'''return render_title_template("user_edit.html",
content=current_user,
translations=translations,
kobo_support=kobo_support,
title=_(u"
%(name)
s's profile", name=current_user.nickname),
page="me",
registered_oauth=local_oauth_check,
oauth_status=oauth_status)'''
except
OperationalError
as
e
:
g
.
ubsession
.
rollback
()
log
.
error
(
"Database error:
%
s"
,
e
)
flash
(
_
(
u"Database error:
%(error)
s."
,
error
=
e
),
category
=
"error"
)
return
render_title_template
(
"user_edit.html"
,
translations
=
translations
,
profile
=
1
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment