Committing first stab at generating created docs

rtd2
Charles Leifer 2010-08-14 14:17:54 -05:00
parent 021b66f44e
commit 263e633e8f
4 changed files with 44 additions and 1 deletions

View File

@ -80,6 +80,15 @@ class Project(models.Model):
conf_py = file(os.path.join(self.conf.path, 'conf.py'), 'w')
conf_py.write(self.get_rendered_conf())
conf_py.close()
def get_rendered_index(self):
return render_to_string('projects/index.rst.html', {'project': self})
def write_index(self):
if not self.is_imported:
fh = open(os.path.join(self.conf.path, 'index.rst'), 'w')
fh.write(self.get_rendered_index())
fh.close()
@property
def is_imported(self):
@ -164,6 +173,14 @@ class File(models.Model):
def revert_to(self, revision_number):
revision = self.revisions.get(revision_number=revision_number)
revision.apply()
def get_rendered(self):
return render_to_string('projects/doc_file.rst.html', {'file': self})
def write_to_disk(self):
fh = open(os.path.join(self.project.conf.path, '%s.rst' % self.slug), 'w')
fh.write(self.get_rendered())
fh.close()
class FileRevision(models.Model):

View File

@ -80,8 +80,18 @@ def update_created_docs(project):
path = self.user_doc_path
doc_root = os.path.join(path, project.slug, 'docs')
if not os.path.exists(doc_root)
os.makedirs(doc_root)
project.conf.path = doc_root
project.conf.save()
project.write_index()
# TODO: write files
# TODO: make this more flexible
for file in project.files.all():
file.write_to_disk()
def build_docs(project):

View File

@ -0,0 +1,4 @@
{{ file.heading }}
=======================
{{ file.contents }}

View File

@ -0,0 +1,12 @@
{{ project.name }} v{{ project.version }}
==================================
{{ project.description }}
Contents:
.. toctree::
:maxdepth: 2
:glob:
*