Esempio n. 1
0
    def addValues(self, values):
        '''Parses a dictionary of values into the item's fields'''
        try:
            self.parents = values['parents'].split(' ')
        except KeyError:
            self.parents = []
        self.q_parents = []
        self.q_children = []

        self.urlBasename = self.getUrlBasename(values.get('url'))
        self.url = self.getUrl(self.urlBasename)
        self.outFileBasename = self.getOutFileBasename(values.get('baseoutfile'))
        self.outFile = self.getOutFile(self.outFileBasename)

        self.title = values.get('title', self._name)
        self.description = values.get('description', '')
        self.author = values.get('author', glob.author)

        self.q_author = None

        self.time = int(values.get('time', 0))

        self.sortby = values.get('sortby', 'time title')
        self.sortreverse = (values.get('sortreverse', 'true')) == 'true'

        self.isAFolder = False
        try:
            self.contentfile = os.path.join(self._fpath, values['content'])
            self.text = None
        except KeyError:
            self.contentfile = None
            try:
                self.text = values['text']
            except KeyError:
                self.isAFolder = True

        self.lspic = values.get('lspic')

        # parse all [class_x] values into self.classes.[x]
        self.classes = defaultdict(lambda: [])
        self.classes.update({
            k: v.split(' ') for k, v in map(
                lambda x: (Util.startsWithTrim(x[0], 'class_'), x[1])
                , values.items()
            )
            if k is not None
        })
        Util.dicAddNo(self.classes, 'lsi', self.classes.get('ls'))


        self.badge = (values.get('badge', 'true')) == 'true'