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
aee5ca0e
Commit
aee5ca0e
authored
Nov 30, 2017
by
OzzieIsaacs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#396 implemented
parent
f1fac282
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
134 additions
and
3 deletions
+134
-3
config_edit.html
cps/templates/config_edit.html
+53
-1
messages.po
cps/translations/de/LC_MESSAGES/messages.po
+1
-1
ub.py
cps/ub.py
+53
-1
web.py
cps/web.py
+27
-0
No files found.
cps/templates/config_edit.html
View file @
aee5ca0e
...
@@ -88,6 +88,7 @@
...
@@ -88,6 +88,7 @@
<option
value=
"40"
{%
if
content
.
config_log_level =
=
40
%}
selected
{%
endif
%}
>
ERROR
</option>
<option
value=
"40"
{%
if
content
.
config_log_level =
=
40
%}
selected
{%
endif
%}
>
ERROR
</option>
</select>
</select>
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<input
type=
"checkbox"
id=
"config_uploading"
name=
"config_uploading"
{%
if
content
.
config_uploading
%}
checked
{%
endif
%}
>
<input
type=
"checkbox"
id=
"config_uploading"
name=
"config_uploading"
{%
if
content
.
config_uploading
%}
checked
{%
endif
%}
>
<label
for=
"config_uploading"
>
{{_('Enable uploading')}}
</label>
<label
for=
"config_uploading"
>
{{_('Enable uploading')}}
</label>
...
@@ -121,7 +122,6 @@
...
@@ -121,7 +122,6 @@
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
<h2>
{{_('Default Settings for new users')}}
</h2>
<h2>
{{_('Default Settings for new users')}}
</h2>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"admin_role"
id=
"admin_role"
{%
if
content
.
role_admin
()
%}
checked
{%
endif
%}
>
<input
type=
"checkbox"
name=
"admin_role"
id=
"admin_role"
{%
if
content
.
role_admin
()
%}
checked
{%
endif
%}
>
...
@@ -151,6 +151,57 @@
...
@@ -151,6 +151,57 @@
<input
type=
"checkbox"
name=
"edit_shelf_role"
id=
"edit_shelf_role"
{%
if
content
.
role_edit_shelfs
()
%}
checked
{%
endif
%}
>
<input
type=
"checkbox"
name=
"edit_shelf_role"
id=
"edit_shelf_role"
{%
if
content
.
role_edit_shelfs
()
%}
checked
{%
endif
%}
>
<label
for=
"edit_shelf_role"
>
{{_('Allow Editing Public Shelfs')}}
</label>
<label
for=
"edit_shelf_role"
>
{{_('Allow Editing Public Shelfs')}}
</label>
</div>
</div>
</div>
<div
class=
"col-sm-6"
>
<h3>
{{_('Default visiblities for new users')}}
</h3>
<div
class=
"col-sm-6"
>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_random"
id=
"show_random"
{%
if
content
.
show_random_books
()
%}
checked
{%
endif
%}
>
<label
for=
"show_random"
>
{{_('Show random books')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_recent"
id=
"show_recent"
{%
if
content
.
show_recent
()
%}
checked
{%
endif
%}
>
<label
for=
"show_recent"
>
{{_('Show recent books')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_sorted"
id=
"show_sorted"
{%
if
content
.
show_sorted
()
%}
checked
{%
endif
%}
>
<label
for=
"show_sorted"
>
{{_('Show sorted books')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_hot"
id=
"show_hot"
{%
if
content
.
show_hot_books
()
%}
checked
{%
endif
%}
>
<label
for=
"show_hot"
>
{{_('Show hot books')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_best_rated"
id=
"show_best_rated"
{%
if
content
.
show_best_rated_books
()
%}
checked
{%
endif
%}
>
<label
for=
"show_best_rated"
>
{{_('Show best rated books')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_language"
id=
"show_language"
{%
if
content
.
show_language
()
%}
checked
{%
endif
%}
>
<label
for=
"show_language"
>
{{_('Show language selection')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_series"
id=
"show_series"
{%
if
content
.
show_series
()
%}
checked
{%
endif
%}
>
<label
for=
"show_series"
>
{{_('Show series selection')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_category"
id=
"show_category"
{%
if
content
.
show_category
()
%}
checked
{%
endif
%}
>
<label
for=
"show_category"
>
{{_('Show category selection')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_author"
id=
"show_author"
{%
if
content
.
show_author
()
%}
checked
{%
endif
%}
>
<label
for=
"show_author"
>
{{_('Show author selection')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_read_and_unread"
id=
"show_read_and_unread"
{%
if
content
.
show_read_and_unread
()
%}
checked
{%
endif
%}
>
<label
for=
"show_read_and_unread"
>
{{_('Show read and unread')}}
</label>
</div>
<div
class=
"form-group"
>
<input
type=
"checkbox"
name=
"show_detail_random"
id=
"show_detail_random"
{%
if
content
.
show_detail_random
()
%}
checked
{%
endif
%}
>
<label
for=
"show_detail_random"
>
{{_('Show random books in detail view')}}
</label>
</div>
</div>
</div>
<div
class=
"col-sm-12"
>
<button
type=
"submit"
class=
"btn btn-default"
>
{{_('Submit')}}
</button>
<button
type=
"submit"
class=
"btn btn-default"
>
{{_('Submit')}}
</button>
{% if not origin %}
{% if not origin %}
<a
href=
"{{ url_for('admin') }}"
class=
"btn btn-default"
>
{{_('Back')}}
</a>
<a
href=
"{{ url_for('admin') }}"
class=
"btn btn-default"
>
{{_('Back')}}
</a>
...
@@ -158,6 +209,7 @@
...
@@ -158,6 +209,7 @@
{% if success %}
{% if success %}
<a
href=
"{{ url_for('login') }}"
class=
"btn btn-default"
>
{{_('Login')}}
</a>
<a
href=
"{{ url_for('login') }}"
class=
"btn btn-default"
>
{{_('Login')}}
</a>
{% endif %}
{% endif %}
</div>
</form>
</form>
</div>
</div>
{% endblock %}
{% endblock %}
...
...
cps/translations/de/LC_MESSAGES/messages.po
View file @
aee5ca0e
...
@@ -1284,7 +1284,7 @@ msgstr "Zeige Zufällige Bücher"
...
@@ -1284,7 +1284,7 @@ msgstr "Zeige Zufällige Bücher"
#: cps/templates/user_edit.html:50
#: cps/templates/user_edit.html:50
msgid "Show recent books"
msgid "Show recent books"
msgstr " kürzlich hinzugefügte Bücher"
msgstr "
Zeige
kürzlich hinzugefügte Bücher"
#: cps/templates/user_edit.html:54
#: cps/templates/user_edit.html:54
msgid "Show sorted books"
msgid "Show sorted books"
...
...
cps/ub.py
View file @
aee5ca0e
...
@@ -281,6 +281,7 @@ class Settings(Base):
...
@@ -281,6 +281,7 @@ class Settings(Base):
config_anonbrowse
=
Column
(
SmallInteger
,
default
=
0
)
config_anonbrowse
=
Column
(
SmallInteger
,
default
=
0
)
config_public_reg
=
Column
(
SmallInteger
,
default
=
0
)
config_public_reg
=
Column
(
SmallInteger
,
default
=
0
)
config_default_role
=
Column
(
SmallInteger
,
default
=
0
)
config_default_role
=
Column
(
SmallInteger
,
default
=
0
)
config_default_show
=
Column
(
SmallInteger
,
default
=
2047
)
config_columns_to_ignore
=
Column
(
String
)
config_columns_to_ignore
=
Column
(
String
)
config_use_google_drive
=
Column
(
Boolean
)
config_use_google_drive
=
Column
(
Boolean
)
config_google_drive_client_id
=
Column
(
String
)
config_google_drive_client_id
=
Column
(
String
)
...
@@ -288,7 +289,6 @@ class Settings(Base):
...
@@ -288,7 +289,6 @@ class Settings(Base):
config_google_drive_folder
=
Column
(
String
)
config_google_drive_folder
=
Column
(
String
)
config_google_drive_calibre_url_base
=
Column
(
String
)
config_google_drive_calibre_url_base
=
Column
(
String
)
config_google_drive_watch_changes_response
=
Column
(
String
)
config_google_drive_watch_changes_response
=
Column
(
String
)
#config_columns_to_ignore = Column(String)
config_remote_login
=
Column
(
Boolean
)
config_remote_login
=
Column
(
Boolean
)
config_use_goodreads
=
Column
(
Boolean
)
config_use_goodreads
=
Column
(
Boolean
)
config_goodreads_api_key
=
Column
(
String
)
config_goodreads_api_key
=
Column
(
String
)
...
@@ -337,6 +337,7 @@ class Config:
...
@@ -337,6 +337,7 @@ class Config:
self
.
config_anonbrowse
=
data
.
config_anonbrowse
self
.
config_anonbrowse
=
data
.
config_anonbrowse
self
.
config_public_reg
=
data
.
config_public_reg
self
.
config_public_reg
=
data
.
config_public_reg
self
.
config_default_role
=
data
.
config_default_role
self
.
config_default_role
=
data
.
config_default_role
self
.
config_default_show
=
data
.
config_default_show
self
.
config_columns_to_ignore
=
data
.
config_columns_to_ignore
self
.
config_columns_to_ignore
=
data
.
config_columns_to_ignore
self
.
config_use_google_drive
=
data
.
config_use_google_drive
self
.
config_use_google_drive
=
data
.
config_use_google_drive
self
.
config_google_drive_client_id
=
data
.
config_google_drive_client_id
self
.
config_google_drive_client_id
=
data
.
config_google_drive_client_id
...
@@ -400,6 +401,50 @@ class Config:
...
@@ -400,6 +401,50 @@ class Config:
return
bool
((
self
.
config_default_role
is
not
None
)
and
return
bool
((
self
.
config_default_role
is
not
None
)
and
(
self
.
config_default_role
&
ROLE_DELETE_BOOKS
==
ROLE_DELETE_BOOKS
))
(
self
.
config_default_role
&
ROLE_DELETE_BOOKS
==
ROLE_DELETE_BOOKS
))
def
show_detail_random
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
DETAIL_RANDOM
==
DETAIL_RANDOM
))
def
show_language
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_LANGUAGE
==
SIDEBAR_LANGUAGE
))
def
show_series
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_SERIES
==
SIDEBAR_SERIES
))
def
show_category
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_CATEGORY
==
SIDEBAR_CATEGORY
))
def
show_hot_books
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_HOT
==
SIDEBAR_HOT
))
def
show_random_books
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_RANDOM
==
SIDEBAR_RANDOM
))
def
show_author
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_AUTHOR
==
SIDEBAR_AUTHOR
))
def
show_best_rated_books
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_BEST_RATED
==
SIDEBAR_BEST_RATED
))
def
show_read_and_unread
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_READ_AND_UNREAD
==
SIDEBAR_READ_AND_UNREAD
))
def
show_recent
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_RECENT
==
SIDEBAR_RECENT
))
def
show_sorted
(
self
):
return
bool
((
self
.
config_default_show
is
not
None
)
and
(
self
.
config_default_show
&
SIDEBAR_SORTED
==
SIDEBAR_SORTED
))
def
mature_content_tags
(
self
):
def
mature_content_tags
(
self
):
if
sys
.
version_info
>
(
3
,
0
):
# Python3 str, Python2 unicode
if
sys
.
version_info
>
(
3
,
0
):
# Python3 str, Python2 unicode
lstrip
=
str
.
lstrip
lstrip
=
str
.
lstrip
...
@@ -532,6 +577,13 @@ def migrate_Database():
...
@@ -532,6 +577,13 @@ def migrate_Database():
except
exc
.
OperationalError
:
except
exc
.
OperationalError
:
conn
=
engine
.
connect
()
conn
=
engine
.
connect
()
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_mature_content_tags` String DEFAULT ''"
)
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_mature_content_tags` String DEFAULT ''"
)
try
:
session
.
query
(
exists
()
.
where
(
Settings
.
config_default_show
))
.
scalar
()
session
.
commit
()
except
exc
.
OperationalError
:
# Database is not compatible, some rows are missing
conn
=
engine
.
connect
()
conn
.
execute
(
"ALTER TABLE Settings ADD column `config_default_show` SmallInteger DEFAULT 2047"
)
session
.
commit
()
def
clean_database
():
def
clean_database
():
...
...
cps/web.py
View file @
aee5ca0e
...
@@ -1933,6 +1933,7 @@ def register():
...
@@ -1933,6 +1933,7 @@ def register():
content
.
nickname
=
to_save
[
"nickname"
]
content
.
nickname
=
to_save
[
"nickname"
]
content
.
email
=
to_save
[
"email"
]
content
.
email
=
to_save
[
"email"
]
content
.
role
=
config
.
config_default_role
content
.
role
=
config
.
config_default_role
content
.
sidebar_view
=
config
.
config_default_show
try
:
try
:
ub
.
session
.
add
(
content
)
ub
.
session
.
add
(
content
)
ub
.
session
.
commit
()
ub
.
session
.
commit
()
...
@@ -2484,6 +2485,7 @@ def configuration_helper(origin):
...
@@ -2484,6 +2485,7 @@ def configuration_helper(origin):
if
"config_mature_content_tags"
in
to_save
:
if
"config_mature_content_tags"
in
to_save
:
content
.
config_mature_content_tags
=
to_save
[
"config_mature_content_tags"
]
.
strip
()
content
.
config_mature_content_tags
=
to_save
[
"config_mature_content_tags"
]
.
strip
()
# Default user configuration
content
.
config_default_role
=
0
content
.
config_default_role
=
0
if
"admin_role"
in
to_save
:
if
"admin_role"
in
to_save
:
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_ADMIN
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_ADMIN
...
@@ -2499,6 +2501,30 @@ def configuration_helper(origin):
...
@@ -2499,6 +2501,30 @@ def configuration_helper(origin):
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_PASSWD
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_PASSWD
if
"passwd_role"
in
to_save
:
if
"passwd_role"
in
to_save
:
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_EDIT_SHELFS
content
.
config_default_role
=
content
.
config_default_role
+
ub
.
ROLE_EDIT_SHELFS
content
.
config_default_show
=
0
if
"show_detail_random"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
DETAIL_RANDOM
if
"show_language"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_LANGUAGE
if
"show_series"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_SERIES
if
"show_category"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_CATEGORY
if
"show_hot"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_HOT
if
"show_random"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_RANDOM
if
"show_author"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_AUTHOR
if
"show_best_rated"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_BEST_RATED
if
"show_read_and_unread"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_READ_AND_UNREAD
if
"show_recent"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_RECENT
if
"show_sorted"
in
to_save
:
content
.
config_default_show
=
content
.
config_default_show
+
ub
.
SIDEBAR_SORTED
try
:
try
:
if
content
.
config_use_google_drive
and
is_gdrive_ready
()
and
not
os
.
path
.
exists
(
config
.
config_calibre_dir
+
"/metadata.db"
):
if
content
.
config_use_google_drive
and
is_gdrive_ready
()
and
not
os
.
path
.
exists
(
config
.
config_calibre_dir
+
"/metadata.db"
):
gdriveutils
.
downloadFile
(
Gdrive
.
Instance
()
.
drive
,
None
,
"metadata.db"
,
config
.
config_calibre_dir
+
"/metadata.db"
)
gdriveutils
.
downloadFile
(
Gdrive
.
Instance
()
.
drive
,
None
,
"metadata.db"
,
config
.
config_calibre_dir
+
"/metadata.db"
)
...
@@ -2607,6 +2633,7 @@ def new_user():
...
@@ -2607,6 +2633,7 @@ def new_user():
flash
(
_
(
u"Found an existing account for this email address or nickname."
),
category
=
"error"
)
flash
(
_
(
u"Found an existing account for this email address or nickname."
),
category
=
"error"
)
else
:
else
:
content
.
role
=
config
.
config_default_role
content
.
role
=
config
.
config_default_role
content
.
sidebar_view
=
config
.
config_default_show
return
render_title_template
(
"user_edit.html"
,
new_user
=
1
,
content
=
content
,
translations
=
translations
,
return
render_title_template
(
"user_edit.html"
,
new_user
=
1
,
content
=
content
,
translations
=
translations
,
languages
=
languages
,
title
=
_
(
u"Add new user"
))
languages
=
languages
,
title
=
_
(
u"Add new user"
))
...
...
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