def get_template_data(self): """ Add all the extra-special goodness to the SABX data for our templates. """ xml_tree = oxm.parse_no_def_namespaces(self.in_file) self.template_data.update(oxm.parse_top_level(xml_tree)) self.template_data['filebase'] = self.filebase self.template_data['photos'] = oxm.parse_photos(xml_tree) self.template_data['rides'] = \ _process_all_rides(xml_tree, self.filebase) self.template_data['zoom_factor'] = glineenc.zoom_factor self.template_data['zoom_levels'] = glineenc.num_levels self.template_data['BORDER'] = BORDER
def pdf_all_rides(xml_tree, out_dir, out_base): """ Generate instruction PDF files for each ride in a rideset. @param xml_tree: C{ElementTree} representation of a rideset @type xml_tree: C{ElementTree} stuff @param out_dir: directory to write the PDF files to @type out_dir: C{string} @param out_base: file name base for PDF files @type out_base: C{string} """ sabx = parse_top_level(xml_tree) ride_list, bounds = process_rides(xml_tree) pdf_gen = InstructionPdfGenerator(sabx['title'], out_dir, out_base) for ride in ride_list: table_data = _create_table_data(ride) pdf_gen.process_ride(ride.index, ride.distance, table_data)
def get_template_data(self): """ Add all the extra data that Mapnik needs. """ xml_tree = parse_no_def_namespaces(self.in_file) self.template_data.update(parse_top_level(xml_tree)) self.template_data['seg_list'], \ self.template_data['seg_dict'] = parse_segments(xml_tree) node_id = NodeId(self.template_data['seg_list']) self.template_data['rides'], self.template_data['bounds'] = \ _process_all_rides(xml_tree, self.template_data['title'], node_id) self.template_data['PIX_SCALE_FACTOR'] = PIX_SCALE_FACTOR self.template_data['PPI'] = PPI self.template_data['WIDTH'] = WIDTH self.template_data['HEIGHT'] = HEIGHT self.template_data['BORDER'] = BORDER
def ride_profiles_to_pdfs(xml_tree, prof_dir, prof_base, out_dir, out_base): """ Convert the large overall profile for each ride in a rideset into a PDF file. @param xml_tree: C{ElementTree} representation of a rideset @type xml_tree: C{ElementTree} stuff @param prof_dir: directory containing the profile PNG files @type prof_dir: C{string} @param prof_base: base name for profile PNG file names @type prof_base: C{string} @param out_dir: directory to put PDF files into @type out_dir: C{string} @param out_base: base name for PDF files @type out_base: C{string} """ sabx = parse_top_level(xml_tree) ride_list, bounds = process_rides(xml_tree) for ride in ride_list: _large_profile_to_pdf(sabx['title'], ride, prof_dir, prof_base, out_dir, out_base)