Exemple #1
0
    def get_posts(self):
        """
        Get posts from markdown files
        """
        filenames = []  # filenames is a list of the markdown file's name from the posts' directory
        for filename in os.listdir(self.posts_dir):
            if not filename.startswith("."):
                filenames.append(filename)

        # db_filenames is a list of the filenames read from db.json
        db_filenames = []
        for db_filename in self.db["posts"]:
            db_filenames.append(db_filename.encode("utf8"))
        new_filenames, old_filenames = self.get_new_filenames(filenames, db_filenames, "posts")
        categories_tmp = {}
        post_content = {}
        posts_dict = {}
        for filename in old_filenames:
            post_content = dict(self.db["posts"][filename]["content"])
            post_tmp = Post(self.config)
            post_tmp.get_from_db(post_content)
            self.posts.append(post_tmp)
            for category in post_tmp.categories:
                if category in self.categories:
                    self.categories[category].add_post(post_tmp)
                else:
                    self.categories[category] = Category(self.config, category)
                    self.categories[category].add_post(post_tmp)
            post_dict = post_tmp.__dict__.copy()
            post_dict["pub_time"] = time.mktime(post_dict["pub_time"].timetuple())
            post_dict.pop("config", None)
            last_mod_time = os.path.getmtime(os.path.join(self.posts_dir, filename))
            posts_dict[filename] = {"last_mod_time": last_mod_time, "content": post_dict}
        for filename in new_filenames:
            post_tmp = Post(self.config)
            post_tmp.save(open(os.path.join(self.posts_dir, filename), "r").read().decode("utf8"))
            self.posts.append(post_tmp)
            for category in post_tmp.categories:
                if category in self.categories:
                    self.categories[category].add_post(post_tmp)
                else:
                    self.categories[category] = Category(self.config, category)
                    self.categories[category].add_post(post_tmp)
            post_dict = post_tmp.__dict__.copy()
            post_dict["pub_time"] = time.mktime(post_dict["pub_time"].timetuple())
            post_dict.pop("config", None)
            last_mod_time = os.path.getmtime(os.path.join(self.posts_dir, filename))
            posts_dict[filename] = {"last_mod_time": last_mod_time, "content": post_dict}
        self.db["posts"] = posts_dict
        self.posts_sort()
        self.page_number = len(self.posts) / 5
Exemple #2
0
 def get_posts(self):
     '''
     Get posts from markdown files
     '''
     categories_tmp = {}
     for item in os.listdir(self.posts_dir):
         if not item.startswith('.'):
             post_tmp = Post(self.config)
             post_tmp.save(open(self.posts_dir  + item , 'r').read().decode('utf8'))
             self.posts.append(post_tmp)
             for category in post_tmp.categories:
                 if categories_tmp.has_key(category):
                     categories_tmp[category].add_post(post_tmp)
                 else:
                     categories_tmp[category] = Category(self.config, category)
                     categories_tmp[category].add_post(post_tmp)
     self.categories = categories_tmp
     self.posts_sort()
     self.page_number = len(self.posts)/5 + 1
Exemple #3
0
    def get_posts(self):
        '''
        Get posts from markdown files
        '''
        filenames = [
        ]  # filenames is a list of the markdown file's name from the posts' directory
        for filename in os.listdir(self.posts_dir):
            if not filename.startswith('.'):
                filenames.append(filename)

        # db_filenames is a list of the filenames read from db.json
        db_filenames = []
        for db_filename in self.db['posts']:
            db_filenames.append(db_filename.encode('utf8'))
        new_filenames, old_filenames = self.get_new_filenames(
            filenames, db_filenames, 'posts')
        categories_tmp = {}
        post_content = {}
        posts_dict = {}
        for filename in old_filenames:
            post_content = dict(self.db['posts'][filename]['content'])
            post_tmp = Post(self.config)
            post_tmp.get_from_db(post_content)
            self.posts.append(post_tmp)
            for category in post_tmp.categories:
                if category in self.categories:
                    self.categories[category].add_post(post_tmp)
                else:
                    self.categories[category] = Category(self.config, category)
                    self.categories[category].add_post(post_tmp)
            post_dict = post_tmp.__dict__.copy()
            post_dict['pub_time'] = time.mktime(
                post_dict['pub_time'].timetuple())
            post_dict.pop('config', None)
            last_mod_time = os.path.getmtime(
                os.path.join(
                    self.posts_dir,
                    filename))
            posts_dict[filename] = {
                'last_mod_time': last_mod_time,
                'content': post_dict}
        for filename in new_filenames:
            post_tmp = Post(self.config)
            post_tmp.save(
                open(
                    os.path.join(
                        self.posts_dir,
                        filename),
                    'r').read().decode('utf8'))
            self.posts.append(post_tmp)
            for category in post_tmp.categories:
                if category in self.categories:
                    self.categories[category].add_post(post_tmp)
                else:
                    self.categories[category] = Category(self.config, category)
                    self.categories[category].add_post(post_tmp)
            post_dict = post_tmp.__dict__.copy()
            post_dict['pub_time'] = time.mktime(
                post_dict['pub_time'].timetuple())
            post_dict.pop('config', None)
            last_mod_time = os.path.getmtime(
                os.path.join(
                    self.posts_dir,
                    filename))
            posts_dict[filename] = {
                'last_mod_time': last_mod_time,
                'content': post_dict}
        self.db['posts'] = posts_dict
        self.posts_sort()
        self.page_number = len(self.posts) / 5