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
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
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