Exemplo n.º 1
0
def xml(request):
	'''
	An XML string is generated if the file does not exist
		or if the file is outdated, or it is loaded from the cache file
		if the file is not outdated
	'''
	path = XML_CACHE_PATH
	if not os.path.isdir(os.path.dirname(path)):
		os.mkdir(os.path.dirname(path))
	try:
		xml_info = open(XML_CACHE_PATH, 'r+')
		date_created = datetime.datetime.strptime(xml_info.readline(), '%m-%d-%Y %H:%M:%S\n')
		# For this project XML is not expected to go > 2 MB
		xml = xml_info.read(2097152)
		if date_created + datetime.timedelta(hours=1) < datetime.datetime.now() or xml == '':
			xml_info.close()
			raise OutdatedException('The file ' + XML_CACHE_PATH + ' is outdated.')
	except:
		xml_info = open(XML_CACHE_PATH, 'w')
		xml_info.write(datetime.datetime.strftime(datetime.datetime.now(), '%m-%d-%Y %H:%M:%S') + '\n')
		xml = to_xml.convert()
		xml_info.write(xml.encode('utf8'))
	xml_info.close()
	return HttpResponse(content=xml, mimetype='application/xml')
Exemplo n.º 2
0
	def test_export_validation(self):
		xml = to_xml.convert()
		ret = parseAndValidateXmlInputString(inputText=xml, xsdText=XSD)
		self.assertTrue(not not ret)
Exemplo n.º 3
0
	def test_export(self):
		# just a sanity check to make sure we're working w/ the correct data
		self.assertEqual(len(Event.objects.all()), 1)

		# the real test
		self.assertEqual(to_xml.convert().strip(), XML['initial_data'])
Exemplo n.º 4
0
	def handle(self, *args, **options):
		s = convert()
		sys.stdout.write(s if sys.stdout.isatty() else s.encode('UTF-8'))