Beispiel #1
0
	def FeedString(self, value):
		""" ... """
		value = bm_text.toutf8(value)

		self.original = value
		self.current = value

		self.state = self._state_start
		self.command = None
		self.arguments = []

		nstate = None

		while value:
			nstate, nvalue = self.state(value)
			
			if self.current == None:
				self.current = nvalue

			if nvalue == value and nstate == self.state:
				self.RaiseError(JDSyntaxError, message = "Document not completely parsed - may indicate an internal error")
				break

			if not nstate:
				break

			value = nvalue
			self.state = nstate

		if self.command:
			self.RaiseError(JDSyntaxError, message = "Missing ';'")

		if value:
			self.RaiseError(JDSyntaxError, message = "Document not completely parsed - may indicate an internal error")
Beispiel #2
0
	def FeedString(self, data):
		if not data:
			return	{}

		data = bm_text.toutf8(data)
		et = ElementTree.fromstring(data)

		return	self._NodeConverter(et)
Beispiel #3
0
	def FeedString(self, data):
		if not data:
			return	{}

		data = bm_text.toutf8(data)
		et = ElementTree.fromstring(data)

		d = self._NodeConverter(et)
		d = self._ResultScrubber(d)

		return	d
Beispiel #4
0
	def __iter__(self):
		first = True

		try:
			self.CustomizeSetup()

			for content in self.CustomizeContent():
				if first:
					self.NormalStart()
					first = False

				yield	bm_text.toutf8(content)
		except:
			if first:
				self.headers.add_header('Content-type', 'text/plain')
				self.start_response('500 Error', self.headers.items())

				yield	Log(exception = True)