def __init__(self, journal, volume, number, dateiso, suppl, compl, order):
        self.volume = volume
        self.number = number
        self.dateiso = dateiso
        self.suppl = suppl
        self.toc = TOC()
        self.journal = journal
        self.articles = None
        self.compl = compl
        self.status = ''
        
        if volume.replace('0', '') == '':
            self.volume = ''
        if number.replace('0', '') == '':
            self.number = ''
        if self.volume == '' and self.number == '':
            self.number = 'ahead'
            if self.journal.acron == 'bjmbr' and int(self.dateiso[0:4]) <= 2012:
                self.number = 'review'

        self.json_from_db = {}

        self.id = self.generate_id( journal, self.volume, self.number, self.suppl, self.compl, self.dateiso[0:4])
        

        if order != '':
            self.order = order
        else:
            self.order = dateiso[0:4] + JournalIssueOrder().generate(self.volume, self.number, self.suppl)

        label = ''
        if self.number in ['ahead', 'review']:
            label = dateiso[0:4]
        if self.volume != '':
            label += 'v' + self.volume
        if self.number != '':
            label += 'n' + self.number
        if self.suppl != '':
            label += 's' + self.suppl 
        if self.compl != '':
            label += self.compl
        self.name = label
        self.json_data = {}
class JournalIssue:
    def __init__(self, journal, volume, number, dateiso, suppl, compl, order):
        self.volume = volume
        self.number = number
        self.dateiso = dateiso
        self.suppl = suppl
        self.toc = TOC()
        self.journal = journal
        self.articles = None
        self.compl = compl
        self.status = ''
        
        if volume.replace('0', '') == '':
            self.volume = ''
        if number.replace('0', '') == '':
            self.number = ''
        if self.volume == '' and self.number == '':
            self.number = 'ahead'
            if self.journal.acron == 'bjmbr' and int(self.dateiso[0:4]) <= 2012:
                self.number = 'review'

        self.json_from_db = {}

        self.id = self.generate_id( journal, self.volume, self.number, self.suppl, self.compl, self.dateiso[0:4])
        

        if order != '':
            self.order = order
        else:
            self.order = dateiso[0:4] + JournalIssueOrder().generate(self.volume, self.number, self.suppl)

        label = ''
        if self.number in ['ahead', 'review']:
            label = dateiso[0:4]
        if self.volume != '':
            label += 'v' + self.volume
        if self.number != '':
            label += 'n' + self.number
        if self.suppl != '':
            label += 's' + self.suppl 
        if self.compl != '':
            label += self.compl
        self.name = label
        self.json_data = {}
    
    def generate_id(self, journal, volume, number, suppl, compl, year):
        return id_generate( journal.title + '-' +  volume + '-' +  number  + '-' +  suppl + '-' +  compl + '-' +  year)
    
    @property 
    def box(self):
        return self.journal

    @property
    def documents(self):
        return self.articles
        
    @documents.setter
    def documents(self, articles):
        self.articles = articles



    def display(self):
        return self.journal.acron + ' ' + self.name

    @property 
    def json_data(self):
        if self.articles == None:
            count = 0
        else:
            count = len(self.articles.elements)
        self.json_data['122'] = str(count) #str(len(document.folder.documents.elements))
        self.json_data['49'] = self.toc.return_json()
        self.json_data['36'] = self.order
        self.json_data['65'] = self.dateiso
        return self.json_data