{ "info": { "author": "Canonical webteam", "author_email": "webteam@canonical.com", "bugtrack_url": null, "classifiers": [], "description": "# canonicalwebteam.search\n\n[![circleci build status](https://circleci.com/gh/canonical-web-and-design/canonicalwebteam.search.svg?style=shield)](https://circleci.com/gh/canonical-web-and-design/canonicalwebteam.search)\n[![Code coverage](https://codecov.io/gh/canonical-web-and-design/canonicalwebteam.search/branch/master/graph/badge.svg)](https://codecov.io/gh/canonical-web-and-design/canonicalwebteam.search)\n[![PyPI version](https://badge.fury.io/py/canonicalwebteam.search.svg)](https://pypi.org/project/canonicalwebteam.search/)\n\nFlask extension to provide a search view for querying the webteam's Google Custom Search account.\n\n## Installation\n\n`pip3 install canonicalwebteam.search`\n\nOr add `canonicalwebteam.search` to your `requirements.txt`.\n\n## Usage\n\n### Application code\n\nYou can add the extension on your project's application as follows:\n\n``` python3\nfrom canonicalwebteam.search import build_search_view\n\napp = Flask(\"myapp\")\n\napp.add_url_rule(\"/search\", \"search\", build_search_view())\n\n# Or, a bit more complex example\n\napp.add_url_rule(\n \"/docs/search\",\n \"docs-search\",\n build_search_view(\n site=\"maas.io/docs\",\n template_path=\"docs/search.html\"\n )\n)\n```\n\n### The template\n\nYou need to create an HTML template at the specificed `template_path`. By default this will be `search.html` inside your templates folder. This template will be passed the following data:\n\n- `{{ query }}` - the contents of the `q=` search query parameter\n- `{{ start }}` - the contents of the `start=` query parameter - the offset at which to start returning results (used for pagination - default 0)\n- `{{ num }}` - the contents of the `num=` query parameter - the number of search results to return (default 10)\n- `{{ results }}` - the results returned from the Google Custom Search query. The actual search results are in `{{ results.entries }}`.\n\n### The API key\n\nYou then need to provide the API key for the Google Custom Search API as an environment variable called `SEARCH_API_KEY` when the server starts - e.g.:\n\n```\nSEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run\n```\n\nOnce this is done, you should be able to visit `/search?q={some_query}` in your site and see search results built with your `search.html` template.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/canonical-web-and-design/canonicalwebteam.search", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "canonicalwebteam.search", "package_url": "https://pypi.org/project/canonicalwebteam.search/", "platform": "", "project_url": "https://pypi.org/project/canonicalwebteam.search/", "project_urls": { "Homepage": "https://github.com/canonical-web-and-design/canonicalwebteam.search" }, "release_url": "https://pypi.org/project/canonicalwebteam.search/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "Flask extension to provide a search view for querying the webteam's Google Custom Search account", "version": "0.2.0" }, "last_serial": 5749791, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6b5439d6f2c25435650e43aada4629a5", "sha256": "e655dda22ebcf02f05810b6dd12f5a8a0c9f0a5f2a1652e6e8b13ff32407ec5c" }, "downloads": -1, "filename": "canonicalwebteam.search-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6b5439d6f2c25435650e43aada4629a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10013, "upload_time": "2019-07-22T14:37:35", "url": "https://files.pythonhosted.org/packages/e4/a0/76c2ad8e05d6c510b9addc67193e8780339da708601d72017af7771a1b2a/canonicalwebteam.search-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "8d3491a22c83790704282c3fcb4c02ad", "sha256": "961e0924bda760bfcda7f2f5f5e7da4a0b88fdbd0dac91dd42625ba84fda3f95" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8d3491a22c83790704282c3fcb4c02ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10054, "upload_time": "2019-08-29T07:51:21", "url": "https://files.pythonhosted.org/packages/ae/61/ba3674cf03b765dc371c6aa35a96f3961ceecbea53e1c834ec49798c3c8e/canonicalwebteam.search-0.2.0.tar.gz" } ], "0.2.0a1": [ { "comment_text": "", "digests": { "md5": "4fbbab751c068afbb831201743e24560", "sha256": "1cdad2db2e5813ea7b9a862c182a7fd900b3748791b8d91f19b1ef05137eef56" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a1.tar.gz", "has_sig": false, "md5_digest": "4fbbab751c068afbb831201743e24560", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10046, "upload_time": "2019-08-28T21:43:35", "url": "https://files.pythonhosted.org/packages/0d/88/deb5e054a351659bf77f767f3142b4741e610aa347ae6444254557037edf/canonicalwebteam.search-0.2.0a1.tar.gz" } ], "0.2.0a2": [ { "comment_text": "", "digests": { "md5": "321953c57a7a0124a99007a83b6de015", "sha256": "57fc6768b5be0b8ba41b2745fae8bf220938b011add59fd5d3f09c8ac67ab9fe" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a2.tar.gz", "has_sig": false, "md5_digest": "321953c57a7a0124a99007a83b6de015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10057, "upload_time": "2019-08-28T21:57:06", "url": "https://files.pythonhosted.org/packages/88/fc/8c084bd74b5fc059a5f90fe6dcee5e31b3cefb3848832369de9881a8b8a9/canonicalwebteam.search-0.2.0a2.tar.gz" } ], "0.2.0a3": [ { "comment_text": "", "digests": { "md5": "b6096ce6503a16309dc7b886dc5e25d7", "sha256": "fce0d13617d62d840b34cf01261c6255c3a5c026b6fdaa6e7e607934b59574fb" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a3.tar.gz", "has_sig": false, "md5_digest": "b6096ce6503a16309dc7b886dc5e25d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10048, "upload_time": "2019-08-28T21:59:48", "url": "https://files.pythonhosted.org/packages/73/b2/1875110180c2000a9c1c4778b6b49a25b61997d13645ff477b54b8c32a8f/canonicalwebteam.search-0.2.0a3.tar.gz" } ], "0.2.0a4": [ { "comment_text": "", "digests": { "md5": "7efdbd6ec0eb2259b1287c1a71833d6a", "sha256": "c9412c0f4ce23aa9e1683a48537f6f9886d3c1c19c5689643bc27665e18e0294" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a4.tar.gz", "has_sig": false, "md5_digest": "7efdbd6ec0eb2259b1287c1a71833d6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10043, "upload_time": "2019-08-28T22:02:23", "url": "https://files.pythonhosted.org/packages/de/91/d4e20b68757c15495fbf9cbf703fdb83bd4b000456750e0a237539cc84ce/canonicalwebteam.search-0.2.0a4.tar.gz" } ], "0.2.0a5": [ { "comment_text": "", "digests": { "md5": "f0efe4c87bc88dbb183440fb59f41454", "sha256": "70790dace4158ae3b1ea1a571beaefef549aed736313c6c3b06946b419096a1a" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a5.tar.gz", "has_sig": false, "md5_digest": "f0efe4c87bc88dbb183440fb59f41454", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10044, "upload_time": "2019-08-28T22:52:43", "url": "https://files.pythonhosted.org/packages/b9/fc/2939a637e3a06d00f17c868f48ef1c9d6a1616ee920d891d63490c069c47/canonicalwebteam.search-0.2.0a5.tar.gz" } ], "0.2.0a6": [ { "comment_text": "", "digests": { "md5": "e3669822c0bc0098a483a37157bdfc61", "sha256": "aece8982517e2fbd8e5e0d1cbe1e617339ea89178e68e812abfee8c19336e72f" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0a6.tar.gz", "has_sig": false, "md5_digest": "e3669822c0bc0098a483a37157bdfc61", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10061, "upload_time": "2019-08-28T22:58:12", "url": "https://files.pythonhosted.org/packages/ea/ed/3fa6fc02be0e2cf1560acc746ffa69c9f5130503af731d6558764cb6e6fd/canonicalwebteam.search-0.2.0a6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8d3491a22c83790704282c3fcb4c02ad", "sha256": "961e0924bda760bfcda7f2f5f5e7da4a0b88fdbd0dac91dd42625ba84fda3f95" }, "downloads": -1, "filename": "canonicalwebteam.search-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8d3491a22c83790704282c3fcb4c02ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10054, "upload_time": "2019-08-29T07:51:21", "url": "https://files.pythonhosted.org/packages/ae/61/ba3674cf03b765dc371c6aa35a96f3961ceecbea53e1c834ec49798c3c8e/canonicalwebteam.search-0.2.0.tar.gz" } ] }