Coverage for webapp/docs/views.py: 100%
11 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-28 22:05 +0000
1from os import getenv
3import talisker
5from canonicalwebteam.discourse import (
6 DiscourseAPI,
7 DocParser,
8 Docs,
9)
10from canonicalwebteam.search import build_search_view
12DISCOURSE_API_KEY = getenv("DISCOURSE_API_KEY")
13DISCOURSE_API_USERNAME = getenv("DISCOURSE_API_USERNAME")
16def init_docs(app, url_prefix):
17 session = talisker.requests.get_session()
18 discourse_docs = Docs(
19 parser=DocParser(
20 api=DiscourseAPI(
21 base_url="https://forum.snapcraft.io/",
22 session=session,
23 api_key=DISCOURSE_API_KEY,
24 api_username=DISCOURSE_API_USERNAME,
25 get_topics_query_id=2,
26 ),
27 index_topic_id=11127,
28 url_prefix=url_prefix,
29 tutorials_index_topic_id=15409,
30 tutorials_url_prefix="/tutorials",
31 ),
32 document_template="docs/document.html",
33 url_prefix=url_prefix,
34 )
35 discourse_docs.init_app(app)
37 app.add_url_rule(
38 "/docs/search",
39 "docs-search",
40 build_search_view(
41 app=app,
42 session=session,
43 site="snapcraft.io/docs",
44 template_path="docs/search.html",
45 ),
46 )