Merge pull request 'optimize' (#1) from optimize into master
Reviewed-on: MassiveAtoms/Calibre-Server#1
This commit is contained in:
commit
071b82121c
Binary file not shown.
@ -11,13 +11,48 @@ https://docs.djangoproject.com/en/3.0/ref/settings/
|
||||
"""
|
||||
|
||||
import os
|
||||
import json
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
with open( BASE_DIR + "/settings.json", "r") as userfile:
|
||||
usersettings = json.load(userfile)
|
||||
CALIBRE_DIR = os.path.abspath(usersettings["CALIBRE_DIR"])
|
||||
SECRET_KEY = usersettings["SECRET_KEY"]
|
||||
ALLOWED_HOSTS = usersettings["ALLOWED_HOSTS"]
|
||||
INTERNAL_IPS = usersettings["INTERNAL_IPS"]
|
||||
|
||||
|
||||
# CALIBRE_DIR = os.path.abspath(
|
||||
# "C:\\Users\\MassiveAtoms\\Documents\\Calibre Library")
|
||||
# SECRET_KEY = 'u(8^+rb%rz5hsx4v^^y(ul7g(4n7a8!db@s*9(m5cs*2_ppy8+'
|
||||
# ALLOWED_HOSTS = ['127.0.0.1', ]
|
||||
# INTERNAL_IPS = ['127.0.0.1', ]
|
||||
|
||||
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
CALIBRE_DIR = os.path.abspath(
|
||||
"C:\\Users\\MassiveAtoms\\Documents\\Calibre Library")
|
||||
|
||||
|
||||
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
|
||||
# optimisation stuff ###############################################3
|
||||
# #
|
||||
CONN_MAX_AGE = 60 * 5
|
||||
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
|
||||
'LOCATION': 'unique-snowflake',
|
||||
"TIMEOUT" : 60 * 5,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
## ##
|
||||
########################################################################
|
||||
## STATIC FILES ##
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/3.0/howto/static-files/
|
||||
@ -28,23 +63,9 @@ STATICFILES_DIRS = [
|
||||
]
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/
|
||||
|
||||
# SECURITY WARNING: keep the secret key used in production secret!
|
||||
SECRET_KEY = 'u(8^+rb%rz5hsx4v^^y(ul7g(4n7a8!db@s*9(m5cs*2_ppy8+'
|
||||
|
||||
|
||||
ALLOWED_HOSTS = ['127.0.0.1', ]
|
||||
INTERNAL_IPS = [
|
||||
# ...
|
||||
'127.0.0.1',
|
||||
# ...
|
||||
]
|
||||
# Don't change things beyond this
|
||||
|
||||
## ##
|
||||
########################################################################
|
||||
## DERUG ##
|
||||
|
||||
# SECURITY WARNING: don't run with debug turned on in production!
|
||||
DEBUG = True
|
||||
@ -62,9 +83,9 @@ DEBUG_TOOLBAR_PANELS = [
|
||||
]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## ##
|
||||
########################################################################
|
||||
## DERUG ##
|
||||
|
||||
LOGIN_REDIRECT_URL = '/books'
|
||||
|
||||
@ -83,6 +104,7 @@ INSTALLED_APPS = [
|
||||
|
||||
MIDDLEWARE = [
|
||||
'debug_toolbar.middleware.DebugToolbarMiddleware', # DEBUG purposes
|
||||
'django.middleware.cache.UpdateCacheMiddleware', # cache
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
@ -90,6 +112,7 @@ MIDDLEWARE = [
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django.middleware.cache.FetchFromCacheMiddleware', # cache
|
||||
]
|
||||
|
||||
ROOT_URLCONF = 'CalibreWebCompanion.urls'
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -382,26 +382,4 @@ class BookTagLink(models.Model):
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'feeds'
|
||||
#
|
||||
#
|
||||
# class LastReadPositions(models.Model):
|
||||
# book = models.IntegerField()
|
||||
# format = models.TextField()
|
||||
# user = models.TextField()
|
||||
# device = models.TextField()
|
||||
# cfi = models.TextField()
|
||||
# epoch = models.FloatField()
|
||||
# pos_frac = models.FloatField()
|
||||
#
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'last_read_positions'
|
||||
|
||||
|
||||
# class MetadataDirtied(models.Model):
|
||||
# book = models.IntegerField()
|
||||
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'metadata_dirtied'
|
||||
# db_table = 'feeds'
|
@ -19,7 +19,7 @@
|
||||
background-color: #515151;
|
||||
border: 1px #303030;
|
||||
border-radius: 0.5rem;
|
||||
padding: .2rem .25rem ;
|
||||
padding: .2rem .25rem;
|
||||
margin: 0.1rem 0.1rem .1rem;
|
||||
|
||||
}
|
||||
@ -48,6 +48,7 @@
|
||||
.tags {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.added {
|
||||
width: 10%;
|
||||
}
|
||||
@ -55,12 +56,13 @@
|
||||
.published {
|
||||
width: 10%;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
|
||||
<div class="navbar-fixed">
|
||||
<nav>
|
||||
<div class="nav-wrapper row green darken-1">
|
||||
@ -70,7 +72,9 @@
|
||||
<li class="active"><a href="{{user.get_absolute_url}}"> {{ user.get_username }}</a></li>
|
||||
<li><a href="{% url 'logout'%}?next={{request.path}}">Logout</a></li>
|
||||
</ul>
|
||||
|
||||
{% load cache %}
|
||||
{% cache 500 sidebar request.user.username %}
|
||||
<!--Maybe i'm retarded but this is not caching versions per user-->
|
||||
<ul class="left">
|
||||
<li><a href="{% url 'books' %}">Books</a></li>
|
||||
<li><a class="dropdown-trigger" href={% url 'authors' %} data-target="dropdown-authors">Authors<i
|
||||
@ -126,7 +130,7 @@
|
||||
<li><a href="{{pub.get_absolute_url}}">{{pub}} <p class="count">{{pub.num_books}}</p> </a> </li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% endcache %}
|
||||
{% else %}
|
||||
<li><a href="{% url 'sign-up'%}?next={{request.path}}">Sign up</a></li>
|
||||
<li><a href="{% url 'login'%}?next={{request.path}}">Login</a></li>
|
||||
@ -134,7 +138,6 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
<script>
|
||||
@ -145,7 +148,6 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
{% block content %} {% endblock %}
|
||||
{% else %}
|
||||
|
@ -6,46 +6,47 @@
|
||||
<div class="col s12 m7">
|
||||
<div class="card z-depth-0 horizontal">
|
||||
<div class="card-image">
|
||||
<a style="padding-top:15%" href="{{download}}"><img src=" {% static "" %}{{imgpath}}" alt="download" srcset=""></a>
|
||||
<a style="padding-top:15%" href=" {% static "" %}{{download}}"><img src=" {% static "" %}{{imgpath}}"
|
||||
alt="download" srcset=""></a>
|
||||
</div>
|
||||
<div class="card-stacked">
|
||||
<div class="card-content">
|
||||
<h1> {{book.title}}</h1>
|
||||
<h1> {{book.title}}</h1>
|
||||
<h4> by
|
||||
{% if book.authors %}
|
||||
{% for author in book.authors.all %}
|
||||
<a href="{{author.get_absolute_url}}">{{author.name}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{{book.author_sort}}
|
||||
{%endif%}
|
||||
<br>
|
||||
Published by
|
||||
{% if book.publishers %}
|
||||
{% for pub in book.publishers.all %}
|
||||
<a href="{{pub.get_absolute_url}}">{{pub.name}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
Unknown
|
||||
{%endif%}
|
||||
<br>
|
||||
Tags:
|
||||
{% if book.tags %}
|
||||
{% for tag in book.tags.all %}
|
||||
<a href="{{tag.get_absolute_url}}">{{tag.name}}</a>,
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{%endif%}
|
||||
<br>
|
||||
Rating:
|
||||
{% if book.ratings %}
|
||||
{% for rating in book.ratings.all %}
|
||||
<a href="{{rating.get_absolute_url}}">{{rating}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{%endif%}
|
||||
<br>
|
||||
<a href="{{book.publisher.get_absolute_url}}">{{book.publisher}}</a>
|
||||
{% if book.authors %}
|
||||
{% for author in book.authors.all %}
|
||||
<a href="{{author.get_absolute_url}}">{{author.name}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{{book.author_sort}}
|
||||
{%endif%}
|
||||
<br>
|
||||
Published by
|
||||
{% if book.publishers %}
|
||||
{% for pub in book.publishers.all %}
|
||||
<a href="{{pub.get_absolute_url}}">{{pub.name}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
Unknown
|
||||
{%endif%}
|
||||
<br>
|
||||
Tags:
|
||||
{% if book.tags %}
|
||||
{% for tag in book.tags.all %}
|
||||
<a href="{{tag.get_absolute_url}}">{{tag.name}}</a>,
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{%endif%}
|
||||
<br>
|
||||
Rating:
|
||||
{% if book.ratings %}
|
||||
{% for rating in book.ratings.all %}
|
||||
<a href="{{rating.get_absolute_url}}">{{rating}}</a>
|
||||
{%endfor%}
|
||||
{% else %}
|
||||
{%endif%}
|
||||
<br>
|
||||
<a href="{{book.publisher.get_absolute_url}}">{{book.publisher}}</a>
|
||||
</h4>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,9 +54,9 @@
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
{% autoescape off %}
|
||||
{{comment}}
|
||||
{% endautoescape %}
|
||||
{% autoescape off %}
|
||||
{{comment}}
|
||||
{% endautoescape %}
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
@ -1,6 +1,6 @@
|
||||
from django.urls import path
|
||||
from . import views
|
||||
|
||||
from django.views.decorators.cache import cache_page
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
|
@ -10,6 +10,7 @@ from django.contrib.auth import login
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
|
||||
|
||||
@login_required
|
||||
def index(request):
|
||||
return render(request, 'accounts/index.html')
|
||||
|
Loading…
Reference in New Issue
Block a user