def download_csv(self): """Gets data to create csv file and then calls __write_csv(...) to do the actual writing. Returns a flag to indicate if the write operation was successful.""" jobs = db.get_csv_json_text_data() is_successful = self.__write_csv(jobs) return is_successful
def create_word_document(): """Creates a word document containing job data""" document = Document() style=document.styles['Normal'] style.font.name = 'Calibri' style.font.size = Pt(12) def add_line(label, value): """Adds the paragraph with format of 'label: value[bolded]'""" para = document.add_paragraph() para_label = para.add_run(label + ": ") para_value = para.add_run(value) para_value.bold = True jobs = db.get_csv_json_text_data() for job in jobs: title = document.add_paragraph(job[1], style='Title') title.alignment = 1 employer_name = document.add_heading(job[2], level=1) employer_name.alignment = 1 add_line('Location', job[4]) add_line('Level', job[6]) add_line('Number of Openings', job[5]) add_line('Discipline', job[7]) add_line('Job Id', job[0]) if (len(job[10]) > 10): #show Comments header only if the job contains comments document.add_heading('Comments', level=2) document.add_paragraph(job[10]) # document.add_paragraph('\n\n\n\n\n\n\n') document.add_heading('Summary', level=2) #every time a <br /> occurs, add a linebreak to the current document print('The type of job[11] is: ' + str(type(job[11]))) summary = job[11].replace('<br />', '\n').replace(''', "'").replace(' ', ' ') document.add_paragraph(summary) document.add_page_break() document.save('jobs_EZSearch.docx')