WebSafe 3.7web.archive.org
|
|
🏠
The Wayback Machine - https://web.archive.org/web/20200114164232/https://github.com/internetarchive/openlibrary
Skip to content
One webpage for every book ever published!
Python HTML CSS JavaScript mIRC Script Shell Other
Branch: master
Clone or download
cclauss and hornc from six.moves.urllib.parse import quote_plus (#2854)
* from six.moves.urllib.parse import quote_plus

* from openlibrary.utils.olcompress import OLCompressor

* from openlibrary.utils.compress import Compressor

* compress(text.encode("utf-8"))

* Revert change to compress.py

* Update compress.py
Latest commit 559b1e9 Jan 14, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.dependabot Dependabot: Add JavaScript dependency checking Nov 13, 2019
.github Hotfix issue template labels (#2828) Jan 8, 2020
.vscode [2076/feature/remote-debugging] allow for remote debugging Apr 25, 2019
conf rm deprecated vagrant mention Dec 12, 2019
docker make less not a global dependency Nov 13, 2019
openlibrary from six.moves.urllib.parse import quote_plus (#2854) Jan 14, 2020
scripts replace deprecated metadata method Jan 10, 2020
static Selected shelf on "want to read" is deterministic (#2613) Jan 9, 2020
tests getAvailability function should take into account query string in URL Oct 21, 2019
vendor Fixes Remove `focusin` and `focusout` polyfill from vendor/ jquery-va… Oct 7, 2019
.babelrc Only load data tables when necessary Sep 5, 2019
.browserslistrc Time for webpack (#1936) Mar 20, 2019
.dockerignore Create readonly postgres user for solrupdater (#2150) May 28, 2019
.eslintignore Remove openbook static folder Oct 5, 2019
.eslintrc.json Add keyword spacing eslint rule Oct 18, 2019
.gitattributes Add .gitattributes & normalize line endings Apr 5, 2017
.gitignore Create readonly postgres user for solrupdater (#2150) May 28, 2019
.gitmodules Moved infogami and wmd to internetarchive. Jul 1, 2011
.python-version Travis CI: Run npm test in allow failures mode (#1744) Dec 20, 2018
.stylelintignore Linting should apply to subfolders as well Sep 14, 2018
.stylelintrc.json Add linting rule for consistent double quotes and fix the offenders Mar 4, 2019
.svgo.yml Add `svg-min` npm command Oct 21, 2018
.travis.yml Travis CI: vendor/acs4_py is ready for Python 3 Jan 10, 2020
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Dec 2, 2019
CONTRIBUTING.md Add link to GitHub tips for beginners. (#2743) Dec 16, 2019
LICENSE Include text version of the license Oct 30, 2019
Makefile Make dynamic JS files include cache-busting hashes Dec 22, 2019
Readme.md Add link to GitHub tips for beginners. (#2743) Dec 16, 2019
config Make the support structure a little more robust Jun 21, 2011
docker-compose.yml [2076/feature/remote-debugging] allow for remote debugging Apr 25, 2019
infogami Reorganized the repo to move all python code into openlibrary module. Jul 8, 2009
package-lock.json Bump style-loader from 1.0.1 to 1.1.2 Jan 6, 2020
package.json Bump style-loader from 1.0.1 to 1.1.2 Jan 6, 2020
requirements.txt updating requirements.txt, removing broken dependency Nov 21, 2019
requirements_common.txt Merge pull request #2605 from internetarchive/Upgrade-web.py-on-Python-3 Nov 11, 2019
requirements_test.txt Upgrade flake8, not downgrade Nov 11, 2019
setup.py Update setup.py Sep 27, 2019
webpack.config.js Make dynamic JS files include cache-busting hashes Dec 22, 2019

Readme.md

Open Library

Build Status Join the chat at https://gitter.im/theopenlibrary/Lobby

Open Library is an open, editable library catalog, building towards a web page for every book ever published.

Table of Contents

Overview

Open Library is an effort started in 2006 to create "one web page for every book ever published". It provides access to many public domain and out-of-print books, which can be read online.

Installation

The development environment can be set up using the Docker Instructions. You can also watch the video tutorial for a more detailed explanation.

Our Docker environment is in active development. Want to contribute? Here's our top-level Docker todo-list and a list of open Docker issues.

Developer's Guide

For instructions on administrating your Open Library instance, refer the Developer's Quickstart Guide.

You can also find more information regarding Developer Documentation for Open Library in the Open Library Wiki

Code Organization

  • openlibrary/core - core openlibrary functionality, imported and used by www
  • openlibrary/plugins - other models, controllers, and view helpers
  • openlibrary/views - views for rendering web pages
  • openlibrary/templates - all the templates used in the website
  • openlibrary/macros - macros are like templates, but can be called from wikitext

Architecture

The Backend

OpenLibrary is developed on top of the Infogami wiki system, which is itself built on top of the web.py Python web framework and the Infobase database framework.

Once you've read the overview of OpenLibrary Backend technologies, it's highly encouraged you read the developer primer which explains how to use Infogami (and its database, Infobase)

Running tests

Open Library tests can be run using pytest. Kindly look up on our Testing Document for more details

Run tests while the docker container is running

cd docker/
docker-compose exec web make test

Integration Tests

Integration tests use the Splinter webdriver with Google Chrome. For instructions on installation requirements and running integration tests, see Integration Tests README

License

All source code published here is available under the terms of the GNU Affero General Public License, version 3.

You can’t perform that action at this time.