#!/usr/bin/python3
#
# do the documentation generation cycle

import sys, os, shutil, importlib

importlib.invalidate_caches()
sys.path.insert(0, os.getcwd())
sys.path.insert(0, os.getcwd() + os.sep + '..')

from mads.misc import get_source
from mads.join import j

projectname = "fact"
source = get_source("evrm")
print("source is %s" % source)
sys.path.insert(0, source)
#source = os.getcwd()
#source = os.sep.join(source.split(os.sep)[:-1])
docdir = j(source, "docs")
curdir = os.path.abspath(os.getcwd())
targetdir = os.path.join(curdir, "docs")

#try: projectname = sys.argv[1]
#except: projectname = curdir.split(os.sep)[-1]

os.environ["SPHINX_APIDOC_OPTIONS"] = "noindex"
os.environ["SPHINX_AUTOGEN_OPTIONS"] = "noindex"
os.environ['PYTHONPATH'] = os.path.abspath(source)

import unittest

for line in os.popen("mkdir docs").readlines(): pass #print(line.strip())
for line in os.popen("rm -fR docs/html/").readlines(): print(line.strip())
for line in os.popen("rm -fR docs/code/").readlines(): print(line.strip())
for line in os.popen("mkdir docs/html 2>&1").readlines(): pass
for line in os.popen("mkdir docs/code 2>&1").readlines(): print(line.strip())
#for line in os.popen("bin/meds-test").readlines(): print(line.strip())
#for line in os.popen("bin/meds-doctest").readlines(): print(line.strip())
#for line in os.popen("sphinx-autogen docs/SOURCE.rst -o %s/code -t docs/_templates" % targetdir).readlines(): print(line.strip())
for line in os.popen("sphinx-build -a %s %s/html" % (docdir, targetdir)).readlines(): pass #print(line.strip())

zipname = "%s.html.zip" % projectname
os.chdir("%s/html" % targetdir)

for line in os.popen("zip -r %s.html.zip *" % projectname).readlines(): pass
for line in os.popen("mv %s.html.zip ../../" % projectname).readlines(): pass

os.chdir(os.getcwd())
