Merge pull request 'optimize' (#1) from optimize into master

Reviewed-on: MassiveAtoms/Calibre-Server#1
This commit is contained in:
Sagar Ramsaransing 2020-07-16 15:47:00 +00:00
commit 071b82121c
11 changed files with 97 additions and 92 deletions

View File

@ -11,13 +11,48 @@ https://docs.djangoproject.com/en/3.0/ref/settings/
""" """
import os 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, ...) # 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' 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) # Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.0/howto/static-files/ # https://docs.djangoproject.com/en/3.0/howto/static-files/
@ -28,23 +63,9 @@ STATICFILES_DIRS = [
] ]
STATIC_URL = '/static/' STATIC_URL = '/static/'
## ##
########################################################################
# Quick-start development settings - unsuitable for production ## DERUG ##
# 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
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True DEBUG = True
@ -62,9 +83,9 @@ DEBUG_TOOLBAR_PANELS = [
] ]
## ##
########################################################################
## DERUG ##
LOGIN_REDIRECT_URL = '/books' LOGIN_REDIRECT_URL = '/books'
@ -83,6 +104,7 @@ INSTALLED_APPS = [
MIDDLEWARE = [ MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware', # DEBUG purposes 'debug_toolbar.middleware.DebugToolbarMiddleware', # DEBUG purposes
'django.middleware.cache.UpdateCacheMiddleware', # cache
'django.middleware.security.SecurityMiddleware', 'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
@ -90,6 +112,7 @@ MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.cache.FetchFromCacheMiddleware', # cache
] ]
ROOT_URLCONF = 'CalibreWebCompanion.urls' ROOT_URLCONF = 'CalibreWebCompanion.urls'

Binary file not shown.

View File

@ -382,26 +382,4 @@ class BookTagLink(models.Model):
# #
# class Meta: # class Meta:
# managed = False # managed = False
# db_table = 'feeds' # 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'

View File

@ -19,7 +19,7 @@
background-color: #515151; background-color: #515151;
border: 1px #303030; border: 1px #303030;
border-radius: 0.5rem; border-radius: 0.5rem;
padding: .2rem .25rem ; padding: .2rem .25rem;
margin: 0.1rem 0.1rem .1rem; margin: 0.1rem 0.1rem .1rem;
} }
@ -48,6 +48,7 @@
.tags { .tags {
width: 25%; width: 25%;
} }
.added { .added {
width: 10%; width: 10%;
} }
@ -55,12 +56,13 @@
.published { .published {
width: 10%; width: 10%;
} }
</style> </style>
</head> </head>
<body> <body>
<div class="navbar-fixed"> <div class="navbar-fixed">
<nav> <nav>
<div class="nav-wrapper row green darken-1"> <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 class="active"><a href="{{user.get_absolute_url}}"> {{ user.get_username }}</a></li>
<li><a href="{% url 'logout'%}?next={{request.path}}">Logout</a></li> <li><a href="{% url 'logout'%}?next={{request.path}}">Logout</a></li>
</ul> </ul>
{% load cache %}
{% cache 500 sidebar request.user.username %}
<!--Maybe i'm retarded but this is not caching versions per user-->
<ul class="left"> <ul class="left">
<li><a href="{% url 'books' %}">Books</a></li> <li><a href="{% url 'books' %}">Books</a></li>
<li><a class="dropdown-trigger" href={% url 'authors' %} data-target="dropdown-authors">Authors<i <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> <li><a href="{{pub.get_absolute_url}}">{{pub}} <p class="count">{{pub.num_books}}</p> </a> </li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endcache %}
{% else %} {% else %}
<li><a href="{% url 'sign-up'%}?next={{request.path}}">Sign up</a></li> <li><a href="{% url 'sign-up'%}?next={{request.path}}">Sign up</a></li>
<li><a href="{% url 'login'%}?next={{request.path}}">Login</a></li> <li><a href="{% url 'login'%}?next={{request.path}}">Login</a></li>
@ -134,7 +138,6 @@
{% endif %} {% endif %}
</div> </div>
</nav> </nav>
</div> </div>
<script> <script>
@ -145,7 +148,6 @@
}); });
</script> </script>
{% if user.is_authenticated %} {% if user.is_authenticated %}
{% block content %} {% endblock %} {% block content %} {% endblock %}
{% else %} {% else %}

View File

@ -6,46 +6,47 @@
<div class="col s12 m7"> <div class="col s12 m7">
<div class="card z-depth-0 horizontal"> <div class="card z-depth-0 horizontal">
<div class="card-image"> <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>
<div class="card-stacked"> <div class="card-stacked">
<div class="card-content"> <div class="card-content">
<h1> {{book.title}}</h1> <h1> {{book.title}}</h1>
<h4> by <h4> by
{% if book.authors %} {% if book.authors %}
{% for author in book.authors.all %} {% for author in book.authors.all %}
<a href="{{author.get_absolute_url}}">{{author.name}}</a> <a href="{{author.get_absolute_url}}">{{author.name}}</a>
{%endfor%} {%endfor%}
{% else %} {% else %}
{{book.author_sort}} {{book.author_sort}}
{%endif%} {%endif%}
<br> <br>
Published by Published by
{% if book.publishers %} {% if book.publishers %}
{% for pub in book.publishers.all %} {% for pub in book.publishers.all %}
<a href="{{pub.get_absolute_url}}">{{pub.name}}</a> <a href="{{pub.get_absolute_url}}">{{pub.name}}</a>
{%endfor%} {%endfor%}
{% else %} {% else %}
Unknown Unknown
{%endif%} {%endif%}
<br> <br>
Tags: Tags:
{% if book.tags %} {% if book.tags %}
{% for tag in book.tags.all %} {% for tag in book.tags.all %}
<a href="{{tag.get_absolute_url}}">{{tag.name}}</a>, <a href="{{tag.get_absolute_url}}">{{tag.name}}</a>,
{%endfor%} {%endfor%}
{% else %} {% else %}
{%endif%} {%endif%}
<br> <br>
Rating: Rating:
{% if book.ratings %} {% if book.ratings %}
{% for rating in book.ratings.all %} {% for rating in book.ratings.all %}
<a href="{{rating.get_absolute_url}}">{{rating}}</a> <a href="{{rating.get_absolute_url}}">{{rating}}</a>
{%endfor%} {%endfor%}
{% else %} {% else %}
{%endif%} {%endif%}
<br> <br>
<a href="{{book.publisher.get_absolute_url}}">{{book.publisher}}</a> <a href="{{book.publisher.get_absolute_url}}">{{book.publisher}}</a>
</h4> </h4>
</div> </div>
</div> </div>
@ -53,9 +54,9 @@
</div> </div>
<div class="container"> <div class="container">
{% autoescape off %} {% autoescape off %}
{{comment}} {{comment}}
{% endautoescape %} {% endautoescape %}
</div> </div>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,6 @@
from django.urls import path from django.urls import path
from . import views from . import views
from django.views.decorators.cache import cache_page
urlpatterns = [ urlpatterns = [

View File

@ -10,6 +10,7 @@ from django.contrib.auth import login
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
@login_required @login_required
def index(request): def index(request):
return render(request, 'accounts/index.html') return render(request, 'accounts/index.html')