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
f81fbaf5
Commit
f81fbaf5
authored
Aug 04, 2018
by
Ozzie Isaacs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix #568 (encoding problem in fb2 upload)
parent
82fe282e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
13 deletions
+15
-13
fb2.py
cps/fb2.py
+11
-9
helper.py
cps/helper.py
+3
-3
web.py
cps/web.py
+1
-1
No files found.
cps/fb2.py
View file @
f81fbaf5
...
@@ -20,41 +20,43 @@ def get_fb2_info(tmp_file_path, original_file_extension):
...
@@ -20,41 +20,43 @@ def get_fb2_info(tmp_file_path, original_file_extension):
def
get_author
(
element
):
def
get_author
(
element
):
last_name
=
element
.
xpath
(
'fb:last-name/text()'
,
namespaces
=
ns
)
last_name
=
element
.
xpath
(
'fb:last-name/text()'
,
namespaces
=
ns
)
if
len
(
last_name
):
if
len
(
last_name
):
last_name
=
last_name
[
0
]
last_name
=
last_name
[
0
]
.
encode
(
'utf-8'
)
else
:
else
:
last_name
=
u''
last_name
=
u''
middle_name
=
element
.
xpath
(
'fb:middle-name/text()'
,
namespaces
=
ns
)
middle_name
=
element
.
xpath
(
'fb:middle-name/text()'
,
namespaces
=
ns
)
if
len
(
middle_name
):
if
len
(
middle_name
):
middle_name
=
middle_name
[
0
]
middle_name
=
middle_name
[
0
]
.
encode
(
'utf-8'
)
else
:
else
:
middle_name
=
u''
middle_name
=
u''
first_name
=
element
.
xpath
(
'fb:first-name/text()'
,
namespaces
=
ns
)
first_name
=
element
.
xpath
(
'fb:first-name/text()'
,
namespaces
=
ns
)
if
len
(
first_name
):
if
len
(
first_name
):
first_name
=
first_name
[
0
]
first_name
=
first_name
[
0
]
.
encode
(
'utf-8'
)
else
:
else
:
first_name
=
u''
first_name
=
u''
return
first_name
+
' '
+
middle_name
+
' '
+
last_name
return
(
first_name
.
decode
(
'utf-8'
)
+
u' '
+
middle_name
.
decode
(
'utf-8'
)
+
u' '
+
last_name
.
decode
(
'utf-8'
))
.
encode
(
'utf-8'
)
author
=
str
(
", "
.
join
(
map
(
get_author
,
authors
)))
author
=
str
(
", "
.
join
(
map
(
get_author
,
authors
)))
title
=
tree
.
xpath
(
'/fb:FictionBook/fb:description/fb:title-info/fb:book-title/text()'
,
namespaces
=
ns
)
title
=
tree
.
xpath
(
'/fb:FictionBook/fb:description/fb:title-info/fb:book-title/text()'
,
namespaces
=
ns
)
if
len
(
title
):
if
len
(
title
):
title
=
str
(
title
[
0
])
title
=
str
(
title
[
0
]
.
encode
(
'utf-8'
)
)
else
:
else
:
title
=
u''
title
=
u''
description
=
tree
.
xpath
(
'/fb:FictionBook/fb:description/fb:publish-info/fb:book-name/text()'
,
namespaces
=
ns
)
description
=
tree
.
xpath
(
'/fb:FictionBook/fb:description/fb:publish-info/fb:book-name/text()'
,
namespaces
=
ns
)
if
len
(
description
):
if
len
(
description
):
description
=
str
(
description
[
0
])
description
=
str
(
description
[
0
]
.
encode
(
'utf-8'
)
)
else
:
else
:
description
=
u''
description
=
u''
return
uploader
.
BookMeta
(
return
uploader
.
BookMeta
(
file_path
=
tmp_file_path
,
file_path
=
tmp_file_path
,
extension
=
original_file_extension
,
extension
=
original_file_extension
,
title
=
title
.
encode
(
'utf-8'
)
.
decode
(
'utf-8'
),
title
=
title
.
decode
(
'utf-8'
),
author
=
author
.
encode
(
'utf-8'
)
.
decode
(
'utf-8'
),
author
=
author
.
decode
(
'utf-8'
),
cover
=
None
,
cover
=
None
,
description
=
description
,
description
=
description
.
decode
(
'utf-8'
)
,
tags
=
""
,
tags
=
""
,
series
=
""
,
series
=
""
,
series_id
=
""
,
series_id
=
""
,
...
...
cps/helper.py
View file @
f81fbaf5
...
@@ -379,7 +379,7 @@ def save_cover(url, book_path):
...
@@ -379,7 +379,7 @@ def save_cover(url, book_path):
img
=
requests
.
get
(
url
)
img
=
requests
.
get
(
url
)
if
img
.
headers
.
get
(
'content-type'
)
!=
'image/jpeg'
:
if
img
.
headers
.
get
(
'content-type'
)
!=
'image/jpeg'
:
web
.
app
.
logger
.
error
(
"Cover is no jpg file, can't save"
)
web
.
app
.
logger
.
error
(
"Cover is no jpg file, can't save"
)
return
f
alse
return
F
alse
if
ub
.
config
.
config_use_google_drive
:
if
ub
.
config
.
config_use_google_drive
:
tmpDir
=
gettempdir
()
tmpDir
=
gettempdir
()
...
@@ -388,13 +388,13 @@ def save_cover(url, book_path):
...
@@ -388,13 +388,13 @@ def save_cover(url, book_path):
f
.
close
()
f
.
close
()
uploadFileToEbooksFolder
(
os
.
path
.
join
(
book_path
,
'cover.jpg'
),
os
.
path
.
join
(
tmpDir
,
f
.
name
))
uploadFileToEbooksFolder
(
os
.
path
.
join
(
book_path
,
'cover.jpg'
),
os
.
path
.
join
(
tmpDir
,
f
.
name
))
web
.
app
.
logger
.
info
(
"Cover is saved on gdrive"
)
web
.
app
.
logger
.
info
(
"Cover is saved on gdrive"
)
return
t
rue
return
T
rue
f
=
open
(
os
.
path
.
join
(
ub
.
config
.
config_calibre_dir
,
book_path
,
"cover.jpg"
),
"wb"
)
f
=
open
(
os
.
path
.
join
(
ub
.
config
.
config_calibre_dir
,
book_path
,
"cover.jpg"
),
"wb"
)
f
.
write
(
img
.
content
)
f
.
write
(
img
.
content
)
f
.
close
()
f
.
close
()
web
.
app
.
logger
.
info
(
"Cover is saved"
)
web
.
app
.
logger
.
info
(
"Cover is saved"
)
return
t
rue
return
T
rue
def
do_download_file
(
book
,
book_format
,
data
,
headers
):
def
do_download_file
(
book
,
book_format
,
data
,
headers
):
if
ub
.
config
.
config_use_google_drive
:
if
ub
.
config
.
config_use_google_drive
:
...
...
cps/web.py
View file @
f81fbaf5
...
@@ -3096,7 +3096,7 @@ def edit_book(book_id):
...
@@ -3096,7 +3096,7 @@ def edit_book(book_id):
if
not
error
:
if
not
error
:
if
to_save
[
"cover_url"
]:
if
to_save
[
"cover_url"
]:
if
helper
.
save_cover
(
to_save
[
"cover_url"
],
book
.
path
)
is
t
rue
:
if
helper
.
save_cover
(
to_save
[
"cover_url"
],
book
.
path
)
is
T
rue
:
book
.
has_cover
=
1
book
.
has_cover
=
1
else
:
else
:
flash
(
_
(
u"Cover is not a jpg file, can't save"
),
category
=
"error"
)
flash
(
_
(
u"Cover is not a jpg file, can't save"
),
category
=
"error"
)
...
...
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