Files
clear-linux-documentation/source/_scripts/_python
michael vincerra d2396a6b4f Bundle lister update (#725)
* Revises to simplify and refine code:
- Removes regex PATTERN4 and 5
- Revises PATTERN3 to exclude comments on custom additions
- Removes pundler() because no longer a clr-bundles directory

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>

Removes cruft code.

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>

Edit for rebase.

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>

* Removes decode() for string in extractor().

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>

* Applies .bundledesc css to <p> tag on includes().

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>

* Modifies html tags in template and styles.css.

Signed-off-by: Michael Vincerra <michael.vincerra@intel.com>
2019-08-14 10:17:20 -07:00
..
2019-08-14 10:17:20 -07:00
2019-07-11 15:30:04 -07:00
2019-08-14 10:17:20 -07:00
2019-08-14 10:17:20 -07:00

bundle_lister.py

bundle_lister.py is a Python (3.6.0) web scraper and html file generator. First, it clones the clr-bundles directory. Second, it parses the content of all bundles in the clr-bundles/ directory and the packages file. Third, it uses Jinja2 template engine to output the result as: bundles.html.txt. This file is copied to reference/bundles location, and it is invoked in bundles.rst, which currently appears as Available bundles.

bundle_lister.py automates clear linux documentation so it reflects current bundles and packages per developer updates to the clr-bundles GitHub repository. Therefore, it increases efficiency, automatically aligns documentation with Clear Linux Engineering development, and it eliminates potential for human error, and saves labor hours in contrast to the previous manual method.

bundle_lister.py will be invoked in a bash script in the source/Makefile of clear-linux documentation. Therefore, bundle_lister.py will automatically create newly scraped and parsed data upon each build of the website and output an accurate, up-to-date table showing all bundles and packages for interested developers and admins.

See requirements.txt for dependencies necessary to run this application.

Built in:Python==3.6.0

To run bundle_lister.py in the terminal, enter: python bundle_lister.py.

Note: The cloned_repo directory must remain in the parent directory in order for this code to work; the template.html must remain as well.

Note: A successful build will produce a file bundles.html.txt showing a table of current bundles and pundles (packages) alphabetized, with a (UTC) time and date stamp in the upper right corner.

~$~