コード例 #1
0
ファイル: myreport.py プロジェクト: chlewey/mchron
def normalize(data,fig):
	mets = config.getlist(fig,'meters')
	ans,larms = [],{}
	for m in mets:
		ins,met = m.split('.')
		ins = int(ins)
		if met[0] == '!':
			larm = met[1:]
			dx = []
			for x in data['rel_alarmes']:
				if x['id']==ins and x['descricao']==larm:
					dx.append((x['dataInicio'],x['dataFim']))
			dx.sort()
			dl,j=[],0
			for x in dx:
				dl.append((x[0],j))
				j+=1
				dl.append((x[1],j))
			larms[larm] = dx
			
			ans.append((m,dl))
		else:
			try:
				dl = data['data'][ins][met]
				ans.append((m,dl))
			except:
				print ins,met
	return ans
コード例 #2
0
ファイル: pswriter.py プロジェクト: asuar078/python_workspace
 def getfontmap(self):
     if self._fontmap is None:
         # late import due to cyclic dependency
         from pyx.dvi import mapfile
         fontmapfiles = config.getlist("text", "psfontmaps", ["psfonts.map"])
         self._fontmap = mapfile.readfontmap(fontmapfiles)
     return self._fontmap
コード例 #3
0
 def getfontmap(self):
     if self._fontmap is None:
         # late import due to cyclic dependency
         from pyx.dvi import mapfile
         fontmapfiles = config.getlist("text", "psfontmaps",
                                       ["psfonts.map"])
         self._fontmap = mapfile.readfontmap(fontmapfiles)
     return self._fontmap
コード例 #4
0
def init():
    global methods, opener_cache
    methods = [
        locator_classes[method]() for method in config.getlist(
            "filelocator", "methods",
            ["local", "internal", "pykpathsea", "kpsewhich"])
    ]
    opener_cache = {}
コード例 #5
0
ファイル: myreport.py プロジェクト: chlewey/mchron
def report(docfn,data):
	global __totalpages
	paper = canvas.Canvas(docfn,pagesize=letter)
	paper.setAuthor('Oruga Amarilla')
	figs = config.getlist('Report','figures')
	__totalpages += len(figs)
	brand(paper)
	frontpage(paper,data)
	site = config.get('Site','name')
	for fig in figs:
		paginate(paper)
		brand(paper)
		name = config.get(fig,'description')
		mets = config.getlist(fig,'meters')
		strx = config.get(fig,'stretch')
		d = normalize(data,fig)
		offset,j = 400,0
		for m in mets:
			ins,met = m.split('.')
			ins = int(ins)
			inn = config.get('Instrument {}'.format(ins),'description',name)
			mets = config.checklist('Instrument {}'.format(ins),'meters',[])
			txfs = config.checklist('Instrument {}'.format(ins),'transform',[])

			if met[0]=='!':
				line = acumulate(inn,'Lluvia',d[j][1])
			else:
				line = analize(inn,met,d[j][1])
			drawsimpleline(paper,(72,724-offset),(76,720-offset),figurecolors[j])
			drawsimpleline(paper,(76,720-offset),(81,728-offset),figurecolors[j])
			offset = drawline(paper,line,offset,left=84)
			j+= 1

		otherpagetitle(paper,name,site)
		figure(paper,name,d,(72,660,540,360),strx)

	paginate(paper)
	paper.save()
コード例 #6
0
ファイル: myreport.py プロジェクト: chlewey/mchron
def frontpage(paper,data):
	global figdist,__totalpages;
	#grid(paper)

	resettime()
	figs = config.getlist('Report','figures')
	n = len(figs)
	dist = figdist[n]
	d = [[] for i in range(n)]
	for i in range(n):
		name = config.get(figs[i],'description')
		strx = config.get(figs[i],'stretch')
		d[i] = normalize(data,figs[i])
		figure(paper,name,d[i],dist2paper(dist[i]),strx)
	frontpagetitle(paper,data)

	offset = 360
	for i in range(n):
		name = config.get(figs[i],'description')
		mets = config.getlist(figs[i],'meters')
		j = 0
		for m in mets:
			if offset >= 640:
				offset = 13
				__totalpages += 1
				paginate(paper)
				brand(paper)
			ins,met = m.split('.')
			ins = int(ins)
			inn = config.get('Instrument {}'.format(ins),'description',name)
			dl = d[i][j][1]
			if met[0] != '!':
				line = analize(inn,met,dl)
				drawsimpleline(paper,(72,724-offset),(76,720-offset),figurecolors[j])
				drawsimpleline(paper,(76,720-offset),(81,728-offset),figurecolors[j])
				offset = drawline(paper,line,offset,left=84)
				j += 1
コード例 #7
0
ファイル: emailer.py プロジェクト: chlewey/mchron
def send(text,attch=[]):
	assert type(attch)==list
	
	msg = MIMEMultipart()
	me = config.get('Email','from','*****@*****.**')
	myname = config.get('Email','from name','Oruga Amarilla emailer')
	to = config.getlist('Email','address')
	server = config.get('Email','server','mail.orugaamarilla.com')
	
	msg['From'] = "{} <{}>".format(myname,me)
	msg['To'] = ', '.join(to)
	msg['Date'] = formatdate(localtime=True)
	msg['Subject'] = config.get('Email','subject',config.get('Report','title'))
	
	msgtext = MIMEText(text.encode('Latin-1'))
	msg.attach(msgtext)
	
	for f in attch:
		attfile = mimebase(f)
		attfile.set_payload(open(f,'rb').read())
		Encoders.encode_base64(attfile)
		attfile.add_header('Content-Disposition', 'attachement; filename={}'.format(os.path.basename(f)))
		msg.attach(attfile)

	try:
		import base64
		user = config.get('Email','user')
		if user is None:
			user = me
		passwd = base64.b64decode(config.get('Email','key'))
	finally:
		pass

	try:
		s = SMTP(server)
		s.set_debuglevel(0)
		s.login(user,passwd)
		try:
			s.sendmail(me, to, msg.as_string())
		finally:
			s.close()
	except Exception, exc:
		config.close()
		print "mail failed; %s" % str(exc)
コード例 #8
0
 def __init__(self):
     self.ls_Rs = config.getlist("locator", "ls-R")
     self.full_filenames = {}
コード例 #9
0
 def __init__(self):
     self.dirs = config.getlist("locator", "recursivedir")
     self.full_filenames = {}
コード例 #10
0
ファイル: filelocator.py プロジェクト: epavlick/esl-sent-anal
 def __init__(self):
     self.dirs = config.getlist("locator", "recursivedir")
     self.full_filenames = {}
コード例 #11
0
ファイル: filelocator.py プロジェクト: epavlick/esl-sent-anal
def init():
    global methods, opener_cache
    methods = [locator_classes[method]()
               for method in config.getlist("filelocator", "methods", ["local", "internal", "pykpathsea", "kpsewhich"])]
    opener_cache = {}
コード例 #12
0
ファイル: filelocator.py プロジェクト: epavlick/esl-sent-anal
 def __init__(self):
     self.ls_Rs = config.getlist("locator", "ls-R")
     self.full_filenames = {}