Commit Graph

702 Commits

Author SHA1 Message Date
OzzieIsaacs
fe4d11fea8 Basi comic reader implementation for cbr, cbz, cbt files based on kthoom (#63, #126) 2017-09-17 12:36:32 +02:00
OzzieIsaacs
4582aebec1 Bugfix gdriveutils 2017-09-17 10:54:23 +02:00
OzzieIsaacs
b6b73d39c2 Fix #329
Code cosmetics
2017-09-17 07:15:08 +02:00
OzzieIsaacs
b6f06658a2 Merge remote-tracking branch 'ipv6/ipv4only' 2017-09-16 20:18:34 +02:00
OzzieIsaacs
dfd3b40865 Fix #325 2017-09-16 19:57:00 +02:00
OzzieIsaacs
bde92113d4 Bugfix Datepicker 2017-09-16 19:30:49 +02:00
OzzieIsaacs
f87800d11c Merge remote-tracking branch 'meta/upload_new_format_of_existing_book' 2017-09-16 18:55:34 +02:00
OzzieIsaacs
7acf4d40a4 Merge remote-tracking branch 'adv/escape-filename' 2017-09-16 18:53:33 +02:00
OzzieIsaacs
2ef6dc30bd Added italian translation 2017-09-16 16:58:42 +02:00
OzzieIsaacs
abadaa3f1d Merge remote-tracking branch 'l/master' 2017-09-16 08:06:35 +02:00
OzzieIsaacs
b30a73c505 Merge remote-tracking branch 'adv/def-variables' 2017-09-16 07:55:44 +02:00
OzzieIsaacs
af0cefa4ac Update translations 2017-09-16 07:52:53 +02:00
OzzieIsaacs
e26c8a1e46 Merge remote-tracking branch 'd/patch-1' 2017-09-16 07:40:29 +02:00
OzzieIsaacs
5e370fb4b3 Merge remote-tracking branch 'y/master' 2017-09-16 07:38:50 +02:00
Yamakuni
f147c072c6 French translation
Add and correct
2017-09-14 12:03:36 +02:00
Wouter Dijk
c048a96e07 Updated Dutch translations
I've added some missing translations and edit some faulty ones. Not finished yet, will continue later on! ;-)
2017-09-14 10:36:39 +02:00
Ainsley Pereira
993c56d021 Fix syntax error 2017-09-12 21:11:52 +01:00
Ainsley Pereira
1ce6893fa8 Exception isn't thrown until we call serve_forever, so that must be in the try block 2017-09-12 21:06:58 +01:00
Ainsley Pereira
b8b88183c3 Use IPv4-only WSGI start up as a fallback only when the IPv6/IPv4 one didn't work 2017-09-12 20:49:38 +01:00
Ainsley Pereira
a75c393922 Merge remote-tracking branch 'upstream/master' 2017-09-12 20:34:11 +01:00
Jonathan Rehm
29f21b148b Translate 10-based rating to 5-based 2017-09-11 09:58:39 -07:00
Jonathan Rehm
e806494b54 Ensure variables exist before they're used 2017-09-11 09:24:20 -07:00
kyos
8937599ba7 Fixed codacy code control 2017-09-11 17:18:11 +02:00
kyos
cbf2bb450d Fixed issue calculating filesize of the uploaded book 2017-09-11 11:47:39 +02:00
kyos
be15f3781f Fixed issue reported by Jkrehm to prevent filesize to fail 2017-09-11 11:17:29 +02:00
kyos
3366aae6c7 Merge remote-tracking branch 'origin/upload_new_format_of_existing_book' into upload_new_format_of_existing_book
# Conflicts:
#	cps/static/css/style.css
2017-09-11 10:48:57 +02:00
kyos
e5b4bed01c Fixed codacy requirements 2017-09-11 10:48:30 +02:00
kyos
9086f4e0e7 Added option to upload a new format to a given book 2017-09-11 10:48:30 +02:00
Jonathan Rehm
a4f81dd812 Do not include empty strings in list of bookmarks 2017-09-10 15:38:24 -07:00
OzzieIsaacs
c9f36a4d1a Merge remote-tracking branch 'adv/bookmarks' 2017-09-10 15:00:27 +02:00
Torben Mohrfeldt
94f8cc247c Reflect title in the logo 2017-09-09 23:59:06 +02:00
OzzieIsaacs
b6b5313f2d Fix for #315 2017-09-09 14:23:25 +02:00
teflontoni
4527693fe3 Move "Show mature content" Checkbox
In order to make the option safe and sane we move the corresponding checkbox to the settings that need administrator privileges.
2017-09-08 15:47:22 +02:00
Louis Jencka
b3217496d1 Add progress bar to upload form 2017-09-02 11:51:11 -06:00
OzzieIsaacs
81219663fe Update translation 2017-09-01 20:39:56 +02:00
OzzieIsaacs
c959a1ccc6 Merge remote-tracking branch 'iss/typo' 2017-09-01 20:31:01 +02:00
OzzieIsaacs
f860694487 Merge remote-tracking branch 'adv/goodreads-more-by' 2017-09-01 20:29:45 +02:00
OzzieIsaacs
429f4a11a9 Merge remote-tracking branch 'adv/es5-syntax' 2017-09-01 20:12:22 +02:00
OzzieIsaacs
5ee1950828 Merge remote-tracking branch 'adv/sqlalchemy-bool' 2017-09-01 20:11:48 +02:00
Jonathan Rehm
58abc1d024 Fuzzy match book titles to eliminate duplicates
Titles with a Levenshtein ratio of 70% or greater are considered duplicates.
2017-08-29 07:15:33 -07:00
Jonathan Rehm
53c687251e Show "More by" on author page
Uses Goodread's list of author's books, filtering out the books that are already in the user's library.

Requires the Goodreads dependency and API information.
2017-08-29 07:15:33 -07:00
Jonathan Rehm
6b8de017ab Use SQLAlchemy boolean
Seems to make a difference sometimes.

Ref #300
2017-08-29 07:14:57 -07:00
Jonathan Rehm
282837c7c5 Use ES5 syntax 2017-08-29 07:14:32 -07:00
Jonathan Rehm
8e1cfa1cbf Re-apply db_filter
Accidentally removed when the language and content filters were moved to `common_filters`.
2017-08-29 07:13:31 -07:00
Ivan Smirnov
12c98157d5 fix typo:: diffrent -> different 2017-08-27 19:31:58 -07:00
OzzieIsaacs
a8b53ab38a Merge remote-tracking branch 'adv/common-filters' 2017-08-27 09:36:02 +02:00
OzzieIsaacs
62f6bb4e64 Remove In author marker on authors page 2017-08-27 09:27:55 +02:00
OzzieIsaacs
d5e1dba0fe Merge remote-tracking branch 'adv/goodreads-more-by' 2017-08-27 09:24:02 +02:00
Jonathan Rehm
3213bf50b3 Move common filters into function
Instead of duplicating functionality across lots of functions, combine it into one common function. It makes reading and modifying it much easier.
2017-08-26 08:12:16 -07:00
Jonathan Rehm
374b5f4c6e Save ePub bookmarks to database
Save ePub bookmark to database. Also use library's built-in restore feature to restore all information from localStorage.
2017-08-23 08:55:40 -07:00
Jonathan Rehm
a682c95ec1 Show "More by" on author page
Uses Goodread's list of author's books, filtering out the books that are already in the user's library.

Requires the Goodreads dependency and API information.
2017-08-21 08:56:08 -07:00
OzzieIsaacs
193605df4a Fix for #286 2017-08-20 07:47:47 +02:00
OzzieIsaacs
cf5e2f7cd1 search button is displayed in moon reader (#283), search result is not displayed 2017-08-20 07:10:53 +02:00
OzzieIsaacs
f6425a6569 Merge remote-tracking branch 'adv/cache-buster' 2017-08-19 23:10:12 +02:00
Jonathan Rehm
cda733f4a4 Escape special characters in file names
Follows Calibre's convention of using underscores as replacements
2017-08-19 11:56:29 -07:00
Jonathan Rehm
8cbd6a8431 Do not append query string if file_hash is not found 2017-08-19 09:09:12 -07:00
Jonathan Rehm
13c2a53c0f Fix issues with Windows path separators 2017-08-19 08:32:00 -07:00
OzzieIsaacs
6b1f3aa531 Merge remote-tracking branch 'adv/cache-buster' 2017-08-19 08:36:12 +02:00
marblepebble
97f573c41a Set ipv4 address explicitly for docker usage 2017-08-18 21:53:52 +01:00
OzzieIsaacs
bd02c92162 Merge remote-tracking branch 'adv/get-meta-data' 2017-08-17 15:32:14 +02:00
OzzieIsaacs
e3d416db4c Merge remote-tracking branch 'adv/cover-upload' 2017-08-17 15:27:32 +02:00
Jonathan Rehm
866f7944eb Meta data improvements
* Add buttons to show/hide results from Douban & Google
* Trigger search with "Enter" key
* Use Underscore.js template instead of build HTML strings in JavaScript
* Keep click event handler in JavaScript instead of using HTML's `onclick`
* Normalize Douban & Google results
* Update cover image & add cover URL to the form input
2017-08-15 22:11:01 -07:00
OzzieIsaacs
a1538e12e8 Bugfix typeahead on advanced serach page 2017-08-14 20:30:23 +02:00
OzzieIsaacs
de112b0b05 Merge remote-tracking branch 'adv/eslint' 2017-08-14 20:21:52 +02:00
Jonathan Rehm
a27848b351 Add static asset cache busting
Calculates MD5 hash of static assets on server start. These are appended to the file name's when url_for is used, telling browsers to download the latest version of the files, e.g. style.css?q=81cf0ee.

Inspired by https://github.com/ChrisTM/Flask-CacheBust but uses query strings instead of rewriting the path because fonts inside CSS files break when the path is rewritten.
2017-08-13 09:32:29 -07:00
Jonathan Rehm
08d0404e9c Add mature_content property to Anonymous class 2017-08-13 07:05:45 -07:00
Jonathan Rehm
8171943b8e Update to ES5 standards
Also fix ESLint issues
2017-08-12 22:46:27 -07:00
OzzieIsaacs
91cdb5f60f Merge remote-tracking branch 'Upper_case/master' 2017-08-12 19:02:57 +02:00
OzzieIsaacs
2f7177742d Update chinese translation 2017-08-12 18:59:57 +02:00
OzzieIsaacs
dd6c928e2c Merge remote-tracking branch 'translation/master' 2017-08-12 18:55:08 +02:00
OzzieIsaacs
fb8ce693f3 Bugfix mature content
Update german translation
2017-08-12 18:52:56 +02:00
OzzieIsaacs
b596734c36 Merge remote-tracking branch 'adv/mature-content' 2017-08-12 18:16:45 +02:00
idalin
274d0f6577 update Chinese translations 2017-08-11 09:32:01 +08:00
idalin
2b27d6570f Merge branch 'janeczku-master' 2017-08-11 09:26:36 +08:00
idalin
b5cca553b3 update Chinese translations 2017-08-11 09:25:39 +08:00
kyos
9a17a09cc7 Fixed codacy requirements 2017-08-10 12:34:54 +02:00
Ruben Herold
68e3867af3 fix books with uppercase extension 2017-08-10 12:29:08 +02:00
kyos
aa4a5dc3ef Added option to upload a new format to a given book 2017-08-09 19:56:46 +02:00
Jonathan Rehm
6f797ba478 Check if JPEG via response content-type header instead of URL extension
That way we can use dynamic URLs, such as those returned by the "Get Metadata" request.
2017-08-09 10:03:02 -07:00
Jonathan Rehm
aee8aad976 Add option to hide mature content from some users
Uses a configurable list of tags to denote what is mature and hides those books from the user
2017-08-08 10:38:28 -07:00
Carlos Clavero
8f5bc2a484 Merge pull request #9 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:53:07 +02:00
kyos
e948844ea4 Added a 5px separation for all input labels in advanced search to improve readability 2017-08-01 17:51:38 +02:00
Carlos Clavero
1500e0f54f Merge pull request #8 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:50:24 +02:00
kyos
b6f097f673 Added a 5px separation for all input labels in advanced search to improve readability 2017-08-01 17:49:14 +02:00
Carlos Clavero
5f78ec4e83 Merge pull request #7 from Kyosfonica/add_css_separation_for_tags_in_advance_search
Added a 5px separation for all input labels in advanced search
2017-08-01 17:46:13 +02:00
kyos
6048bf3c79 Added a 5px separation for all input labels in advanced search to improve readability 2017-07-31 20:01:55 +02:00
Carlos Clavero
80c021939e Merge pull request #6 from Kyosfonica/master
Update dev with latests changes from master
2017-07-31 18:17:59 +02:00
kyos
51bc0e82a4 Added series and series_index metadata handler 2017-07-31 09:00:09 +02:00
kyos
4bba3558b7 Added tags metadata handler for epubs 2017-07-31 08:46:29 +02:00
OzzieIsaacs
fe52de6b4b Merge remote-tracking branch 'adv/lighthouse-audit' 2017-07-30 06:59:12 +02:00
OzzieIsaacs
cd2e27d7ad Merge remote-tracking branch 'adv/previous-pagination' 2017-07-30 06:51:05 +02:00
OzzieIsaacs
82165a67a1 Merge remote-tracking branch 'mail/master' 2017-07-30 06:44:10 +02:00
OzzieIsaacs
626e2e393e Merge remote-tracking branch 'adv/edit-publish-date' 2017-07-30 06:37:18 +02:00
Mikhail Akushsky
4313910ba0 Fix hmac creation in send_test_email function 2017-07-29 18:06:16 +03:00
Jonathan Rehm
ec118c2254 Move scripts to bottom of body to prevent execution from delaying DOM rendering 2017-07-28 20:07:10 -07:00
Jonathan Rehm
dde4f6afe2 Add missing label 2017-07-28 20:03:43 -07:00
Jonathan Rehm
0b47958fad Add lang attribute to html tag 2017-07-28 20:03:23 -07:00
Jonathan Rehm
c86fa268c2 Fix/remove duplicate id's 2017-07-28 20:02:53 -07:00
Jonathan Rehm
5162e2eed7 Add img alt attributes 2017-07-28 20:01:31 -07:00
Jonathan Rehm
5465b8e8b7 Add "Previous" pagination button
I imagine these buttons are still in use when JavaScript is disabled or not loading.
2017-07-28 07:38:35 -07:00
Jonathan Rehm
0afc8f94da Use TinyMCE's API to update the description's content 2017-07-25 13:16:12 -07:00
Jonathan Rehm
dd124ab356 Make change requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
59afc7eb9f Make changes requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
3258f4fb79 Make changes requested by Codacy 2017-07-23 13:36:21 -07:00
Jonathan Rehm
61e0405f75 Move TinyMCE into edit_books.js 2017-07-23 13:36:21 -07:00
Jonathan Rehm
5715d27c97 Show localized date over top of date input
Also move datepicker logic into edit_books.js and edit_books.js below the datepicker file declaration(s)
2017-07-23 13:36:21 -07:00
Jonathan Rehm
36c2b35588 Use bootstrap-datepicker to add datepicking UI for browsers that do not have one built-in 2017-07-23 13:35:35 -07:00
Jonathan Rehm
cc916a4eb4 Add timestamp to default publishing date 2017-07-23 13:35:35 -07:00
Jonathan Rehm
a07798b0db Standardize indentation 2017-07-23 13:35:35 -07:00
Jonathan Rehm
04b04e200f Add ability to edit publish date
If a date is not set, default to “0101-01-01”
2017-07-23 13:35:35 -07:00
Jonathan Rehm
cf7196ae5e Refactor to remove nested if-statements 2017-07-23 13:35:35 -07:00
Jonathan Rehm
a95e6aab6b Do not attempt to create the YAML file when Google Drive is disabled (#246) 2017-07-23 22:26:43 +02:00
OzzieIsaacs
cb5f196f4b Merge remote-tracking branch 'adv/modal-details'
# Conflicts:
#	cps/static/js/main.js
#	cps/templates/detail.html
2017-07-23 14:03:02 +02:00
OzzieIsaacs
1e2edcf753 Merge remote-tracking branch 'adv/author-info' 2017-07-23 13:36:50 +02:00
OzzieIsaacs
df1b503c2d Update Translation 2017-07-23 13:25:54 +02:00
OzzieIsaacs
c403fdfa2e Merge remote-tracking branch 'adv/sorting' 2017-07-23 13:18:24 +02:00
OzzieIsaacs
97d577ef2e Merge remote-tracking branch 'adv/add-to-shelf-ajax' 2017-07-23 13:16:20 +02:00
OzzieIsaacs
4311091d7d Merge remote-tracking branch 'adv/python3-fix' 2017-07-23 13:11:37 +02:00
Jonathan Rehm
693c26c2b3 Attach events to button toolbar
Since this is closer to the elements, we can be more sure that we won't have events fire when we don't want them to. For example, if we're viewing the page in a modal, we don't want the event handler living longer than the content itself.
2017-07-22 11:24:47 -07:00
Jonathan Rehm
d85e0b96dc Prevent jQuery from cache busting static assets
If the HTML that's returned from the `$.get` request contains a `<script src="..."/>` tag it loads the JavaScript file via ajax, and by default it attaches a timestamp to it to bust cache. That means the file loads every time the modal is opened, and the browser treats it as a new file each time. The result is that code fires multiple times and events listeners are added multiple times.
2017-07-22 11:11:14 -07:00
Jonathan Rehm
e1a88aa0ab Make change requested by Codacy 2017-07-22 07:34:38 -07:00
Jonathan Rehm
5c3a5b6c39 Use ajax to add/remove books from shelves
Gracefully fall back to standard requests if JavaScript is disabled
2017-07-21 21:15:03 -07:00
Ozzie Isaacs
2e8a268dfa Fix #241 No1 2017-07-18 20:39:35 +02:00
OzzieIsaacs
6a9d8efc93 Fixes for #233 (detection of permission errors) 2017-07-16 22:04:40 +02:00
Jonathan Rehm
85ce06850c Fix for Python 3 2017-07-13 21:28:00 -07:00
Jonathan Rehm
91ba0f0362 Resolve issues with unicode characters in author's name
I've been unable to reproduce the issue on macOS with Python 2.7/3.6 and Fedora with Python 2.7, but if it happens for others, then it's worth the change.
2017-07-13 21:22:34 -07:00
Jonathan Rehm
51bd2f89df Use dot notation 2017-07-13 18:09:33 -07:00
Jonathan Rehm
c9c6529567 Use SECRET_KEY from environment variable (#232) 2017-07-11 18:35:55 +02:00
OzzieIsaacs
5985342b79 Bugfix for typeahead in search function and on edit books page 2017-07-11 18:08:12 +02:00
OzzieIsaacs
a8aa1e7623 Merge remote-tracking branch 'button_padding/limit-typeahead-requests' 2017-07-11 17:48:33 +02:00
OzzieIsaacs
cfa69ff4f2 Merge remote-tracking branch 'button_padding/smtp-from' 2017-07-11 17:38:52 +02:00
Jonathan Rehm
9683d50f36 Send mail from the FROM address instead of the login
When SMTP is configured to use a service that doesn't use an email address to log in – e.g. AWS SES or Postmark – the sendmail request fails saying the FROM address is invalid.
2017-07-11 07:16:19 -07:00
Ozzie Isaacs
f79fb420ba Removed whitespaces 2017-07-11 16:13:33 +02:00
Jonathan Rehm
802eb628c8 Split event listener and selector string
Event and selectors appear to have been accidentally combined. The result is that typing in any input triggers a call to the `/get_matching_tags` route. We can probably limit the selector farther to only fire when `#tags` is typed into.
2017-07-10 13:03:58 -07:00
Jonathan Rehm
66231c8737 Associate label with correct input (#228) 2017-07-10 19:26:57 +02:00
Ozzie Isaacs
92f634b6a6 Bugfix link admin section 2017-07-10 12:04:15 +02:00
OzzieIsaacs
74e93e1cdf Code cosmetics 2017-07-09 20:15:15 +02:00
OzzieIsaacs
1fdb7dc497 Epub Viewer Bugfix Retenia Ipad devices 2017-07-09 16:28:22 +02:00
OzzieIsaacs
16ce7799a2 Improvement of margins in epub reader (fix #210) 2017-07-09 15:49:47 +02:00
OzzieIsaacs
470aea6106 Fix #214
Update epub.js lib
2017-07-09 13:27:56 +02:00
OzzieIsaacs
979bcdffd4 Bugfix non working download links
Bugfix missing divider in detail page
2017-07-09 12:41:09 +02:00
Jonathan Rehm
fe68c8a7f8 Add support for displaying author information from Goodreads
Requires the "goodread" module (added to optional-requirements.txt) and an API key

Retrieves Goodreads author information and displays their photo and "about" text
2017-07-08 16:07:45 -07:00
OzzieIsaacs
31e0025099 Update Translation 2017-07-08 19:50:44 +02:00
OzzieIsaacs
5a6ad970d8 Merge remote-tracking branch 'button_padding/magic-link' 2017-07-08 19:26:08 +02:00
Jonathan Rehm
d799b859ea Make changes suggested by codacy 2017-07-08 09:15:40 -07:00
Jonathan Rehm
649579eccd Move jquery.form to layout.html
This prevents it from getting loaded each time the details are viewed in a modal dialog.
2017-07-08 09:15:40 -07:00
Jonathan Rehm
675e8dd5cd Show book details in modal dialog
With them shown in a modal, you don't lose your place in the pagination. If the request comes via Ajax, the minimal layout is used. If via a normal request, the full layout is used. That lets you open the details in a new tab and have the full experience, but if you're clicking through the results of a search, you can view many without losing your place.
2017-07-08 09:15:40 -07:00
OzzieIsaacs
93dfb96174 Added Translation of title for read/unread books 2017-07-08 16:47:07 +02:00
OzzieIsaacs
f446e29276 Updater now uses correct "gid" instead of "uid" for change ownership of files (Fix for #213 ) -> update should now working if user id differs from groupid 2017-07-08 14:57:39 +02:00
OzzieIsaacs
2929d95b26 Display all authors names in shelf, like on all other pages (#202) 2017-07-08 13:50:21 +02:00