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
0138ff9e
Commit
0138ff9e
authored
May 02, 2020
by
Ozzieisaacs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added additional config options
parent
9bc085a2
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
47 additions
and
45 deletions
+47
-45
about.py
cps/about.py
+1
-1
admin.py
cps/admin.py
+1
-2
config_sql.py
cps/config_sql.py
+4
-2
converter.py
cps/converter.py
+7
-10
editbooks.py
cps/editbooks.py
+1
-1
helper.py
cps/helper.py
+2
-2
config_edit.html
cps/templates/config_edit.html
+29
-21
worker.py
cps/worker.py
+2
-6
No files found.
cps/about.py
View file @
0138ff9e
...
...
@@ -90,6 +90,6 @@ def stats():
categorys
=
db
.
session
.
query
(
db
.
Tags
)
.
count
()
series
=
db
.
session
.
query
(
db
.
Series
)
.
count
()
_VERSIONS
[
'ebook converter'
]
=
_
(
converter
.
get_calibre_version
())
_VERSIONS
[
'unrar'
]
=
_
(
converter
.
get_version
())
_VERSIONS
[
'unrar'
]
=
_
(
converter
.
get_
unrar_
version
())
return
render_title_template
(
'stats.html'
,
bookcounter
=
counter
,
authorcounter
=
authors
,
versions
=
_VERSIONS
,
categorycounter
=
categorys
,
seriecounter
=
series
,
title
=
_
(
u"Statistics"
),
page
=
"stat"
)
cps/admin.py
View file @
0138ff9e
...
...
@@ -534,10 +534,9 @@ def _configuration_update_helper():
reboot_required
|=
_config_checkbox_int
(
"config_kobo_sync"
)
_config_checkbox_int
(
"config_kobo_proxy"
)
_config_int
(
"config_ebookconverter"
)
_config_string
(
"config_calibre"
)
_config_string
(
"config_converterpath"
)
_config_string
(
"config_kepubifypath"
)
reboot_required
|=
_config_int
(
"config_login_type"
)
...
...
cps/config_sql.py
View file @
0138ff9e
...
...
@@ -87,7 +87,7 @@ class _Settings(_Base):
config_use_goodreads
=
Column
(
Boolean
,
default
=
False
)
config_goodreads_api_key
=
Column
(
String
)
config_goodreads_api_secret
=
Column
(
String
)
config_register_email
=
Column
(
Boolean
,
default
=
False
)
config_login_type
=
Column
(
Integer
,
default
=
0
)
config_kobo_proxy
=
Column
(
Boolean
,
default
=
False
)
...
...
@@ -107,10 +107,12 @@ class _Settings(_Base):
config_ldap_group_members_field
=
Column
(
String
,
default
=
'memberUid'
)
config_ldap_group_name
=
Column
(
String
,
default
=
'calibreweb'
)
config_ebookconverter
=
Column
(
Integer
,
default
=
0
)
# config_ebookconverter = Column(Integer, default=0)
config_kepubifypath
=
Column
(
String
)
config_converterpath
=
Column
(
String
)
config_calibre
=
Column
(
String
)
config_rarfile_location
=
Column
(
String
)
config_upload_formats
=
Column
(
String
)
config_updatechannel
=
Column
(
Integer
,
default
=
constants
.
UPDATE_STABLE
)
...
...
cps/converter.py
View file @
0138ff9e
...
...
@@ -29,8 +29,8 @@ log = logger.create()
# _() necessary to make babel aware of string for translation
_NOT_CONFIGURED
=
_
(
'not configured'
)
_NOT_INSTALLED
=
'not installed'
_EXECUTION_ERROR
=
'Execution permissions missing'
_NOT_INSTALLED
=
_
(
'not installed'
)
_EXECUTION_ERROR
=
_
(
'Execution permissions missing'
)
def
_get_command_version
(
path
,
pattern
,
argument
=
None
):
...
...
@@ -49,14 +49,11 @@ def _get_command_version(path, pattern, argument=None):
def
get_calibre_version
():
version
=
None
if
config
.
config_ebookconverter
==
2
:
version
=
_get_command_version
(
config
.
config_converterpath
,
r'ebook-convert.*\(calibre'
,
'--version'
)
return
version
or
_NOT_CONFIGURED
#
version = None
#
if config.config_ebookconverter == 2:
return
_get_command_version
(
config
.
config_converterpath
,
r'ebook-convert.*\(calibre'
,
'--version'
)
\
or
_NOT_CONFIGURED
def
get_unrar_version
():
version
=
None
if
config
.
config_ebookconverter
==
2
:
version
=
_get_command_version
(
config
.
config_converterpath
,
r'ebook-convert.*\(calibre'
,
'--version'
)
return
version
or
_NOT_CONFIGURED
return
_get_command_version
(
config
.
config_rarfile_location
,
r'UNRAR.*\d'
)
or
_NOT_CONFIGURED
cps/editbooks.py
View file @
0138ff9e
...
...
@@ -264,7 +264,7 @@ def render_edit_book(book_id):
# Option for showing convertbook button
valid_source_formats
=
list
()
if
config
.
config_
ebookconverter
==
2
:
if
config
.
config_
converterpath
:
for
file
in
book
.
data
:
if
file
.
format
.
lower
()
in
constants
.
EXTENSIONS_CONVERT
:
valid_source_formats
.
append
(
file
.
format
.
lower
())
...
...
cps/helper.py
View file @
0138ff9e
...
...
@@ -142,7 +142,7 @@ def check_send_to_kindle(entry):
"""
if
len
(
entry
.
data
):
bookformats
=
list
()
if
config
.
config_ebookconverter
==
0
:
if
not
config
.
config_converterpath
:
# no converter - only for mobi and pdf formats
for
ele
in
iter
(
entry
.
data
):
if
'MOBI'
in
ele
.
format
:
...
...
@@ -173,7 +173,7 @@ def check_send_to_kindle(entry):
bookformats
.
append
({
'format'
:
'Pdf'
,
'convert'
:
0
,
'text'
:
_
(
'Send
%(format)
s to Kindle'
,
format
=
'Pdf'
)})
if
config
.
config_
ebookconverter
==
2
:
if
config
.
config_
converterpath
:
if
'EPUB'
in
formats
and
not
'MOBI'
in
formats
:
bookformats
.
append
({
'format'
:
'Mobi'
,
'convert'
:
1
,
...
...
cps/templates/config_edit.html
View file @
0138ff9e
...
...
@@ -154,17 +154,29 @@
<div
id=
"collapsefive"
class=
"panel-collapse collapse"
>
<div
class=
"panel-body"
>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_uploading"
name=
"config_uploading"
{%
if
config
.
config_uploading
%}
checked
{%
endif
%}
>
<input
type=
"checkbox"
id=
"config_uploading"
data-control=
"upload_settings"
name=
"config_uploading"
{%
if
config
.
config_uploading
%}
checked
{%
endif
%}
>
<label
for=
"config_uploading"
>
{{_('Enable Uploads')}}
</label>
</div>
<div
data-related=
"upload_settings"
>
<div
class=
"form-group"
>
<label
for=
"config_upload_formats"
>
{{_('Allowed Upload Fileformats')}}
</label>
<input
type=
"text"
class=
"form-control"
name=
"config_upload_formats"
id=
"config_upload_formats"
value=
"{% if config.config_upload_formats != None %}{{ config.config_upload_formats }}{% endif %}"
autocomplete=
"off"
>
</div>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_anonbrowse"
name=
"config_anonbrowse"
{%
if
config
.
config_anonbrowse
%}
checked
{%
endif
%}
>
<label
for=
"config_anonbrowse"
>
{{_('Enable Anonymous Browsing')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_public_reg"
name=
"config_public_reg"
{%
if
config
.
config_public_reg
%}
checked
{%
endif
%}
>
<input
type=
"checkbox"
id=
"config_public_reg"
data-control=
"register_settings"
name=
"config_public_reg"
{%
if
config
.
config_public_reg
%}
checked
{%
endif
%}
>
<label
for=
"config_public_reg"
>
{{_('Enable Public Registration')}}
</label>
</div>
<div
data-related=
"register_settings"
>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_register_email"
name=
"config_register_email"
{%
if
config
.
config_register_email
%}
checked
{%
endif
%}
>
<label
for=
"config_register_email"
>
{{_('Use E-Mail as Username')}}
</label>
</div>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_remote_login"
name=
"config_remote_login"
{%
if
config
.
config_remote_login
%}
checked
{%
endif
%}
>
<label
for=
"config_remote_login"
>
{{_('Enable Magic Link Remote Login')}}
</label>
...
...
@@ -327,27 +339,23 @@
<div
id=
"collapseeight"
class=
"panel-collapse collapse"
>
<div
class=
"panel-body"
>
<div
class=
"form-group"
>
<div><input
type=
"radio"
name=
"config_ebookconverter"
id=
"converter0"
value=
"0"
{%
if
config
.
config_ebookconverter =
=
0
%}
checked
{%
endif
%}
>
<label
for=
"converter0"
>
{{_('No Converter')}}
</label></div>
<div><input
type=
"radio"
name=
"config_ebookconverter"
id=
"converter2"
value=
"2"
{%
if
config
.
config_ebookconverter =
=
2
%}
checked
{%
endif
%}
>
<label
for=
"converter2"
>
{{_('Use calibre\'s ebook converter')}}
</label></div>
<label
for=
"config_calibre"
>
{{_('Calibre E-Book Converter Settings')}}
</label>
<input
type=
"text"
class=
"form-control"
id=
"config_calibre"
name=
"config_calibre"
value=
"{% if config.config_calibre != None %}{{ config.config_calibre }}{% endif %}"
autocomplete=
"off"
>
</div>
<div
data-related=
"calibre"
>
<div
class=
"form-group"
>
<label
for=
"config_calibre"
>
{{_('E-Book converter settings')}}
</label>
<input
type=
"text"
class=
"form-control"
id=
"config_calibre"
name=
"config_calibre"
value=
"{% if config.config_calibre != None %}{{ config.config_calibre }}{% endif %}"
autocomplete=
"off"
>
</div>
<div
class=
"form-group"
>
<label
for=
"config_calibre"
>
{{_('Path to convertertool')}}
</label>
<input
type=
"text"
class=
"form-control"
id=
"config_converterpath"
name=
"config_converterpath"
value=
"{% if config.config_converterpath != None %}{{ config.config_converterpath }}{% endif %}"
autocomplete=
"off"
>
</div>
<div
class=
"form-group"
>
<label
for=
"config_converterpath"
>
{{_('Path to Calibre E-Book Converter')}}
</label>
<input
type=
"text"
class=
"form-control"
id=
"config_converterpath"
name=
"config_converterpath"
value=
"{% if config.config_converterpath != None %}{{ config.config_converterpath }}{% endif %}"
autocomplete=
"off"
>
</div>
{% if feature_support['rar'] %}
<div
class=
"form-group"
>
<label
for=
"config_rarfile_location"
>
{{_('Location of Unrar binary')}}
</label>
<input
type=
"text"
class=
"form-control"
name=
"config_rarfile_location"
id=
"config_rarfile_location"
value=
"{% if config.config_rarfile_location != None %}{{ config.config_rarfile_location }}{% endif %}"
autocomplete=
"off"
>
</div>
{% endif %}
<div
class=
"form-group"
>
<label
for=
"config_calibre"
>
{{_('Path to Kepubify E-Book Converter')}}
</label>
<input
type=
"text"
class=
"form-control"
id=
"config_kepubifypath"
name=
"config_converterpath"
value=
"{% if config.config_kepubifypath != None %}{{ config.config_kepubifypath }}{% endif %}"
autocomplete=
"off"
>
</div>
{% if feature_support['rar'] %}
<div
class=
"form-group"
>
<label
for=
"config_rarfile_location"
>
{{_('Location of Unrar binary')}}
</label>
<input
type=
"text"
class=
"form-control"
name=
"config_rarfile_location"
id=
"config_rarfile_location"
value=
"{% if config.config_rarfile_location != None %}{{ config.config_rarfile_location }}{% endif %}"
autocomplete=
"off"
>
</div>
{% endif %}
</div>
</div>
</div>
...
...
cps/worker.py
View file @
0138ff9e
...
...
@@ -297,7 +297,7 @@ class WorkerThread(threading.Thread):
return
try
:
if
config
.
config_
ebookconverter
==
2
:
if
config
.
config_
converterpath
:
# Linux py2.7 encode as list without quotes no empty element for parameters
# linux py3.x no encode and as list without quotes no empty element for parameters
# windows py2.7 encode as string with quotes empty element for parameters is okay
...
...
@@ -341,11 +341,7 @@ class WorkerThread(threading.Thread):
if
not
ele
.
startswith
(
'Traceback'
)
and
not
ele
.
startswith
(
' File'
):
error_message
=
"Calibre failed with error:
%
s"
%
ele
.
strip
(
'
\n
'
)
# kindlegen returncodes
# 0 = Info(prcgen):I1036: Mobi file built successfully
# 1 = Info(prcgen):I1037: Mobi file built with WARNINGS!
# 2 = Info(prcgen):I1038: MOBI file could not be generated because of errors!
if
check
==
0
and
config
.
config_ebookconverter
==
2
:
if
check
==
0
:
cur_book
=
db
.
session
.
query
(
db
.
Books
)
.
filter
(
db
.
Books
.
id
==
bookid
)
.
first
()
if
os
.
path
.
isfile
(
file_path
+
format_new_ext
):
new_format
=
db
.
Data
(
name
=
cur_book
.
data
[
0
]
.
name
,
...
...
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