Example #1
0
    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
Example #2
0
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('&#039;', "'").replace('&nbsp;', ' ')
        document.add_paragraph(summary)

        document.add_page_break()

    document.save('jobs_EZSearch.docx')