Add ANON_BROWSE configuration option

pull/18/head
janeczku 9 years ago
parent 554bc6aaf5
commit 3719b7e4eb

@ -10,3 +10,4 @@ TITLE_REGEX = ^(A|The|An|Der|Die|Das|Den|Ein|Eine|Einen|Dem|Des|Einem|Eines)\s+
DEVELOPMENT = 0 DEVELOPMENT = 0
PUBLIC_REG = 0 PUBLIC_REG = 0
UPLOADING = 0 UPLOADING = 0
ANON_BROWSE = 0

@ -60,7 +60,7 @@ TITLE_REGEX = check_setting_str(CFG, 'Advanced', 'TITLE_REGEX', '^(A|The|An|Der|
DEVELOPMENT = bool(check_setting_int(CFG, 'Advanced', 'DEVELOPMENT', 0)) DEVELOPMENT = bool(check_setting_int(CFG, 'Advanced', 'DEVELOPMENT', 0))
PUBLIC_REG = bool(check_setting_int(CFG, 'Advanced', 'PUBLIC_REG', 0)) PUBLIC_REG = bool(check_setting_int(CFG, 'Advanced', 'PUBLIC_REG', 0))
UPLOADING = bool(check_setting_int(CFG, 'Advanced', 'UPLOADING', 0)) UPLOADING = bool(check_setting_int(CFG, 'Advanced', 'UPLOADING', 0))
ANO_SHOW_BOOKS = bool(check_setting_int(CFG, 'Advanced', 'ANO_SHOW_BOOKS', 0)) ANON_BROWSE = bool(check_setting_int(CFG, 'Advanced', 'ANON_BROWSE', 0))
SYS_ENCODING="UTF-8" SYS_ENCODING="UTF-8"
@ -79,8 +79,7 @@ configval["DEVELOPMENT"] = DEVELOPMENT
configval["TITLE_REGEX"] = TITLE_REGEX configval["TITLE_REGEX"] = TITLE_REGEX
configval["PUBLIC_REG"] = PUBLIC_REG configval["PUBLIC_REG"] = PUBLIC_REG
configval["UPLOADING"] = UPLOADING configval["UPLOADING"] = UPLOADING
configval["ANO_SHOW_BOOKS"] = ANO_SHOW_BOOKS configval["ANON_BROWSE"] = ANON_BROWSE
def save_config(configval): def save_config(configval):
new_config = ConfigObj() new_config = ConfigObj()
@ -97,7 +96,7 @@ def save_config(configval):
new_config['Advanced']['DEVELOPMENT'] = int(configval["DEVELOPMENT"]) new_config['Advanced']['DEVELOPMENT'] = int(configval["DEVELOPMENT"])
new_config['Advanced']['PUBLIC_REG'] = int(configval["PUBLIC_REG"]) new_config['Advanced']['PUBLIC_REG'] = int(configval["PUBLIC_REG"])
new_config['Advanced']['UPLOADING'] = int(configval["UPLOADING"]) new_config['Advanced']['UPLOADING'] = int(configval["UPLOADING"])
new_config['Advanced']['ANO_SHOW_BOOKS'] = int(configval["ANO_SHOW_BOOKS"]) new_config['Advanced']['ANON_BROWSE'] = int(configval["ANON_BROWSE"])
new_config.write() new_config.write()
return "Saved" return "Saved"

@ -100,7 +100,7 @@ def requires_basic_auth_if_no_ano(f):
@wraps(f) @wraps(f)
def decorated(*args, **kwargs): def decorated(*args, **kwargs):
auth = request.authorization auth = request.authorization
if config.ANO_SHOW_BOOKS != 1: if config.ANON_BROWSE != 1:
if not auth or not check_auth(auth.username, auth.password): if not auth or not check_auth(auth.username, auth.password):
return authenticate() return authenticate()
return f(*args, **kwargs) return f(*args, **kwargs)
@ -148,7 +148,7 @@ def url_for_other_page(page):
app.jinja_env.globals['url_for_other_page'] = url_for_other_page app.jinja_env.globals['url_for_other_page'] = url_for_other_page
def login_required_if_no_ano(func): def login_required_if_no_ano(func):
if config.ANO_SHOW_BOOKS == 1: if config.ANON_BROWSE == 1:
return func return func
return login_required(func) return login_required(func)

@ -21,19 +21,27 @@ Calibre Web is a web app providing a clean interface for browsing, reading and d
- Support for reading eBooks directly in the browser - Support for reading eBooks directly in the browser
- Upload new books in PDF format - Upload new books in PDF format
- Support for Calibre custom columns - Support for Calibre custom columns
- Fine grained per-user permissions
## Quick start ## Quick start
1. Rename `config.ini.example` to `config.ini` and set DB_ROOT to the path of the folder where your Calibre library (metadata.db) lives 1. Rename `config.ini.example` to `config.ini` and set `DB_ROOT` to the path of the folder where your Calibre library (metadata.db) lives
2. To enable public user registration set PUBLIC_REG to 1 2. Execute the command: `python cps.py`
3. To enable uploading of PDF books set UPLOADING to 1 3. Point your browser to `http://localhost:8083` or `http://localhost:8083/feed` for the OPDS catalog
4. Execute the command: `python cps.py`
5. Point your browser to `http://localhost:8083` or `http://localhost:8083/feed` for the OPDS catalog
**Default admin login:** **Default admin login:**
*Username:* admin *Username:* admin
*Password:* admin123 *Password:* admin123
## Runtime Configuration Options
`PUBLIC_REG`
Set to 1 to enable public user registration.
`ANON_BROWSE`
Set to 1 to allow not logged in users to browse the catalog.
`UPLOADING`
Set to 1 to enable PDF uploading. This requires the imagemagick library to be installed.
## Requirements ## Requirements
Python 2.7+ Python 2.7+

Loading…
Cancel
Save