def fetch(self, start_date, end_date):
        """
        Fetches official missions within the given date range
        """

        records = []
        for r in self.__generate_ranges(start_date, end_date):
            if os.environ.get('DEBUG') == '1':
                print(r)
            for record in self.__fetch_missions_for_range(r[0], r[1]):
                records.append(record)

        df = pd.DataFrame(records,
                          columns=[
                              'participant', 'destination', 'subject', 'start',
                              'end', 'canceled', 'report_status',
                              'report_details_link'
                          ])

        translate_column(
            df, 'report_status', {
                'Disponível': 'Available',
                'Pendente': 'Pending',
                'Em análise': 'Analysing',
                'Não se aplica': 'Does not apply'
            })
        translate_column(df, 'canceled', {'Não': 'No', 'Sim': 'Yes'})

        return df.drop_duplicates()
    def fetch(self, start_date, end_date):
        """
        Fetches official missions within the given date range
        """

        records = []
        for r in self._generate_ranges(start_date, end_date):
            if os.environ.get('DEBUG') == '1':
                print(r)
            for record in self._fetch_missions_for_range(r[0], r[1]):
                records.append(record)

        df = pd.DataFrame(records, columns=[
            'participant',
            'destination',
            'subject',
            'start',
            'end',
            'canceled',
            'report_status',
            'report_details_link'
        ])

        translate_column(df, 'report_status', {
            'Disponível': 'Available',
            'Pendente': 'Pending',
            'Em análise': 'Analysing',
            'Não se aplica': 'Does not apply'
        })
        translate_column(df, 'canceled', {
            'Não': 'No',
            'Sim': 'Yes'
        })

        return df.drop_duplicates()
    def _translate(self, df):
        translate_column(df, 'gender', {
            'masculino': 'male',
            'feminino': 'female',
        })

        translate_column(df, 'condition', {
            'Titular': 'Holder',
            'Suplente': 'Substitute',
        })

        return df
Ejemplo n.º 4
0
    def test_translate_column(self):
        records = [
            ['masculino'],
            ['feminino'],
            ['masculino'],
            ['feminino'],
        ]
        df = pd.DataFrame(records, columns=['gender'])

        helpers.translate_column(df, 'gender', {
            'masculino': 'male',
            'feminino': 'female',
        })
        translated = df.gender.unique()
        expected = ['male', 'female']

        self.assertTrue((np.array(expected) == np.array(translated)).all())
Ejemplo n.º 5
0
    def __translate(self, df):
        translate_column(df, 'presence', {
            'Presença': 'Present',
            'Ausência': 'Absent',
        })

        translate_column(
            df, 'present_on_day', {
                'Presença (~)': 'Present (~)',
                'Presença': 'Present',
                'Ausência': 'Absent',
                'Ausência justificada': 'Justified absence',
            })

        translate_column(
            df, 'justification', {
                '':
                '',
                'Atendimento a Obrigação Político-Partidária':
                'Attending to Political-Party Obligation',
                'Ausência Justificada':
                'Justified absence',
                'Decisão da Mesa':
                'Board decision',
                'Licença para Tratamento de Saúde':
                'Health Care Leave',
                'Missão Autorizada':
                'Authorized Mission',
                'Presença Eletrônica Aferida no Painel':
                'Electronic Presence Measured on the Panel'
            })

        return df