def test_writes_data_to_sheet(self):
        the_cells = (eie.Cell(value='2', pattern=''),
                     eie.Cell(value='3', pattern=''))

        class Row(object):
            def columns(self):
                return the_cells

        with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers',
                        return_value=()):
            with mock.patch('flooding_lib.excel_import_export.FieldInfo.rows',
                            return_value=[Row()]):
                project = ProjectF.create()
                scenario = ScenarioF.create()
                scenario.set_project(project)
                filename = '/tmp/testfile.xls'

                eie.create_excel_file(project, [scenario], filename)

                workbook = xlrd.open_workbook(filename)
                self.assertEquals(workbook.nsheets, 2)
                sheet = workbook.sheet_by_index(0)

                self.assertEquals(sheet.cell_value(4, 0), '2')
                self.assertEquals(sheet.cell_value(4, 1), '3')
                os.remove(filename)
    def test_calls_approval_worksheet(self, mocked_create):
        project = ProjectF.create()
        scenario = ScenarioF.create()
        scenario.set_project(project)

        eie.create_excel_file(project, [scenario], include_approval=True)
        self.assertTrue(mocked_create.called)
Example #3
0
    def test_calls_approval_worksheet(self, mocked_create):
        project = ProjectF.create()
        scenario = ScenarioF.create()
        scenario.set_project(project)

        eie.create_excel_file(project, [scenario], include_approval=True)
        self.assertTrue(mocked_create.called)
Example #4
0
    def test_writes_data_to_sheet(self):
        the_cells = (eie.Cell(value='2',
                              pattern=''), eie.Cell(value='3', pattern=''))

        class Row(object):
            def columns(self):
                return the_cells

        with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers',
                        return_value=()):
            with mock.patch('flooding_lib.excel_import_export.FieldInfo.rows',
                            return_value=[Row()]):
                project = ProjectF.create()
                scenario = ScenarioF.create()
                scenario.set_project(project)
                filename = '/tmp/testfile.xls'

                eie.create_excel_file(project, [scenario], filename)

                workbook = xlrd.open_workbook(filename)
                self.assertEquals(workbook.nsheets, 2)
                sheet = workbook.sheet_by_index(0)

                self.assertEquals(sheet.cell_value(4, 0), '2')
                self.assertEquals(sheet.cell_value(4, 1), '3')
                os.remove(filename)
    def test_writes_headers_to_sheet(self, rowmock):
        """Function should use the result of fieldinfo.headers() to
        write the header."""
        headers = [
            {"headername": "test1", "fieldname": "testfield1", "fieldtype": "int", "fieldhint": "het is groen"},
            {"headername": "test1", "fieldname": "testfield2", "fieldtype": "string", "fieldhint": "het is groen"},
        ]

        with mock.patch("flooding_lib.excel_import_export.FieldInfo.headers", return_value=headers):
            with mock.patch("flooding_lib.excel_import_export.write_domeinlijst", return_value=True):
                project = ProjectF.create()
                scenario = ScenarioF.create()
                scenario.set_project(project)
                filename = "/tmp/testfile.xls"

                eie.create_excel_file(project, [scenario], filename)

                workbook = xlrd.open_workbook(filename)
                self.assertEquals(workbook.nsheets, 2)
                sheet = workbook.sheet_by_index(0)

                self.assertEquals(sheet.cell_value(0, 0), "test1")
                self.assertEquals(sheet.cell_value(1, 0), "testfield1")
                self.assertEquals(sheet.cell_value(2, 0), "int")
                self.assertEquals(sheet.cell_value(3, 0), "het is groen")
                self.assertEquals(sheet.cell_value(0, 1), "test1")
                self.assertEquals(sheet.cell_value(1, 1), "testfield2")
                self.assertEquals(sheet.cell_value(2, 1), "string")
                self.assertEquals(sheet.cell_value(3, 1), "het is groen")
                os.remove(filename)
Example #6
0
    def test_creates_field_info_object(self):
        """Check that it calls project.original_scenarios and passes
        the result to FieldInfo."""
        scenariolistmock = mock.MagicMock()

        project = ProjectF()
        with mock.patch('flooding_lib.excel_import_export.FieldInfo'):
            eie.create_excel_file(project, scenariolistmock)
            self.assertTrue(eie.FieldInfo.called)
    def test_creates_field_info_object(self):
        """Check that it calls project.original_scenarios and passes
        the result to FieldInfo."""
        scenariolistmock = mock.MagicMock()

        project = ProjectF()
        with mock.patch("flooding_lib.excel_import_export.FieldInfo"):
            eie.create_excel_file(project, scenariolistmock)
            self.assertTrue(eie.FieldInfo.called)
    def handle(self, *args, **kwargs):
        activate("nl")  # Nederlands

        for project in models.Project.objects.all():
            filename = os.path.join(settings.EXCEL_DIRECTORY, project.excel_filename())

            # print("Creating Excel for project {0}.".format(project.id))
            excel_import_export.create_excel_file(
                project, project.original_scenarios(), filename, include_approval=True
            )
Example #9
0
    def handle(self, *args, **kwargs):
        activate("nl")  # Nederlands

        for project in models.Project.objects.all():
            filename = os.path.join(settings.EXCEL_DIRECTORY,
                                    project.excel_filename())

            #print("Creating Excel for project {0}.".format(project.id))
            excel_import_export.create_excel_file(project,
                                                  project.original_scenarios(),
                                                  filename,
                                                  include_approval=True)
    def test_creates_file(self):
        """If called with a project, TestCreateExcelFile creates an
        Excel file and returns the path of that file."""
        project = ProjectF.create()
        # Add a scenario
        scenario = ScenarioF.create()
        scenario.set_project(project)
        filename = "/tmp/create_excel_file.xls"

        eie.create_excel_file(project, [scenario], filename)
        self.assertTrue(os.path.exists(filename))

        os.remove(filename)
Example #11
0
    def test_creates_file(self):
        """If called with a project, TestCreateExcelFile creates an
        Excel file and returns the path of that file."""
        project = ProjectF.create()
        # Add a scenario
        scenario = ScenarioF.create()
        scenario.set_project(project)
        filename = "/tmp/create_excel_file.xls"

        eie.create_excel_file(project, [scenario], filename)
        self.assertTrue(os.path.exists(filename))

        os.remove(filename)
    def handle(self, *args, **kwargs):
        activate("nl")  # Nederlands

        ror = models.Project.objects.get(pk=PROJECT_ROR)

        for province in sharedmodels.Province.objects.all():
            filename = os.path.join(settings.EXCEL_DIRECTORY, 'shared', 'ror',
                                    "{0}.xls".format(province.name))

            scenarios = views.scenario_list(ror, province)
            print("Creating Excel for project {0}.".format(ror.id))
            excel_import_export.create_excel_file(ror,
                                                  scenarios,
                                                  filename,
                                                  include_approval=True)
    def handle(self, *args, **kwargs):
        activate("nl")  # Nederlands

        ror = models.Project.objects.get(pk=PROJECT_ROR)

        for province in sharedmodels.Province.objects.all():
            filename = os.path.join(
                settings.EXCEL_DIRECTORY, 'shared', 'ror',
                "{0}.xls".format(province.name))

            scenarios = views.scenario_list(ror, province)
            print("Creating Excel for project {0}.".format(ror.id))
            excel_import_export.create_excel_file(
                ror, scenarios, filename,
                include_approval=True)
Example #14
0
 def test_no_scenarios(self):
     """If there are no scenarios, function should return None and
     there should be no file."""
     project = ProjectF.create()
     filename = "/tmp/create_excel_file.xls"
     workbook = eie.create_excel_file(project, (), filename)
     self.assertEquals(workbook, None)
     self.assertFalse(os.path.exists(filename))
 def test_no_scenarios(self):
     """If there are no scenarios, function should return None and
     there should be no file."""
     project = ProjectF.create()
     filename = "/tmp/create_excel_file.xls"
     workbook = eie.create_excel_file(project, (), filename)
     self.assertEquals(workbook, None)
     self.assertFalse(os.path.exists(filename))
    def handle(self, *args, **kwargs):
        activate("nl")  # Nederlands

        ror = models.Project.objects.get(pk=PROJECT_ROR)

        for province in sharedmodels.Province.objects.all():
            filename = os.path.join(
                settings.EXCEL_DIRECTORY,
                "{0}.xls".format(province.name))

            scenarios = (scenario for scenario in
                         models.Scenario.objects.filter(
                    scenarioproject__project=ror)
                         if province.in_province(scenario))

            #print("Creating Excel for project {0}.".format(project.id))
            excel_import_export.create_excel_file(
                ror, scenarios, filename,
                include_approval=True)
Example #17
0
    def test_writes_headers_to_sheet(self, rowmock):
        """Function should use the result of fieldinfo.headers() to
        write the header."""
        headers = [
            {
                'headername': 'test1',
                'fieldname': 'testfield1',
                'fieldtype': 'int',
                'fieldhint': 'het is groen'
            },
            {
                'headername': 'test1',
                'fieldname': 'testfield2',
                'fieldtype': 'string',
                'fieldhint': 'het is groen'
            },
        ]

        with mock.patch('flooding_lib.excel_import_export.FieldInfo.headers',
                        return_value=headers):
            with mock.patch(
                    'flooding_lib.excel_import_export.write_domeinlijst',
                    return_value=True):
                project = ProjectF.create()
                scenario = ScenarioF.create()
                scenario.set_project(project)
                filename = '/tmp/testfile.xls'

                eie.create_excel_file(project, [scenario], filename)

                workbook = xlrd.open_workbook(filename)
                self.assertEquals(workbook.nsheets, 2)
                sheet = workbook.sheet_by_index(0)

                self.assertEquals(sheet.cell_value(0, 0), 'test1')
                self.assertEquals(sheet.cell_value(1, 0), 'testfield1')
                self.assertEquals(sheet.cell_value(2, 0), 'int')
                self.assertEquals(sheet.cell_value(3, 0), 'het is groen')
                self.assertEquals(sheet.cell_value(0, 1), 'test1')
                self.assertEquals(sheet.cell_value(1, 1), 'testfield2')
                self.assertEquals(sheet.cell_value(2, 1), 'string')
                self.assertEquals(sheet.cell_value(3, 1), 'het is groen')
                os.remove(filename)
Example #18
0
def get_excel(request, project, province):
    directory = excel_dir(project)

    if not os.path.exists(directory):
        os.makedirs(directory)

    filename = "{0}.xls".format(province.name)

    scenarios = scenario_list(project, province)

    excel_import_export.create_excel_file(
        project, scenarios, os.path.join(directory, filename),
        include_approval=True)

    return viewutil.serve_file(
        request=request,
        dirname=directory,
        filename=filename,
        nginx_dirname='/download_excel_shared')
Example #19
0
def get_excel(request, project, province):
    directory = excel_dir(project)

    if not os.path.exists(directory):
        os.makedirs(directory)

    filename = "{0}.xls".format(province.name)
    fullpath = os.path.join(directory, filename)

    # Excel files are created every hour by a cronjob calling the
    # 'create_province_excel' management command
    if not os.path.exists(fullpath):
        scenarios = scenario_list(project, province)
        excel_import_export.create_excel_file(
            project, scenarios, fullpath,
            include_approval=True)

    return viewutil.serve_file(
        request=request,
        dirname=directory,
        filename=filename,
        nginx_dirname='/download_excel_shared')
Example #20
0
def get_excel(request, project, province):
    directory = excel_dir(project)

    if not os.path.exists(directory):
        os.makedirs(directory)

    filename = "{0}.xls".format(province.name)
    fullpath = os.path.join(directory, filename)

    # Excel files are created every hour by a cronjob calling the
    # 'create_province_excel' management command
    if not os.path.exists(fullpath):
        scenarios = scenario_list(project, province)
        excel_import_export.create_excel_file(project,
                                              scenarios,
                                              fullpath,
                                              include_approval=True)

    return viewutil.serve_file(request=request,
                               dirname=directory,
                               filename=filename,
                               nginx_dirname='/download_excel_shared')
    def test_writes_headers_to_sheet(self, rowmock):
        """Function should use the result of fieldinfo.headers() to
        write the header."""
        headers = [
            {'headername': 'test1', 'fieldname': 'testfield1',
             'fieldtype': 'int', 'fieldhint': 'het is groen'},
            {'headername': 'test1', 'fieldname': 'testfield2',
             'fieldtype': 'string', 'fieldhint': 'het is groen'},
            ]

        with mock.patch(
            'flooding_lib.excel_import_export.FieldInfo.headers',
            return_value=headers):
            with mock.patch(
                'flooding_lib.excel_import_export.write_domeinlijst',
                return_value=True):
                project = ProjectF.create()
                scenario = ScenarioF.create()
                scenario.set_project(project)
                filename = '/tmp/testfile.xls'

                eie.create_excel_file(project, [scenario], filename)

                workbook = xlrd.open_workbook(filename)
                self.assertEquals(workbook.nsheets, 2)
                sheet = workbook.sheet_by_index(0)

                self.assertEquals(sheet.cell_value(0, 0), 'test1')
                self.assertEquals(sheet.cell_value(1, 0), 'testfield1')
                self.assertEquals(sheet.cell_value(2, 0), 'int')
                self.assertEquals(sheet.cell_value(3, 0), 'het is groen')
                self.assertEquals(sheet.cell_value(0, 1), 'test1')
                self.assertEquals(sheet.cell_value(1, 1), 'testfield2')
                self.assertEquals(sheet.cell_value(2, 1), 'string')
                self.assertEquals(sheet.cell_value(3, 1), 'het is groen')
                os.remove(filename)