0
@@ -12,9 +12,10 @@ version: 1.0.0b1
0
''' Prints documentation with htmltmpl from the json data outputted by parser.py '''
0
import os, re, simplejson, shutil, logging, logging.config, time, datetime
0
-
from cStringIO import StringIO
0
+
# from cStringIO import StringIO
0
from Cheetah.Template import Template
0
logging.config.fileConfig(os.path.join(sys.path[0], LOGCONFIG))
0
@@ -68,8 +69,11 @@ class DocGenerator(object):
0
self.showprivate = showprivate
0
- f=open(os.path.join(inpath, datafile))
0
- self.rawdata = StringIO(f.read()).getvalue()
0
+ f = codecs.open(os.path.join(inpath, datafile), "r", "utf-8" )
0
+ self.rawdata = f.read()
0
+ # log.info('INPUT DATA: ' + self.rawdata)
0
d = self.data = simplejson.loads(self.rawdata)
0
self.projectname = projectname
0
@@ -102,11 +106,15 @@ class DocGenerator(object):
0
# log.warn('cleansed module: %s' %(cleansed));
0
return self.moduleprefix + cleansed
0
- def write(self, filename, data):
0
- out = open(os.path.join(self.outpath, filename), "w")
0
- out.writelines(str(data))
0
- # out.writelines(unicode(data))
0
- # out.writelines(unicode(data, 'utf-8', 'xmlcharrefreplace'))
0
+ def write(self, filename, data, template=True):
0
+ out = codecs.open( os.path.join(self.outpath, filename), "w", "utf-8" )
0
+ datastr = data.respond()
0
@@ -129,7 +137,7 @@ class DocGenerator(object):
0
template.filename = self.filename
0
template.filepath = os.path.join(self.inpath, self.filename)
0
- template.
filepath_highlighted = template.filepath + self.newext0
+ template.
highlightcontent = codecs.open(os.path.join(self.inpath, self.filename + self.newext), "r", "utf-8" ).read()0
template.pagetype = self.pagetype
0
template.classmap = self.classmap
0
@@ -267,7 +275,7 @@ class DocGenerator(object):
0
# jsonname = self.cleansedmodulename + ".json"
0
log.info("Writing " + jsonname)
0
- self.write(jsonname, self.rawdata
)
0
+ self.write(jsonname, self.rawdata
, False)
0
for mname in self.modules:
0
log.info("Generating module splash for %s" %(mname))
0
@@ -380,6 +388,7 @@ class DocGenerator(object):
0
if self.showprivate or PRIVATE not in prop:
0
propdata = {NAME: propertykey, HOST: i, TYPE: 'property', URL:getUrl(i, propertykey, PROPERTY)}
0
transferToDict( ACCESS, prop, propdata )
0
if PRIVATE in prop: propdata[ACCESS] = PRIVATE
0
elif PROTECTED in prop: propdata[ACCESS] = PROTECTED
0
@@ -398,6 +407,7 @@ class DocGenerator(object):
0
if FINAL in prop: propdata[FINAL] = FINAL
0
methods = t.methods = []
0
@@ -574,11 +584,11 @@ class DocGenerator(object):
0
moduleprops.sort(allprop_sort)
0
t.allprops_raw = moduleprops
0
- moduleprops_json = simplejson.dumps(moduleprops
)
0
+ moduleprops_json = simplejson.dumps(moduleprops
, ensure_ascii=False)
0
t.allprops = moduleprops_json
0
classList.sort(allprop_sort)
0
t.classList_raw = classList
0
- t.classList = simplejson.dumps(classList
)
0
+ t.classList = simplejson.dumps(classList
, ensure_ascii=False)
0
self.write("%s.html" %(self.classname), t)
0
@@ -594,7 +604,7 @@ class DocGenerator(object):
0
moduleprops.sort(allprop_sort)
0
t.allprops_raw = moduleprops
0
- moduleprops_json = simplejson.dumps(moduleprops
)
0
+ moduleprops_json = simplejson.dumps(moduleprops
, ensure_ascii=False)
0
t.allprops = moduleprops_json
0
# log.warn('cleansed module file name: %s' %(t.cleansedmodulename));
0
@@ -619,8 +629,8 @@ class DocGenerator(object):
0
allprops.sort(allprop_sort)
0
- allprops_json = simplejson.dumps(allprops)
0
- self.write("index.json",allprops_json)
0
+ allprops_json = simplejson.dumps(allprops, ensure_ascii=False)
0
+ self.write("index.json", allprops_json, False)
0
log.info("Generating index")
0
@@ -666,7 +676,7 @@ class DocGenerator(object):
0
log.warn('class map ' + i + ' failure (no module declaration?)')
0
- t.pkgmap = simplejson.dumps(pkgMap
)
0
+ t.pkgmap = simplejson.dumps(pkgMap
, ensure_ascii=False)
0
self.write("classmap.js", t)