def main(): """Creates a Guide object""" start_logging() generator_settings = systemfunctions.read_settings(GENERATOR_SETTINGS) regex_list = systemfunctions.read_settings(REGEX_LIST) html_templates = read_html_templates(generator_settings) html_generator = WebsiteGenerator(html_templates) # Calculate versions to create versions = ['student'] if cmd_args.teacher_output: versions.append('teacher') outputted_languages = [] # Create all specified CSFG for language in cmd_args.languages: for version in versions: if cmd_args.include_pdf or cmd_args.pdf_only: pdf_guide = Guide(generator_settings=generator_settings, language_code=language, version=version, output_type=PDF, html_generator=html_generator, html_templates=html_templates, regex_list=regex_list) if not cmd_args.pdf_only: guide = Guide(generator_settings=generator_settings, language_code=language, version=version, html_generator=html_generator, html_templates=html_templates, regex_list=regex_list, teacher_version_present=cmd_args.teacher_output, pdf_version_present=cmd_args.include_pdf) if version == 'student': outputted_languages.append((guide.language_code, guide.language)) # Create landing page if website required if not cmd_args.pdf_only: create_landing_page(outputted_languages, html_generator, guide) finish_logging()
def main(): """Creates a Guide object""" start_logging() guide_settings = systemfunctions.read_settings(GUIDE_SETTINGS) generator_settings = systemfunctions.read_settings(GENERATOR_SETTINGS) translations = systemfunctions.read_settings(TRANSLATIONS_LOCATION) regex_list = systemfunctions.read_settings(REGEX_LIST) html_templates = read_html_templates(generator_settings) html_generator = WebsiteGenerator(html_templates) # Create landing page create_landing_page(cmd_args.languages, html_generator, generator_settings, translations) # Calculate versions to create versions = ['student'] if cmd_args.teacher_output: versions.append('teacher') # Create all specified CSFG for language in cmd_args.languages: for version in versions: guide = Guide(generator_settings=generator_settings, guide_settings=guide_settings, language_code=language, version=version, html_generator=html_generator, html_templates=html_templates, translations=translations, regex_list=regex_list, teacher_version_present=cmd_args.teacher_output) if cmd_args.include_pdf: pdf_guide = Guide(generator_settings=generator_settings, guide_settings=guide_settings, language_code=language, version=version, output_type=PDF, html_generator=html_generator, html_templates=html_templates, translations=translations, regex_list=regex_list) finish_logging()
def main(): """Creates a Guide object""" start_logging() guide_settings = systemfunctions.read_settings(GUIDE_SETTINGS) generator_settings = systemfunctions.read_settings(GENERATOR_SETTINGS) translations = systemfunctions.read_settings(TRANSLATIONS_LOCATION) regex_list = systemfunctions.read_settings(REGEX_LIST) html_templates = read_html_templates(generator_settings) html_generator = WebsiteGenerator(html_templates) # Create landing page if website required if not cmd_args.pdf_only: create_landing_page(cmd_args.languages, html_generator, generator_settings, translations) # Calculate versions to create versions = ['student'] if cmd_args.teacher_output: versions.append('teacher') # Create all specified CSFG for language in cmd_args.languages: for version in versions: if cmd_args.include_pdf or cmd_args.pdf_only: pdf_guide = Guide(generator_settings=generator_settings, guide_settings=guide_settings, language_code=language, version=version, output_type=PDF, html_generator=html_generator, html_templates=html_templates, translations=translations, regex_list=regex_list) if not cmd_args.pdf_only: guide = Guide(generator_settings=generator_settings, guide_settings=guide_settings, language_code=language, version=version, html_generator=html_generator, html_templates=html_templates, translations=translations, regex_list=regex_list, teacher_version_present=cmd_args.teacher_output, pdf_version_present=cmd_args.include_pdf) finish_logging()
def __init__(self, generator_settings, language_code, version, html_generator, html_templates, regex_list, output_type=WEB, teacher_version_present=False, pdf_version_present=False): # Alert user of creation process print('Creating CSFG - Language: {lang} - Version: {version} - Format: {output_type}'.format(lang=language_code, version=version, output_type=output_type)) # Read settings self.generator_settings = generator_settings self.regex_list = regex_list self.permissions_location = PERMISSIONS_LOCATION self.files_with_permissions = set() self.html_generator = html_generator self.html_templates = html_templates self.language_code = language_code self.guide_settings = systemfunctions.read_settings(GUIDE_SETTINGS.format(language=self.language_code), 'yaml') self.language = self.guide_settings['language'] self.translations = Translations(self.language_code, self.guide_settings['text_values']) self.version = version self.teacher_version_present = teacher_version_present self.pdf_version_present = pdf_version_present self.output_type = output_type self.setup_output_path() self.number_generator = NumberGenerator() self.glossary = Glossary(self) # Structure tree of guide self.structure = self.parse_structure() # Populates structure tree with markdown content self.traverse_files(self.structure, getattr(self, "read_content")) # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(self) if self.output_type == PDF: self.print_renderer = print_media.PrintRenderer(self.generator_settings) # Process sections self.traverse_files(self.structure, getattr(self, "process_section")) if self.output_type == WEB: self.setup_html_output() self.traverse_files(self.structure, getattr(self, "write_html_file")) self.copy_required_files() elif self.output_type == PDF: self.print_settings = {} self.pdf_html = '' self.setup_pdf_output() self.traverse_files(self.structure, getattr(self, "add_to_pdf_html"), True) self.generate_pdf()
def __init__(self, generator_settings, language_code, version, html_generator, html_templates, regex_list, output_type=WEB, teacher_version_present=False, pdf_version_present=False): # Alert user of creation process print( 'Creating CSFG - Language: {lang} - Version: {version} - Format: {output_type}' .format(lang=language_code, version=version, output_type=output_type)) # Read settings self.generator_settings = generator_settings self.regex_list = regex_list self.permissions_location = PERMISSIONS_LOCATION self.files_with_permissions = set() self.html_generator = html_generator self.html_templates = html_templates self.language_code = language_code self.guide_settings = systemfunctions.read_settings( GUIDE_SETTINGS.format(language=self.language_code), 'yaml') self.language = self.guide_settings['language'] self.translations = Translations(self.language_code, self.guide_settings['text_values']) self.version = version self.teacher_version_present = teacher_version_present self.pdf_version_present = pdf_version_present self.output_type = output_type self.setup_output_path() self.number_generator = NumberGenerator() self.glossary = Glossary(self) # Structure tree of guide self.structure = self.parse_structure() # Populates structure tree with markdown content self.traverse_files(self.structure, getattr(self, "read_content")) # Dictionary of sets for images, interactives, and other_files self.required_files = setup_required_files(self) if self.output_type == PDF: self.print_renderer = print_media.PrintRenderer( self.generator_settings) # Process sections self.traverse_files(self.structure, getattr(self, "process_section")) if self.output_type == WEB: self.setup_html_output() self.traverse_files(self.structure, getattr(self, "write_html_file")) self.copy_required_files() elif self.output_type == PDF: self.print_settings = {} self.pdf_html = '' self.setup_pdf_output() self.traverse_files(self.structure, getattr(self, "add_to_pdf_html"), True) self.generate_pdf()