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
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())
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