import os

import numpy

from gavo import base
from gavo.helpers import processing
from gavo.utils import pyfits, imgtools

class PreviewMaker(processing.PreviewMaker):
	def getPreviewData(self, accref):
		srcName = os.path.join(base.getConfig("inputsDir"), accref)
		hdu = pyfits.open(srcName)[0]
		rows = []

		for specInd in range(hdu.header["NAXIS2"]):
			width = hdu.header["NAXIS1"]
			destWidth = width/8

			row = hdu.data[:,specInd][0]
			scaled = sum(numpy.transpose(
				(row[:destWidth*8]/8.).reshape((destWidth, 8))))
			rows.append(scaled)
			rows.append(scaled)

		return imgtools.jpegFromNumpyArray(numpy.array(rows))



if __name__=="__main__":
	processing.procmain(PreviewMaker, "mlqso/q", "import_slits")
