1+ <!-- 
2+ -- Copyright (C) 2020 Arm Mbed. All rights reserved. 
3+ -- SPDX-License-Identifier: Apache-2.0 
4+ --> 
5+ <!doctype html>  
6+ < html  lang ="en "> 
7+ < head > 
8+ < meta  charset ="utf-8 "> 
9+ < meta  name ="viewport " content ="width=device-width, initial-scale=1, minimum-scale=1 " /> 
10+ < meta  name ="generator " content ="pdoc 0.7.5 " /> 
11+ < title > snippet.cli API documentation</ title > 
12+ < meta  name ="description " content ="CLI definition. " /> 
13+ < link  href ='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css ' rel ='stylesheet '> 
14+ < link  href ='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css ' rel ='stylesheet '> 
15+ < link  href ="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css " rel ="stylesheet "> 
16+ < style > .flex {display : flex !important }body {line-height : 1.5em  }# content {padding : 20px  }# sidebar {padding : 30px  ;overflow : hidden}.http-server-breadcrumbs {font-size : 130%  ;margin : 0  0  15px   0 }# footer {font-size : .75em  ;padding : 5px   30px  ;border-top : 1px   solid # dddtext-align : right}# footer  p {margin : 0  0  0  1em  ;display : inline-block}# footer  p : last-child {margin-right : 30px  }h1 , h2 , h3 , h4 , h5 {font-weight : 300 }h1 {font-size : 2.5em  ;line-height : 1.1em  }h2 {font-size : 1.75em  ;margin : 1em   0  .50em   0 }h3 {font-size : 1.4em  ;margin : 25px   0  10px   0 }h4 {margin : 0 ;font-size : 105%  }a {color : # 058text-decoration : none;transition : color .3s   ease-in-out}a : hover {color : # e82title  code {font-weight : bold}h2 [id ^= "header-" ]{margin-top : 2em  }.ident {color : # 900pre  code {background : # f8f8f8font-size : .8em  ;line-height : 1.4em  }code {background : # f2f2f1padding : 1px   4px  ;overflow-wrap : break-word}h1  code {background : transparent}pre {background : # f8f8f8border : 0 ;border-top : 1px   solid # cccborder-bottom : 1px   solid # cccmargin : 1em   0 ;padding : 1ex  }# http-server-module-list {display : flex;flex-flow : column}# http-server-module-list  div {display : flex}# http-server-module-list  dt {min-width : 10%  }# http-server-module-list  p {margin-top : 0 }.toc  ul , # index {list-style-type : none;margin : 0 ;padding : 0 }# index  code {background : transparent}# index  h3 {border-bottom : 1px   solid # ddd# index  ul {padding : 0 }# index  h4 {font-weight : bold}# index  h4  +  ul {margin-bottom : .6em  }@media  (min-width : 200ex  ){# index  .two-column {column-count : 2 }}@media  (min-width : 300ex  ){# index  .two-column {column-count : 3 }}dl {margin-bottom : 2em  }dl  dl : last-child {margin-bottom : 4em  }dd {margin : 0  0  1em   3em  }# header-classes  +  dl  >  dd {margin-bottom : 3em  }dd  dd {margin-left : 2em  }dd  p {margin : 10px   0 }.name {background : # eeefont-weight : bold;font-size : .85em  ;padding : 5px   10px  ;display : inline-block;min-width : 40%  }.name : hover {background : # e0e0e0name  >  span : first-child {white-space : nowrap}.name .class  >  span : nth-child (2 ){margin-left : .4em  }.inherited {color : # 999border-left : 5px   solid # eeepadding-left : 1em  }.inheritance  em {font-style : normal;font-weight : bold}.desc  h2 {font-weight : 400 ;font-size : 1.25em  }.desc  h3 {font-size : 1em  }.desc  dt  code {background : inherit}.source  summary , .git-link-div {color : # 666text-align : right;font-weight : 400 ;font-size : .8em  ;text-transform : uppercase}.source  summary  >  * white-space : nowrap;cursor : pointer}.git-link {color : inherit;margin-left : 1em  }.source  pre {max-height : 500px  ;overflow : auto;margin : 0 }.source  pre  code {font-size : 12px  ;overflow : visible}.hlist {list-style : none}.hlist  li {display : inline}.hlist  li : after {content : ',\2002' }.hlist  li : last-child : after {content : none}.hlist  .hlist {display : inline;padding-left : 1em  }img {max-width : 100%  }.admonition {padding : .1em   .5em  ;margin-bottom : 1em  }.admonition-title {font-weight : bold}.admonition .note , .admonition .info , .admonition .important {background : # aefadmonition .todo , .admonition .versionadded , .admonition .tip , .admonition .hint {background : # dfdadmonition .warning , .admonition .versionchanged , .admonition .deprecated {background : # fd4admonition .error , .admonition .danger , .admonition .caution {background : lightpink}</ style > 
17+ < style  media ="screen and (min-width: 700px) "> @media  screen and  (min-width : 700px  ){# sidebar {width : 30%  }# content {width : 70%  ;max-width : 100ch  ;padding : 3em   4em  ;border-left : 1px   solid # dddpre  code {font-size : 1em  }.item  .name {font-size : 1em  }main {display : flex;flex-direction : row-reverse;justify-content : flex-end}.toc  ul  ul , # index  ul {padding-left : 1.5em  }.toc  >  ul  >  li {margin-top : .5em  }}</ style > 
18+ < style  media ="print "> @media  print{# sidebar  h1 {page-break-before : always}.source {display : none}}@media  print{* background : transparent !important ;color : # 000!important ;box-shadow : none !important ;text-shadow : none !important }a [href ]: after {content : " ("  attr (href) ")" ;font-size : 90%  }a [href ][title ]: after {content : none}abbr [title ]: after {content : " ("  attr (title) ")" }.ir  a : after , a [href ^= "javascript:" ]: after , a [href ^= "#" ]: after {content : "" }pre , blockquote {border : 1px   solid # 999page-break-inside : avoid}thead {display : table-header-group}tr , img {page-break-inside : avoid}img {max-width : 100%   !important }@page {margin : 0.5cm  }p , h2 , h3 {orphans : 3 ;widows : 3 }h1 , h2 , h3 , h4 , h5 , h6 {page-break-after : avoid}}</ style > 
19+ </ head > 
20+ < body > 
21+ < main > 
22+ < article  id ="content "> 
23+ < header > 
24+ < h1  class ="title "> Module < code > snippet.cli</ code > </ h1 > 
25+ </ header > 
26+ < section  id ="section-intro "> 
27+ < p > CLI definition.</ p > 
28+ < details  class ="source "> 
29+ < summary > 
30+ < span > Expand source code</ span > 
31+ </ summary > 
32+ < pre > < code  class ="python "> #
33+ # Copyright (C) 2020 Arm Mbed. All rights reserved.
34+ # SPDX-License-Identifier: Apache-2.0
35+ #
36+ """CLI definition."""
37+ import argparse
38+ 
39+ import os
40+ import sys
41+ import dotenv
42+ 
43+ from mbed_tools_lib.logging import set_log_level, MbedToolsHandler
44+ 
45+ from snippet import config
46+ from snippet.api import extract_code_snippets
47+ from snippet._internal.logs import LOGGER
48+ 
49+ 
50+ def main() -> int:
51+     """Script CLI."""
52+     parser = argparse.ArgumentParser()
53+     parser.add_argument("--config", type=str, action="append", help="paths (or globs) to config files")
54+     parser.add_argument(
55+         "dir",
56+         nargs="?",
57+         default=os.getcwd(),
58+         help="path to project root, used by any relative paths in loaded configs [cwd]",
59+     )
60+     parser.add_argument(
61+         "-v",
62+         "--verbose",
63+         action="count",
64+         default=0,
65+         help="Set the verbosity level, enter multiple times to increase verbosity.",
66+     )
67+     parser.add_argument(
68+         "-t", "--traceback", action="store_true", default=True, help="Show a traceback when an error is raised."
69+     )
70+     args = parser.parse_args()
71+     set_log_level(args.verbose)
72+     dotenv.load_dotenv(dotenv.find_dotenv(usecwd=True, raise_error_if_not_found=False))
73+     # Use the context manager to ensure tools exceptions (expected behaviour) are shown as messages to the user,
74+     # but all other exceptions (unexpected behaviour) are shown as errors.
75+     with MbedToolsHandler(LOGGER, args.traceback):
76+         extract_code_snippets(config.get_config(config_paths=args.config, project_root=args.dir,))
77+         return 0
78+     return 1
79+ 
80+ 
81+ if __name__ == "__main__":
82+     sys.exit(main())</ code > </ pre > 
83+ </ details > 
84+ </ section > 
85+ < section > 
86+ </ section > 
87+ < section > 
88+ </ section > 
89+ < section > 
90+ < h2  class ="section-title " id ="header-functions "> Functions</ h2 > 
91+ < dl > 
92+ < dt  id ="snippet.cli.main "> < code  class ="name flex "> 
93+ < span > def < span  class ="ident "> main</ span > </ span > (< span > ) ->  int</ span > 
94+ </ code > </ dt > 
95+ < dd > 
96+ < section  class ="desc "> < p > Script CLI.</ p > </ section > 
97+ < details  class ="source "> 
98+ < summary > 
99+ < span > Expand source code</ span > 
100+ </ summary > 
101+ < pre > < code  class ="python "> def main() -> int:
102+     """Script CLI."""
103+     parser = argparse.ArgumentParser()
104+     parser.add_argument("--config", type=str, action="append", help="paths (or globs) to config files")
105+     parser.add_argument(
106+         "dir",
107+         nargs="?",
108+         default=os.getcwd(),
109+         help="path to project root, used by any relative paths in loaded configs [cwd]",
110+     )
111+     parser.add_argument(
112+         "-v",
113+         "--verbose",
114+         action="count",
115+         default=0,
116+         help="Set the verbosity level, enter multiple times to increase verbosity.",
117+     )
118+     parser.add_argument(
119+         "-t", "--traceback", action="store_true", default=True, help="Show a traceback when an error is raised."
120+     )
121+     args = parser.parse_args()
122+     set_log_level(args.verbose)
123+     dotenv.load_dotenv(dotenv.find_dotenv(usecwd=True, raise_error_if_not_found=False))
124+     # Use the context manager to ensure tools exceptions (expected behaviour) are shown as messages to the user,
125+     # but all other exceptions (unexpected behaviour) are shown as errors.
126+     with MbedToolsHandler(LOGGER, args.traceback):
127+         extract_code_snippets(config.get_config(config_paths=args.config, project_root=args.dir,))
128+         return 0
129+     return 1</ code > </ pre > 
130+ </ details > 
131+ </ dd > 
132+ </ dl > 
133+ </ section > 
134+ < section > 
135+ </ section > 
136+ </ article > 
137+ < nav  id ="sidebar "> 
138+ < h1 > Index</ h1 > 
139+ < div  class ="toc "> 
140+ < ul > </ ul > 
141+ </ div > 
142+ < ul  id ="index "> 
143+ < li > < h3 > Super-module</ h3 > 
144+ < ul > 
145+ < li > < code > < a  title ="snippet " href ="index.html "> snippet</ a > </ code > </ li > 
146+ </ ul > 
147+ </ li > 
148+ < li > < h3 > < a  href ="#header-functions "> Functions</ a > </ h3 > 
149+ < ul  class =""> 
150+ < li > < code > < a  title ="snippet.cli.main " href ="#snippet.cli.main "> main</ a > </ code > </ li > 
151+ </ ul > 
152+ </ li > 
153+ </ ul > 
154+ </ nav > 
155+ </ main > 
156+ < footer  id ="footer "> 
157+ < p > Generated by < a  href ="https://pdoc3.github.io/pdoc "> < cite > pdoc</ cite >  0.7.5</ a > .</ p > 
158+ </ footer > 
159+ < script  src ="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js "> </ script > 
160+ < script > hljs . initHighlightingOnLoad ( ) </ script > 
161+ </ body > 
162+ </ html > 
0 commit comments