示例#1
0
 def save(name, data):
     p = self.name2path(name)
     _mkdir(os.path.dirname(p))
     data = data.encode('utf8') if not isinstance(data, bytes) else data
     f = open(p, 'wb')
     f.write(data)
     f.close()
     return p
示例#2
0
 def writeTranslateMessage(self):
     p1 = os.path.join(self.path, 'i18n', self.getCurrentLang())
     if not os.path.exists(p1):
         _mkdir(p1)
     p2 = os.path.join(p1, 'msg.txt')
     f = codecs.open(p2, 'w', self.ccoding)
     f.write(self.getTranslatedTextList())
     f.close()
示例#3
0
    async def save(self, name, read_data):
        p = self._name2path(name)
        _mkdir(os.path.dirname(p))
        async with aiofile.AIOFile(p, 'wb') as f:
            while 1:
                d = await read_data()
                if not d:
                    break
                await f.write(d)
            await f.fsync()

        return p[len(self.root):]
示例#4
0
    def writeUntranslatedMessages(self):
        p = os.path.join(self.path, 'i18n')
        langs = []

        for f in os.listdir(p):
            if os.path.isdir(os.path.join(p, f)):
                langs.append(f)
        for lang in langs:
            p1 = os.path.join(self.path, 'i18n', lang)
            if not os.path.exists(p1):
                _mkdir(p1)
            p2 = os.path.join(p1, 'unmsg.txt')
            f = codecs.open(p2, 'w', self.coding)
            f.write(self.getMissTextList(lang))
            f.close()
示例#5
0
def renderAll(namespace):
	workdir = ''
	xlsxs = []
	if namespace['sourcePath'][-len('.xlsx'):] == '.xlsx' or namespace['sourcePath'][-len('.xls'):] == '.xls':
		workdir = os.path.dirname(namespace['sourcePath'])
		xlsxs = [namespace['sourcePath']]
	else:
		workdir = namespace['sourcePath']
		xlsxs = [ f for f in listFile(namespace['sourcePath'],'.xlsx')] + [ f for f in listFile(namespace['sourcePath'],'.xls')]
		
	ac = ArgsConvert('${','}$')
	engines = {}
	e = MyTemplateEngine(namespace['tmplPaths'])
	#print( "tmpl paths = ",namespace['tmplPaths'])
	#print( xlsxs)
	for xlsx in xlsxs:
		print( xlsx," handling ...")
		a = CRUDData(xlsx)
		data = a.read()
		g = namespace.get('global',False)
		if g:
			data.update(g)
		for tmpl,fn in namespace['outputMapping'].items():
			base = os.path.basename(xlsx)
			bs = base.split('.')
			basename = '.'.join(bs[:-1])
			namespace.update({'basename' : basename})
			vs = ac.findAllVariables(fn)
			filename = ac.convert(fn,namespace).decode('utf8').encode('gb2312');
			#print( vs,fn,filename)
			namespace.update({'filename' : filename })
			
			namespace.update({'tmplname':tmpl})
			s = e.render(tmpl,data)

			out_s = s.decode(namespace['coding'])
			_mkdir(os.path.dirname(namespace['filename']))
			f = codecs.open(namespace['filename'],"w","utf-8")
			f.write(out_s)
			f.close()
示例#6
0
#genKey.py
import os
from appPublic.printf import printf
import sys
import rsa
import pickle
from appPublic.folderUtils import _mkdir, ProgramPath

if __name__ == '__main__':
    if len(sys.argv) < 2:
        print "Usage:\n%s software_name" % sys.argv[0]
        sys.exit(1)
    p = os.path.join(ProgramPath(), sys.argv[1])
    _mkdir(p)
    pub, pri = rsa.gen_pubpriv_keys(2048)
    printf(pub, pri)
    f = open(os.path.join(p, 'pri.key.dmp'), 'wb')
    pickle.dump(pri, f)
    f.close()
    f = open(os.path.join(p, 'pub.key.dmp'), 'wb')
    pickle.dump(pub, f)
    f.close()