Пример #1
0
	def requestDone(self):
		if self.wrappers:
			types = ['less', 'css', 'js']
			includes = {type: [] for type in types}
			handler = getattr(self, 'handler', None)

			if handler and 'statics' in handler:
				for key in ensureList(handler['statics']):
					for type in types:
						if isfile(f"static/{key}.{type}"):
							includes[type].append(f"/static/{key}.{type}")

			if handler and 'view' in handler:
				includes['js'].append(f"/views/{handler['view']}.js")
				includes['less'].append(f"/views/{handler['view']}.less")

			with ResponseWriter(storageType = bytes) as writer:
				view = getattr(self, 'view', None)
				data = self.preprocessViewData(getattr(self, 'viewData', {}))

				header(self, includes, view)
				sys.stdout.write(self.response)
				footer(self, data, view)
				self.response = writer.done()