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
36030b55
Commit
36030b55
authored
Jan 11, 2019
by
Ozzieisaacs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Choosing Theme is now a global setting
parent
d5a913e1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
30 additions
and
30 deletions
+30
-30
admin.html
cps/templates/admin.html
+2
-2
config_view_edit.html
cps/templates/config_view_edit.html
+7
-0
http_error.html
cps/templates/http_error.html
+1
-1
index.html
cps/templates/index.html
+1
-1
layout.html
cps/templates/layout.html
+2
-2
list.html
cps/templates/list.html
+1
-1
user_edit.html
cps/templates/user_edit.html
+0
-8
ub.py
cps/ub.py
+11
-11
web.py
cps/web.py
+5
-4
No files found.
cps/templates/admin.html
View file @
36030b55
...
@@ -144,7 +144,7 @@
...
@@ -144,7 +144,7 @@
<div
class=
"modal-body text-center"
>
<div
class=
"modal-body text-center"
>
<p>
{{_('Do you really want to restart Calibre-Web?')}}
</p>
<p>
{{_('Do you really want to restart Calibre-Web?')}}
</p>
<div
id=
"spinner"
class=
"spinner"
style=
"display:none;"
>
<div
id=
"spinner"
class=
"spinner"
style=
"display:none;"
>
<img
id=
"img-spinner"
src=
"
/static/css/images/loading-icon.gif
"
/>
<img
id=
"img-spinner"
src=
"
{{ url_for('static', filename='css/images/loading-icon.gif') }}
"
/>
</div>
</div>
<p></p>
<p></p>
<button
type=
"button"
class=
"btn btn-default"
id=
"restart"
>
{{_('Ok')}}
</button>
<button
type=
"button"
class=
"btn btn-default"
id=
"restart"
>
{{_('Ok')}}
</button>
...
@@ -176,7 +176,7 @@
...
@@ -176,7 +176,7 @@
</div>
</div>
<div
class=
"modal-body text-center"
>
<div
class=
"modal-body text-center"
>
<div
id=
"spinner2"
class=
"spinner2"
style=
"display:none;"
>
<div
id=
"spinner2"
class=
"spinner2"
style=
"display:none;"
>
<img
id=
"img-spinner"
src=
"
/static/css/images/loading-icon.gif
"
/>
<img
id=
"img-spinner"
src=
"
{{ url_for('static', filename='css/images/loading-icon.gif') }}
"
/>
</div>
</div>
<p></p>
<p></p>
<div
id=
"Updatecontent"
></div>
<div
id=
"Updatecontent"
></div>
...
...
cps/templates/config_view_edit.html
View file @
36030b55
...
@@ -27,6 +27,13 @@
...
@@ -27,6 +27,13 @@
<label
for=
"config_random_books"
>
{{_('No. of random books to show')}}
</label>
<label
for=
"config_random_books"
>
{{_('No. of random books to show')}}
</label>
<input
type=
"number"
min=
"1"
max=
"30"
class=
"form-control"
name=
"config_random_books"
id=
"config_random_books"
value=
"{% if content.config_random_books != None %}{{ content.config_random_books }}{% endif %}"
autocomplete=
"off"
>
<input
type=
"number"
min=
"1"
max=
"30"
class=
"form-control"
name=
"config_random_books"
id=
"config_random_books"
value=
"{% if content.config_random_books != None %}{{ content.config_random_books }}{% endif %}"
autocomplete=
"off"
>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"config_theme"
>
{{_('Theme')}}
</label>
<select
name=
"config_theme"
id=
"config_theme"
class=
"form-control"
>
<option
value=
"0"
{%
if
content
.
config_theme =
=
0
%}
selected
{%
endif
%}
>
{{ _("Standard Theme") }}
</option>
<option
value=
"1"
{%
if
content
.
config_theme =
=
1
%}
selected
{%
endif
%}
>
{{ _("caliBlur! Dark Theme (Beta)") }}
</option>
</select>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"config_columns_to_ignore"
>
{{_('Regular expression for ignoring columns')}}
</label>
<label
for=
"config_columns_to_ignore"
>
{{_('Regular expression for ignoring columns')}}
</label>
<input
type=
"text"
class=
"form-control"
name=
"config_columns_to_ignore"
id=
"config_columns_to_ignore"
value=
"{% if content.config_columns_to_ignore != None %}{{ content.config_columns_to_ignore }}{% endif %}"
autocomplete=
"off"
>
<input
type=
"text"
class=
"form-control"
name=
"config_columns_to_ignore"
id=
"config_columns_to_ignore"
value=
"{% if content.config_columns_to_ignore != None %}{{ content.config_columns_to_ignore }}{% endif %}"
autocomplete=
"off"
>
...
...
cps/templates/http_error.html
View file @
36030b55
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<link
rel=
"shortcut icon"
href=
"{{ url_for('static', filename='favicon.ico') }}"
>
<link
rel=
"shortcut icon"
href=
"{{ url_for('static', filename='favicon.ico') }}"
>
<link
href=
"{{ url_for('static', filename='css/libs/bootstrap.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/libs/bootstrap.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/style.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/style.css') }}"
rel=
"stylesheet"
media=
"screen"
>
{% if g.
user.ge
t_theme == 1 %}
{% if g.
curren
t_theme == 1 %}
<link
href=
"{{ url_for('static', filename='css/caliBlur.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/caliBlur.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
{% endif %}
{% endif %}
</head>
</head>
...
...
cps/templates/index.html
View file @
36030b55
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
</div>
</div>
{% endif %}
{% endif %}
<div
class=
"discover load-more"
>
<div
class=
"discover load-more"
>
<h2
>
{{title
}}
</h2>
<h2
class=
"{{title}}"
>
{{_(title)
}}
</h2>
<div
class=
"row"
>
<div
class=
"row"
>
{% if entries[0] %}
{% if entries[0] %}
{% for entry in entries %}
{% for entry in entries %}
...
...
cps/templates/layout.html
View file @
36030b55
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<link
rel=
"shortcut icon"
href=
"{{ url_for('static', filename='favicon.ico') }}"
>
<link
rel=
"shortcut icon"
href=
"{{ url_for('static', filename='favicon.ico') }}"
>
<link
href=
"{{ url_for('static', filename='css/libs/bootstrap.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/libs/bootstrap.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/style.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/style.css') }}"
rel=
"stylesheet"
media=
"screen"
>
{% if g.
user.ge
t_theme == 1 %}
{% if g.
curren
t_theme == 1 %}
<link
href=
"{{ url_for('static', filename='css/caliBlur.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
<link
href=
"{{ url_for('static', filename='css/caliBlur.min.css') }}"
rel=
"stylesheet"
media=
"screen"
>
{% endif %}
{% endif %}
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
...
@@ -240,7 +240,7 @@
...
@@ -240,7 +240,7 @@
<script
src=
"{{ url_for('static', filename='js/libs/plugins.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/plugins.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/jquery.form.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/jquery.form.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/main.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/main.js') }}"
></script>
{% if g.
user.ge
t_theme == 1 %}
{% if g.
curren
t_theme == 1 %}
<script
src=
"{{ url_for('static', filename='js/libs/jquery.visible.min.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/jquery.visible.min.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/compromise.min.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/compromise.min.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/readmore.min.js') }}"
></script>
<script
src=
"{{ url_for('static', filename='js/libs/readmore.min.js') }}"
></script>
...
...
cps/templates/list.html
View file @
36030b55
{% extends "layout.html" %}
{% extends "layout.html" %}
{% block body %}
{% block body %}
<h1
>
{{title
}}
</h1>
<h1
class=
"{{page}}"
>
{{_(title)
}}
</h1>
<div
class=
"container"
>
<div
class=
"container"
>
<div
class=
"col-xs-12 col-sm-6"
>
<div
class=
"col-xs-12 col-sm-6"
>
{% for entry in entries %}
{% for entry in entries %}
...
...
cps/templates/user_edit.html
View file @
36030b55
...
@@ -35,14 +35,6 @@
...
@@ -35,14 +35,6 @@
{% endfor %}
{% endfor %}
</select>
</select>
</div>
</div>
<div
class=
"form-group"
>
<label
for=
"theme"
>
{{_('Theme')}}
</label>
<select
name=
"theme"
id=
"theme"
class=
"form-control"
>
<option
value=
"0"
{%
if
content
.
get_theme =
=
0
%}
selected
{%
endif
%}
>
{{ _("Standard Theme") }}
</option>
<option
value=
"1"
{%
if
content
.
get_theme =
=
1
%}
selected
{%
endif
%}
>
{{ _("caliBlur! Dark Theme (Beta)") }}
</option>
</select>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"default_language"
>
{{_('Show books with language')}}
</label>
<label
for=
"default_language"
>
{{_('Show books with language')}}
</label>
<select
name=
"default_language"
id=
"default_language"
class=
"form-control"
>
<select
name=
"default_language"
id=
"default_language"
class=
"form-control"
>
...
...
cps/ub.py
View file @
36030b55
...
@@ -103,10 +103,6 @@ class UserBase:
...
@@ -103,10 +103,6 @@ class UserBase:
def
is_anonymous
(
self
):
def
is_anonymous
(
self
):
return
False
return
False
@
property
def
get_theme
(
self
):
return
self
.
theme
def
get_id
(
self
):
def
get_id
(
self
):
return
str
(
self
.
id
)
return
str
(
self
.
id
)
...
@@ -170,7 +166,7 @@ class User(UserBase, Base):
...
@@ -170,7 +166,7 @@ class User(UserBase, Base):
sidebar_view
=
Column
(
Integer
,
default
=
1
)
sidebar_view
=
Column
(
Integer
,
default
=
1
)
default_language
=
Column
(
String
(
3
),
default
=
"all"
)
default_language
=
Column
(
String
(
3
),
default
=
"all"
)
mature_content
=
Column
(
Boolean
,
default
=
True
)
mature_content
=
Column
(
Boolean
,
default
=
True
)
theme
=
Column
(
Integer
,
default
=
0
)
#
theme = Column(Integer, default=0)
# Class for anonymous user is derived from User base and completly overrides methods and properties for the
# Class for anonymous user is derived from User base and completly overrides methods and properties for the
...
@@ -316,6 +312,7 @@ class Settings(Base):
...
@@ -316,6 +312,7 @@ class Settings(Base):
config_converterpath
=
Column
(
String
)
config_converterpath
=
Column
(
String
)
config_calibre
=
Column
(
String
)
config_calibre
=
Column
(
String
)
config_rarfile_location
=
Column
(
String
)
config_rarfile_location
=
Column
(
String
)
config_theme
=
Column
(
Integer
,
default
=
0
)
def
__repr__
(
self
):
def
__repr__
(
self
):
pass
pass
...
@@ -389,6 +386,7 @@ class Config:
...
@@ -389,6 +386,7 @@ class Config:
if
data
.
config_logfile
:
if
data
.
config_logfile
:
self
.
config_logfile
=
data
.
config_logfile
self
.
config_logfile
=
data
.
config_logfile
self
.
config_rarfile_location
=
data
.
config_rarfile_location
self
.
config_rarfile_location
=
data
.
config_rarfile_location
self
.
config_theme
=
data
.
config_theme
@
property
@
property
def
get_main_dir
(
self
):
def
get_main_dir
(
self
):
...
@@ -610,12 +608,7 @@ def migrate_Database():
...
@@ -610,12 +608,7 @@ def migrate_Database():
except
exc
.
OperationalError
:
except
exc
.
OperationalError
:
conn
=
engine
.
connect
()
conn
=
engine
.
connect
()
conn
.
execute
(
"ALTER TABLE user ADD column `mature_content` INTEGER DEFAULT 1"
)
conn
.
execute
(
"ALTER TABLE user ADD column `mature_content` INTEGER DEFAULT 1"
)
try
:
session
.
query
(
exists
()
.
where
(
User
.
theme
))
.
scalar
()
except
exc
.
OperationalError
:
conn
=
engine
.
connect
()
conn
.
execute
(
"ALTER TABLE user ADD column `theme` INTEGER DEFAULT 0"
)
session
.
commit
()
if
session
.
query
(
User
)
.
filter
(
User
.
role
.
op
(
'&'
)(
ROLE_ANONYMOUS
)
==
ROLE_ANONYMOUS
)
.
first
()
is
None
:
if
session
.
query
(
User
)
.
filter
(
User
.
role
.
op
(
'&'
)(
ROLE_ANONYMOUS
)
==
ROLE_ANONYMOUS
)
.
first
()
is
None
:
create_anonymous_user
()
create_anonymous_user
()
try
:
try
:
...
@@ -668,6 +661,13 @@ def migrate_Database():
...
@@ -668,6 +661,13 @@ def migrate_Database():
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_converterpath` String DEFAULT ''"
)
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_converterpath` String DEFAULT ''"
)
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_calibre` String DEFAULT ''"
)
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_calibre` String DEFAULT ''"
)
session
.
commit
()
session
.
commit
()
try
:
session
.
query
(
exists
()
.
where
(
Settings
.
config_theme
))
.
scalar
()
except
exc
.
OperationalError
:
# Database is not compatible, some rows are missing
conn
=
engine
.
connect
()
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_theme` INTEGER DEFAULT 0"
)
session
.
commit
()
# Remove login capability of user Guest
# Remove login capability of user Guest
conn
=
engine
.
connect
()
conn
=
engine
.
connect
()
...
...
cps/web.py
View file @
36030b55
...
@@ -681,6 +681,7 @@ def before_request():
...
@@ -681,6 +681,7 @@ def before_request():
g
.
user
=
current_user
g
.
user
=
current_user
g
.
allow_registration
=
config
.
config_public_reg
g
.
allow_registration
=
config
.
config_public_reg
g
.
allow_upload
=
config
.
config_uploading
g
.
allow_upload
=
config
.
config_uploading
g
.
current_theme
=
config
.
config_theme
g
.
public_shelfes
=
ub
.
session
.
query
(
ub
.
Shelf
)
.
filter
(
ub
.
Shelf
.
is_public
==
1
)
.
order_by
(
ub
.
Shelf
.
name
)
.
all
()
g
.
public_shelfes
=
ub
.
session
.
query
(
ub
.
Shelf
)
.
filter
(
ub
.
Shelf
.
is_public
==
1
)
.
order_by
(
ub
.
Shelf
.
name
)
.
all
()
if
not
config
.
db_configured
and
request
.
endpoint
not
in
(
'basic_configuration'
,
'login'
)
and
'/static/'
not
in
request
.
path
:
if
not
config
.
db_configured
and
request
.
endpoint
not
in
(
'basic_configuration'
,
'login'
)
and
'/static/'
not
in
request
.
path
:
return
redirect
(
url_for
(
'basic_configuration'
))
return
redirect
(
url_for
(
'basic_configuration'
))
...
@@ -1418,7 +1419,7 @@ def author_list():
...
@@ -1418,7 +1419,7 @@ def author_list():
for
entry
in
entries
:
for
entry
in
entries
:
entry
.
Authors
.
name
=
entry
.
Authors
.
name
.
replace
(
'|'
,
','
)
entry
.
Authors
.
name
=
entry
.
Authors
.
name
.
replace
(
'|'
,
','
)
return
render_title_template
(
'list.html'
,
entries
=
entries
,
folder
=
'author'
,
return
render_title_template
(
'list.html'
,
entries
=
entries
,
folder
=
'author'
,
title
=
_
(
u"Author list"
)
,
page
=
"authorlist"
)
title
=
u"Author list"
,
page
=
"authorlist"
)
else
:
else
:
abort
(
404
)
abort
(
404
)
...
@@ -2842,7 +2843,6 @@ def profile():
...
@@ -2842,7 +2843,6 @@ def profile():
content
.
sidebar_view
+=
ub
.
DETAIL_RANDOM
content
.
sidebar_view
+=
ub
.
DETAIL_RANDOM
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
theme
=
int
(
to_save
[
"theme"
])
try
:
try
:
ub
.
session
.
commit
()
ub
.
session
.
commit
()
...
@@ -2903,6 +2903,8 @@ def view_configuration():
...
@@ -2903,6 +2903,8 @@ def view_configuration():
content
.
config_columns_to_ignore
=
to_save
[
"config_columns_to_ignore"
]
content
.
config_columns_to_ignore
=
to_save
[
"config_columns_to_ignore"
]
if
"config_read_column"
in
to_save
:
if
"config_read_column"
in
to_save
:
content
.
config_read_column
=
int
(
to_save
[
"config_read_column"
])
content
.
config_read_column
=
int
(
to_save
[
"config_read_column"
])
if
"config_theme"
in
to_save
:
content
.
config_theme
=
int
(
to_save
[
"config_theme"
])
if
"config_title_regex"
in
to_save
:
if
"config_title_regex"
in
to_save
:
if
content
.
config_title_regex
!=
to_save
[
"config_title_regex"
]:
if
content
.
config_title_regex
!=
to_save
[
"config_title_regex"
]:
content
.
config_title_regex
=
to_save
[
"config_title_regex"
]
content
.
config_title_regex
=
to_save
[
"config_title_regex"
]
...
@@ -2961,6 +2963,7 @@ def view_configuration():
...
@@ -2961,6 +2963,7 @@ def view_configuration():
ub
.
session
.
commit
()
ub
.
session
.
commit
()
flash
(
_
(
u"Calibre-Web configuration updated"
),
category
=
"success"
)
flash
(
_
(
u"Calibre-Web configuration updated"
),
category
=
"success"
)
config
.
loadSettings
()
config
.
loadSettings
()
before_request
()
if
reboot_required
:
if
reboot_required
:
# db.engine.dispose() # ToDo verify correct
# db.engine.dispose() # ToDo verify correct
# ub.session.close()
# ub.session.close()
...
@@ -3180,7 +3183,6 @@ def new_user():
...
@@ -3180,7 +3183,6 @@ def new_user():
to_save
=
request
.
form
.
to_dict
()
to_save
=
request
.
form
.
to_dict
()
content
.
default_language
=
to_save
[
"default_language"
]
content
.
default_language
=
to_save
[
"default_language"
]
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
theme
=
int
(
to_save
[
"theme"
])
if
"locale"
in
to_save
:
if
"locale"
in
to_save
:
content
.
locale
=
to_save
[
"locale"
]
content
.
locale
=
to_save
[
"locale"
]
content
.
sidebar_view
=
0
content
.
sidebar_view
=
0
...
@@ -3403,7 +3405,6 @@ def edit_user(user_id):
...
@@ -3403,7 +3405,6 @@ def edit_user(user_id):
content
.
sidebar_view
-=
ub
.
DETAIL_RANDOM
content
.
sidebar_view
-=
ub
.
DETAIL_RANDOM
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
mature_content
=
"show_mature_content"
in
to_save
content
.
theme
=
int
(
to_save
[
"theme"
])
if
"default_language"
in
to_save
:
if
"default_language"
in
to_save
:
content
.
default_language
=
to_save
[
"default_language"
]
content
.
default_language
=
to_save
[
"default_language"
]
...
...
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