Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Matrix
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container Registry
Model registry
Operate
Environments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
TeDomum
Matrix
Commits
08fa96f0
Commit
08fa96f0
authored
4 years ago
by
Richard van der Hoff
Browse files
Options
Downloads
Patches
Plain Diff
Remove `exception_to_unicode`
this is a no-op on python 3.
parent
572b444d
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
synapse/storage/database.py
+3
-12
3 additions, 12 deletions
synapse/storage/database.py
synapse/util/stringutils.py
+0
-36
0 additions, 36 deletions
synapse/util/stringutils.py
with
3 additions
and
48 deletions
synapse/storage/database.py
+
3
−
12
View file @
08fa96f0
...
...
@@ -50,7 +50,6 @@ from synapse.storage.background_updates import BackgroundUpdater
from
synapse.storage.engines
import
BaseDatabaseEngine
,
PostgresEngine
,
Sqlite3Engine
from
synapse.storage.types
import
Connection
,
Cursor
from
synapse.types
import
Collection
from
synapse.util.stringutils
import
exception_to_unicode
logger
=
logging
.
getLogger
(
__name__
)
...
...
@@ -424,20 +423,14 @@ class Database(object):
# This can happen if the database disappears mid
# transaction.
logger
.
warning
(
"
[TXN OPERROR] {%s} %s %d/%d
"
,
name
,
exception_to_unicode
(
e
),
i
,
N
,
"
[TXN OPERROR] {%s} %s %d/%d
"
,
name
,
e
,
i
,
N
,
)
if
i
<
N
:
i
+=
1
try
:
conn
.
rollback
()
except
self
.
engine
.
module
.
Error
as
e1
:
logger
.
warning
(
"
[TXN EROLL] {%s} %s
"
,
name
,
exception_to_unicode
(
e1
)
)
logger
.
warning
(
"
[TXN EROLL] {%s} %s
"
,
name
,
e1
)
continue
raise
except
self
.
engine
.
module
.
DatabaseError
as
e
:
...
...
@@ -449,9 +442,7 @@ class Database(object):
conn
.
rollback
()
except
self
.
engine
.
module
.
Error
as
e1
:
logger
.
warning
(
"
[TXN EROLL] {%s} %s
"
,
name
,
exception_to_unicode
(
e1
),
"
[TXN EROLL] {%s} %s
"
,
name
,
e1
,
)
continue
raise
...
...
This diff is collapsed.
Click to expand it.
synapse/util/stringutils.py
+
0
−
36
View file @
08fa96f0
...
...
@@ -85,42 +85,6 @@ def to_ascii(s):
return
s
def
exception_to_unicode
(
e
):
"""
Helper function to extract the text of an exception as a unicode string
Args:
e (Exception): exception to be stringified
Returns:
unicode
"""
# urgh, this is a mess. The basic problem here is that psycopg2 constructs its
# exceptions with PyErr_SetString, with a (possibly non-ascii) argument. str() will
# then produce the raw byte sequence. Under Python 2, this will then cause another
# error if it gets mixed with a `unicode` object, as per
# https://github.com/matrix-org/synapse/issues/4252
# First of all, if we're under python3, everything is fine because it will sort this
# nonsense out for us.
if
not
PY2
:
return
str
(
e
)
# otherwise let's have a stab at decoding the exception message. We'll circumvent
# Exception.__str__(), which would explode if someone raised Exception(u'non-ascii')
# and instead look at what is in the args member.
if
len
(
e
.
args
)
==
0
:
return
""
elif
len
(
e
.
args
)
>
1
:
return
six
.
text_type
(
repr
(
e
.
args
))
msg
=
e
.
args
[
0
]
if
isinstance
(
msg
,
bytes
):
return
msg
.
decode
(
"
utf-8
"
,
errors
=
"
replace
"
)
else
:
return
msg
def
assert_valid_client_secret
(
client_secret
):
"""
Validate that a given string matches the client_secret regex defined by the spec
"""
if
client_secret_regex
.
match
(
client_secret
)
is
None
:
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment