'''
Created on May 2, 2013

@author: Jose Antonio Sal y Rosas Celi
@contact: jose.salyrosas@jro.igp.gob.pe
'''
from datetime import datetime
import os

class saveABSFile(object):
    
    __scriptName = "saveABSFile.py"

    def __init__(self):
        self.path = ""
        self.number_patterns = 0
        self.patterns = []
        
    def save(self):
        #filename = "%s.txt" % (self.setFilename())
        filename = "%s.abs" % (self.exp_name)
        final_path = os.path.join(self.path, filename)
        self.saveFile(final_path)
        filesize = os.path.getsize(final_path)
        
        return final_path, filesize
    
    def setParameters(self, path, exp_name, lsPatterns):
        self.path = path
        self.exp_name = exp_name
        strExperimentName = " title ='%s'" % exp_name
        self.patterns = lsPatterns
        number_patterns = len(lsPatterns)
        self.number_patterns = " #Experiments = %d" % number_patterns
        contentPatterns = ""
        for element in lsPatterns:
            valueUp = self.convertValue(element["up"])
            valueDown = self.convertValue(element["down"])
            contentPatterns += "\n%d = \n%s\n%s" % (element["number"], valueUp, valueDown)
        contentPatterns = contentPatterns.replace("]],$", "]]")
        self.content = "%s\r\n\n%s\r\n%s" % (strExperimentName, self.number_patterns, contentPatterns)
    
    def convertValue(self, strAntenna):
        value = ""
        strAntenna = strAntenna.replace("],[","]+[")
        lsAntenna = strAntenna.split("+")
        for element in lsAntenna:
            value += "       %s,$\n" % element
        
        return value
    
    def setFilename(self):
        return datetime.today().strftime("%Y%m%d%H%M%S%f")        
    
    def saveFile(self, filename):
        f = open(filename, 'a+')
        f.write(self.content)
        f.close()
        