forked from tommyhutcheson/scorm_package
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
368 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# .coveragerc to control coverage.py | ||
[run] | ||
branch = True | ||
source = scorm_package | ||
# omit = bad_file.py | ||
|
||
[paths] | ||
source = | ||
src/ | ||
*/site-packages/ | ||
|
||
[report] | ||
# Regexes for lines to exclude from consideration | ||
exclude_lines = | ||
# Have to re-enable the standard pragma | ||
pragma: no cover | ||
|
||
# Don't complain about missing debug-only code: | ||
def __repr__ | ||
if self\.debug | ||
|
||
# Don't complain if tests don't hit defensive assertion code: | ||
raise AssertionError | ||
raise NotImplementedError | ||
|
||
# Don't complain if non-runnable code isn't run: | ||
if 0: | ||
if __name__ == .__main__.: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Temporary and binary files | ||
*~ | ||
*.py[cod] | ||
*.so | ||
*.cfg | ||
!.isort.cfg | ||
!setup.cfg | ||
*.orig | ||
*.log | ||
*.pot | ||
__pycache__/* | ||
.cache/* | ||
.*.swp | ||
*/.ipynb_checkpoints/* | ||
.DS_Store | ||
|
||
# Project files | ||
.ropeproject | ||
.project | ||
.pydevproject | ||
.settings | ||
.idea | ||
.vscode | ||
tags | ||
|
||
# Package files | ||
*.egg | ||
*.eggs/ | ||
.installed.cfg | ||
*.egg-info | ||
|
||
# Unittest and coverage | ||
htmlcov/* | ||
.coverage | ||
.coverage.* | ||
.tox | ||
junit*.xml | ||
coverage.xml | ||
.pytest_cache/ | ||
|
||
# Build and docs folder/files | ||
build/* | ||
dist/* | ||
sdist/* | ||
docs/api/* | ||
docs/_rst/* | ||
docs/_build/* | ||
cover/* | ||
MANIFEST | ||
|
||
# Per-project virtualenvs | ||
.venv*/ | ||
.conda*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Read the Docs configuration file | ||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details | ||
|
||
# Required | ||
version: 2 | ||
|
||
# Build documentation in the docs/ directory with Sphinx | ||
sphinx: | ||
configuration: docs/conf.py | ||
|
||
# Build documentation with MkDocs | ||
#mkdocs: | ||
# configuration: mkdocs.yml | ||
|
||
# Optionally build your docs in additional formats such as PDF | ||
formats: | ||
|
||
python: | ||
version: 3.8 | ||
install: | ||
- requirements: docs/requirements.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
============ | ||
Contributors | ||
============ | ||
|
||
* Will Usher <[email protected]> | ||
* Tommy Hutcheson |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2021 Will Usher | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
of this software and associated documentation files (the "Software"), to deal | ||
in the Software without restriction, including without limitation the rights | ||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
copies of the Software, and to permit persons to whom the Software is | ||
furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[build-system] | ||
# AVOID CHANGING REQUIRES: IT WILL BE UPDATED BY PYSCAFFOLD! | ||
requires = ["setuptools>=46.1.0", "setuptools_scm[toml]>=5", "wheel"] | ||
build-backend = "setuptools.build_meta" | ||
|
||
[tool.setuptools_scm] | ||
# See configuration details in https://github.com/pypa/setuptools_scm | ||
version_scheme = "no-guess-dev" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
# This file is used to configure your project. | ||
# Read more about the various options under: | ||
# http://setuptools.readthedocs.io/en/latest/setuptools.html#configuring-setup-using-setup-cfg-files | ||
|
||
[metadata] | ||
name = scorm_package | ||
description = Add a short description here! | ||
author = Will Usher, Tommy Hutcheson | ||
author_email = [email protected] | ||
license = MIT | ||
long_description = file: README.rst | ||
long_description_content_type = text/x-rst; charset=UTF-8 | ||
url = https://github.com/ClimateCompatibleGrowth/scorm_package | ||
# Add here related links, for example: | ||
project_urls = | ||
Source = https://github.com/ClimateCompatibleGrowth/scorm_package | ||
Tracker = https://github.com/ClimateCompatibleGrowth/scorm_package/issues | ||
|
||
# Change if running only on Windows, Mac or Linux (comma-separated) | ||
platforms = any | ||
|
||
# Add here all kinds of additional classifiers as defined under | ||
# https://pypi.python.org/pypi?%3Aaction=list_classifiers | ||
classifiers = | ||
Development Status :: 4 - Beta | ||
Programming Language :: Python | ||
|
||
|
||
[options] | ||
zip_safe = False | ||
packages = find_namespace: | ||
include_package_data = True | ||
package_dir = | ||
=src | ||
|
||
# Require a min/specific Python version (comma-separated conditions) | ||
# python_requires = >=3.8 | ||
|
||
# Add here dependencies of your project (line-separated), e.g. requests>=2.2,<3.0. | ||
# Version specifiers like >=2.2,<3.0 avoid problems due to API changes in | ||
# new major versions. This works if the required packages follow Semantic Versioning. | ||
# For more information, check out https://semver.org/. | ||
install_requires = | ||
importlib-metadata; python_version<"3.8" | ||
|
||
|
||
[options.packages.find] | ||
where = src | ||
exclude = | ||
tests | ||
|
||
[options.extras_require] | ||
# Add here additional requirements for extra features, to install with: | ||
# `pip install scorm_package[PDF]` like: | ||
# PDF = ReportLab; RXP | ||
|
||
# Add here test requirements (semicolon/line-separated) | ||
testing = | ||
setuptools | ||
pytest | ||
pytest-cov | ||
|
||
[options.entry_points] | ||
# Add here console scripts like: | ||
# console_scripts = | ||
scorm = scorm_package.scorm:main | ||
# For example: | ||
# console_scripts = | ||
# fibonacci = scorm_package.skeleton:run | ||
# And any other entry points, for example: | ||
# pyscaffold.cli = | ||
# awesome = pyscaffoldext.awesome.extension:AwesomeExtension | ||
|
||
[tool:pytest] | ||
# Specify command line options as you would do when invoking pytest directly. | ||
# e.g. --cov-report html (or xml) for html/xml output or --junitxml junit.xml | ||
# in order to write a coverage file that can be read by Jenkins. | ||
# CAUTION: --cov flags may prohibit setting breakpoints while debugging. | ||
# Comment those flags to avoid this py.test issue. | ||
addopts = | ||
--cov scorm_package --cov-report html | ||
--verbose | ||
norecursedirs = | ||
dist | ||
build | ||
.tox | ||
testpaths = tests | ||
# Use pytest markers to select/deselect specific tests | ||
# markers = | ||
# slow: mark tests as slow (deselect with '-m "not slow"') | ||
# system: mark end-to-end system tests | ||
|
||
[bdist_wheel] | ||
# Use this option if your package is pure-python | ||
universal = 1 | ||
|
||
[devpi:upload] | ||
# Options for the devpi: PyPI server and packaging tool | ||
# VCS export must be deactivated since we are using setuptools-scm | ||
no_vcs = 1 | ||
formats = bdist_wheel | ||
|
||
[flake8] | ||
# Some sane defaults for the code style checker flake8 | ||
max_line_length = 88 | ||
extend_ignore = E203, W503 | ||
# ^ Black-compatible | ||
# E203 and W503 have edge cases handled by black | ||
exclude = | ||
.tox | ||
build | ||
dist | ||
.eggs | ||
docs/conf.py | ||
|
||
[pyscaffold] | ||
# PyScaffold's parameters when the project was created. | ||
# This will be used when updating. Do not change! | ||
version = 4.0.1 | ||
package = scorm_package | ||
extensions = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import sys | ||
|
||
if sys.version_info[:2] >= (3, 8): | ||
# TODO: Import directly (no need for conditional) when `python_requires = >= 3.8` | ||
from importlib.metadata import PackageNotFoundError, version # pragma: no cover | ||
else: | ||
from importlib_metadata import PackageNotFoundError, version # pragma: no cover | ||
|
||
try: | ||
# Change here if project is renamed and does not equal the package name | ||
dist_name = __name__ | ||
__version__ = version(dist_name) | ||
except PackageNotFoundError: # pragma: no cover | ||
__version__ = "unknown" | ||
finally: | ||
del version, PackageNotFoundError |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
""" | ||
Dummy conftest.py for scorm_package. | ||
If you don't know what this is for, just leave it empty. | ||
Read more about conftest.py under: | ||
- https://docs.pytest.org/en/stable/fixture.html | ||
- https://docs.pytest.org/en/stable/writing_plugins.html | ||
""" | ||
|
||
# import pytest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from scorm.scorm import jinja_template | ||
def test_template(): | ||
|
||
expected = """ | ||
""" | ||
|
||
dirName = '' | ||
htmlfile = '' | ||
all_resources = '' | ||
templatefile = '' | ||
|
||
actual = jinja_template(dirName, htmlfile, all_resources, templatefile) | ||
|
||
assert actual == expected |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
# Tox configuration file | ||
# Read more under https://tox.readthedocs.org/ | ||
# THIS SCRIPT IS SUPPOSED TO BE AN EXAMPLE. MODIFY IT ACCORDING TO YOUR NEEDS! | ||
|
||
[tox] | ||
minversion = 3.15 | ||
envlist = default | ||
|
||
|
||
[testenv] | ||
description = invoke pytest to run automated tests | ||
isolated_build = True | ||
setenv = | ||
TOXINIDIR = {toxinidir} | ||
passenv = | ||
HOME | ||
extras = | ||
testing | ||
commands = | ||
pytest {posargs} | ||
|
||
|
||
[testenv:{clean,build}] | ||
description = | ||
Build (or clean) the package in isolation according to instructions in: | ||
https://setuptools.readthedocs.io/en/latest/build_meta.html#how-to-use-it | ||
https://github.com/pypa/pep517/issues/91 | ||
https://github.com/pypa/build | ||
# NOTE: build is still experimental, please refer to the links for updates/issues | ||
skip_install = True | ||
changedir = {toxinidir} | ||
deps = | ||
build: build[virtualenv] | ||
commands = | ||
clean: python -c 'from shutil import rmtree; rmtree("build", True); rmtree("dist", True)' | ||
build: python -m build . | ||
# By default `build` produces wheels, you can also explicitly use the flags `--sdist` and `--wheel` | ||
|
||
|
||
[testenv:{docs,doctests}] | ||
description = invoke sphinx-build to build the docs/run doctests | ||
setenv = | ||
DOCSDIR = {toxinidir}/docs | ||
BUILDDIR = {toxinidir}/docs/_build | ||
docs: BUILD = html | ||
doctests: BUILD = doctest | ||
deps = | ||
-r {toxinidir}/docs/requirements.txt | ||
# ^ requirements.txt shared with Read The Docs | ||
commands = | ||
sphinx-build -b {env:BUILD} -d "{env:BUILDDIR}/doctrees" "{env:DOCSDIR}" "{env:BUILDDIR}/{env:BUILD}" {posargs} | ||
|
||
|
||
[testenv:publish] | ||
description = | ||
Publish the package you have been developing to a package index server. | ||
By default, it uses testpypi. If you really want to publish your package | ||
to be publicly accessible in PyPI, use the `-- --repository pypi` option. | ||
skip_install = True | ||
changedir = {toxinidir} | ||
passenv = | ||
TWINE_USERNAME | ||
TWINE_PASSWORD | ||
TWINE_REPOSITORY | ||
deps = twine | ||
commands = | ||
python -m twine check dist/* | ||
python -m twine upload {posargs:--repository testpypi} dist/* |