38 lines
995 B
Python
38 lines
995 B
Python
|
# python -m pygame.docs
|
||
|
|
||
|
import os
|
||
|
import webbrowser
|
||
|
from urllib.parse import quote, urlunparse
|
||
|
|
||
|
|
||
|
def _iterpath(path):
|
||
|
path, last = os.path.split(path)
|
||
|
if last:
|
||
|
yield from _iterpath(path)
|
||
|
yield last
|
||
|
|
||
|
|
||
|
# for test suite to confirm pygame built with local docs
|
||
|
def has_local_docs():
|
||
|
pkg_dir = os.path.dirname(os.path.abspath(__file__))
|
||
|
main_page = os.path.join(pkg_dir, "generated", "index.html")
|
||
|
return os.path.exists(main_page)
|
||
|
|
||
|
|
||
|
def open_docs():
|
||
|
pkg_dir = os.path.dirname(os.path.abspath(__file__))
|
||
|
main_page = os.path.join(pkg_dir, "generated", "index.html")
|
||
|
if os.path.exists(main_page):
|
||
|
url_path = quote("/".join(_iterpath(main_page)))
|
||
|
drive, rest = os.path.splitdrive(__file__)
|
||
|
if drive:
|
||
|
url_path = f"{drive}/{url_path}"
|
||
|
url = urlunparse(("file", "", url_path, "", "", ""))
|
||
|
else:
|
||
|
url = "https://www.pygame.org/docs/"
|
||
|
webbrowser.open(url)
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
open_docs()
|