def _sort_notebook_entries(self): """Sorts notebook entries""" # Sort entries within each category self.entries.sort_entries(by_date=self.sort_entries_by_date) # Sort categories by order of date last modified if self.sort_categories_by_date: self.entries = CategoryManager( sorted(self.entries.items(), key=lambda x: x[1].last_modified, reverse=True) )
def __init__(self, conf=None, **kwargs): """Creates a new notebook instance""" # Get default args config = self._load_config(conf, **kwargs) print("- Starting Labnote") print(" LOADING") # Set object attributes self.author = config['author'] self.email = config['email'] self.exclude = config['exclude'] self.external = config['external'] self.title = config['title'] self.input_dirs = config['input_dirs'] self.output_file = config['output_file'] self.include_files = config['include_files'] self.theme = config['theme'] self.user_css = config['user_css'] self.user_js = config['user_js'] self.url_prefix = config['url_prefix'] self.sort_categories_by_date = config['sort_categories_by_date'] self.sort_entries_by_date = config['sort_entries_by_date'] # Get current date string self.date = time.strftime('%Y/%m/%d') # Load categories self.entries = CategoryManager(config['categories']) # Find valid notebook entry directories self._parse_entries() self._sort_notebook_entries() # Create a Renderer instance self.renderer = HTMLRenderer(self.author, self.title, self.email, self.date, self.entries, self.output_file, self.user_css, self.user_js, self.theme) print("- Finished")