Commit 5b6f8751 authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Create Django Auth in Web / Basic Auth in OPDS

parent 7a0bb612
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -7,20 +7,25 @@ from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from django.core.paginator import Paginator, EmptyPage
from django.shortcuts import render
#from django.core.exceptions import ObjectDoesNotExist
#from django.db.models.functions import Substr, Upper
from django.db.models import Count, Min, Sum
#from django.utils.encoding import escape_uri_path


from opds_catalog.models import Book, Catalog, Author, Genre, Series, bookshelf, Counter, lang_menu
from opds_catalog import models
from opds_catalog import settings
from opds_catalog.opds_middleware import BasicAuthMiddleware
#from django.http.response import Http404

class AuthFeed(Feed):
    request = None
    def __call__(self,request,*args,**kwargs):
        self.request = request
        bau = BasicAuthMiddleware()
        result=bau.process_request(self.request)
        
        if result!=None:
            return result
        
        return super().__call__(request,*args,**kwargs)

class opdsEnclosure(Enclosure):
+51 −50
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-11-15 23:15+0300\n"
"POT-Creation-Date: 2016-11-17 20:13+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,215 +20,216 @@ msgstr ""
"10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%"
"100>=11 && n%100<=14)? 2 : 3);\n"

#: .\opds_catalog\feeds.py:119
#: .\opds_catalog\feeds.py:124
#, python-format
msgid "All books by %(author)s"
msgstr "Все книги автора %(author)s"

#: .\opds_catalog\feeds.py:131
#: .\opds_catalog\feeds.py:136
msgid "Book doublicates"
msgstr "Дубликаты книги"

#: .\opds_catalog\feeds.py:153 .\opds_catalog\feeds.py:211
#: .\opds_catalog\feeds.py:213 .\opds_catalog\tests\test_feeds.py:22
#: .\opds_catalog\feeds.py:158 .\opds_catalog\feeds.py:216
#: .\opds_catalog\feeds.py:218 .\opds_catalog\tests\test_feeds.py:22
msgid "By catalogs"
msgstr "По каталогам"

#: .\opds_catalog\feeds.py:154 .\opds_catalog\tests\test_feeds.py:23
#: .\opds_catalog\feeds.py:159 .\opds_catalog\tests\test_feeds.py:23
#, python-format
msgid "Catalogs: %(catalogs)s, books: %(books)s."
msgstr "Каталогов: %(catalogs)s, книг: %(books)s."

#: .\opds_catalog\feeds.py:155
#: .\opds_catalog\feeds.py:160
msgid "By authors"
msgstr "По авторам"

#: .\opds_catalog\feeds.py:156 .\opds_catalog\tests\test_feeds.py:24
#: .\opds_catalog\feeds.py:161 .\opds_catalog\tests\test_feeds.py:24
#, python-format
msgid "Authors: %(authors)s."
msgstr "Авторов: %(authors)s."

#: .\opds_catalog\feeds.py:157
#: .\opds_catalog\feeds.py:162
msgid "By titles"
msgstr "По наименованиям"

#: .\opds_catalog\feeds.py:158
#: .\opds_catalog\feeds.py:163
#, python-format
msgid "Books: %(books)s."
msgstr "Книг: %(books)s."

#: .\opds_catalog\feeds.py:159
#: .\opds_catalog\feeds.py:164
msgid "By genres"
msgstr "По жанрам"

#: .\opds_catalog\feeds.py:160 .\opds_catalog\tests\test_feeds.py:25
#: .\opds_catalog\feeds.py:165 .\opds_catalog\tests\test_feeds.py:25
#, python-format
msgid "Genres: %(genres)s."
msgstr "Жанров: %(genres)s."

#: .\opds_catalog\feeds.py:161
#: .\opds_catalog\feeds.py:166
msgid "By series"
msgstr "По сериям"

#: .\opds_catalog\feeds.py:162
#: .\opds_catalog\feeds.py:167
#, python-format
msgid "Series: %(series)s."
msgstr "Серий: %(series)s."

#: .\opds_catalog\feeds.py:166
#: .\opds_catalog\feeds.py:171
#, python-format
msgid "%(username)s Book shelf"
msgstr "Книжная полка (%(username)s)"

#: .\opds_catalog\feeds.py:167
#: .\opds_catalog\feeds.py:172
#, python-format
msgid "%(username)s books readed: %(bookshelf)s."
msgstr "Книг прочитано (%(username)s): %(bookshelf)s."

#: .\opds_catalog\feeds.py:308 .\opds_catalog\tests\test_feeds.py:58
#: .\opds_catalog\feeds.py:313 .\opds_catalog\tests\test_feeds.py:58
msgid "Search by titles"
msgstr "Поиск по наименованиям"

#: .\opds_catalog\feeds.py:308
#: .\opds_catalog\feeds.py:313
msgid "Search books by title"
msgstr "Поиск книг по наименованию"

#: .\opds_catalog\feeds.py:309
#: .\opds_catalog\feeds.py:314
msgid "Search by authors"
msgstr "Поиск авторов"

#: .\opds_catalog\feeds.py:309
#: .\opds_catalog\feeds.py:314
msgid "Search authors by name"
msgstr "Поиск авторов по имени"

#: .\opds_catalog\feeds.py:310
#: .\opds_catalog\feeds.py:315
msgid "Search series"
msgstr "Поиск серий"

#: .\opds_catalog\feeds.py:344
#: .\opds_catalog\feeds.py:349
msgid "Books found"
msgstr "Найдены книги"

#: .\opds_catalog\feeds.py:344
#: .\opds_catalog\feeds.py:349
msgid "doubles hide"
msgstr "дубликаты скрыты"

#: .\opds_catalog\feeds.py:344
#: .\opds_catalog\feeds.py:349
msgid "doubles show"
msgstr "дубликаты показаны"

#: .\opds_catalog\feeds.py:507
#: .\opds_catalog\feeds.py:512
msgid "Series by authors select"
msgstr "Выбор серий у автора"

#: .\opds_catalog\feeds.py:528
#: .\opds_catalog\feeds.py:533
msgid "Books by series"
msgstr "Книги по сериям"

#: .\opds_catalog\feeds.py:528
#: .\opds_catalog\feeds.py:533
msgid "Books by author and series"
msgstr "Книги по авторам и сериям"

#: .\opds_catalog\feeds.py:529
#: .\opds_catalog\feeds.py:534
msgid "Books outside series"
msgstr "Книги вне серий"

#: .\opds_catalog\feeds.py:529
#: .\opds_catalog\feeds.py:534
msgid "Books by author outside series"
msgstr "Книги автора вне серий"

#: .\opds_catalog\feeds.py:530
#: .\opds_catalog\feeds.py:535
msgid "Books by alphabet"
msgstr "Книги по алфавиту"

#: .\opds_catalog\feeds.py:530
#: .\opds_catalog\feeds.py:535
msgid "Books by author alphabetical order"
msgstr "Книги автора в алфавитном порядке"

#: .\opds_catalog\feeds.py:562
#: .\opds_catalog\feeds.py:567
msgid "Authors found"
msgstr "Найдены авторы"

#: .\opds_catalog\feeds.py:616 .\opds_catalog\feeds.py:697
#: .\opds_catalog\feeds.py:621 .\opds_catalog\feeds.py:702
#, python-format
msgid "Books count: %s"
msgstr "Всего: %s книг"

#: .\opds_catalog\feeds.py:632
#: .\opds_catalog\feeds.py:637
msgid "Series found"
msgstr "Найдены серии"

#: .\opds_catalog\feeds.py:721
#: .\opds_catalog\feeds.py:726
msgid "Select language"
msgstr "Выбор алфавита"

#: .\opds_catalog\feeds.py:733 .\opds_catalog\models.py:16
#: .\opds_catalog\feeds.py:738 .\opds_catalog\models.py:36
#: .\opds_catalog\tests\test_feeds.py:104
#: .\opds_catalog\tests\test_feeds.py:117
#: .\opds_catalog\tests\test_feeds.py:128
msgid "Cyrillic"
msgstr "Кириллица (РУС)"

#: .\opds_catalog\feeds.py:734 .\opds_catalog\models.py:16
#: .\opds_catalog\feeds.py:739 .\opds_catalog\models.py:36
#: .\opds_catalog\tests\test_feeds.py:105
msgid "Latin"
msgstr "Латинница (LAT)"

#: .\opds_catalog\feeds.py:735 .\opds_catalog\models.py:16
#: .\opds_catalog\feeds.py:740 .\opds_catalog\models.py:36
#: .\opds_catalog\tests\test_feeds.py:106
msgid "Digits"
msgstr "Цифры (0..9)"

#: .\opds_catalog\feeds.py:736 .\opds_catalog\models.py:16
#: .\opds_catalog\feeds.py:741 .\opds_catalog\models.py:36
#: .\opds_catalog\tests\test_feeds.py:107
msgid "Other symbols"
msgstr "Другие символы"

#: .\opds_catalog\feeds.py:737 .\opds_catalog\models.py:16
#: .\opds_catalog\feeds.py:742 .\opds_catalog\models.py:36
#: .\opds_catalog\tests\test_feeds.py:108
msgid "Show all"
msgstr "Показать все"

#: .\opds_catalog\feeds.py:768
#: .\opds_catalog\feeds.py:773
msgid "Select books by substring"
msgstr "Поиск книг по подстроке"

#: .\opds_catalog\feeds.py:805 .\opds_catalog\feeds.py:973
#: .\opds_catalog\feeds.py:810 .\opds_catalog\feeds.py:978
#, python-format
msgid "Found: %s books"
msgstr "Найдено %s книг"

#: .\opds_catalog\feeds.py:827
#: .\opds_catalog\feeds.py:832
msgid "Select authors by substring"
msgstr "Поиск авторов по подстроке"

#: .\opds_catalog\feeds.py:864
#: .\opds_catalog\feeds.py:869
#, python-format
msgid "Found: %s authors"
msgstr "Найдено %s авторов"

#: .\opds_catalog\feeds.py:886
#: .\opds_catalog\feeds.py:891
msgid "Select series by substring"
msgstr "Поиск серий по подстроке"

#: .\opds_catalog\feeds.py:923
#: .\opds_catalog\feeds.py:928
#, python-format
msgid "Found: %s series"
msgstr "Найдено %s серий"

#: .\opds_catalog\feeds.py:944
#: .\opds_catalog\feeds.py:949
#, python-format
msgid "Select genres (%s)"
msgstr "Выбор жанра (%s)"

#: .\opds_catalog\feeds.py:944
#: .\opds_catalog\feeds.py:949
msgid "section"
msgstr "секция"

#: .\opds_catalog\feeds.py:944
#: .\opds_catalog\feeds.py:949
msgid "subsection"
msgstr "подсекция"

#: .\opds_catalog\opdsdb.py:29
#: .\opds_catalog\opdsdb.py:35
msgid "Unknown genre"
msgstr "Неизвестний жанр"

+1 −1
Original line number Diff line number Diff line
@@ -45,6 +45,6 @@ class BasicAuthMiddleware(object):
        if user and user.is_active:
            request.user = user
            auth.login(request, user)
            return 
            return None

        return self.unauthed()
 No newline at end of file
+3 −3
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ MIDDLEWARE_CLASSES = [
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',    
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',  
    'opds_catalog.opds_middleware.BasicAuthMiddleware',  
    #'opds_catalog.opds_middleware.BasicAuthMiddleware',  
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
@@ -129,8 +129,8 @@ AUTH_PASSWORD_VALIDATORS = [
# Internationalization
# https://docs.djangoproject.com/en/1.9/topics/i18n/

LANGUAGE_CODE = 'en-US'
#LANGUAGE_CODE = 'ru-RU'
#LANGUAGE_CODE = 'en-US'
LANGUAGE_CODE = 'ru-RU'

TIME_ZONE = 'Europe/Moscow'
USE_I18N = True
Loading