def _repr_pretty_(self, p: pretty.PrettyPrinter, cycle: bool) -> None: del cycle # Unused. icon = client_textify.online_icon(self._client.data.last_seen_at) last_seen = client_textify.last_seen(self._client.data.last_seen_at) data = '{icon} {id} @ {host} ({last_seen})'.format( icon=icon, id=self.id, last_seen=last_seen, host=self.hostname) p.text(data)
def _add_online_status_columns(df: pd.DataFrame) -> pd.DataFrame: """Adds string and unicode online status columns to a dataframe of clients. Args: df: Dataframe of clients. Returns: Dataframe with columns added. """ if 'last_seen_at' not in df.columns: return df statuses = [client_textify.online_status(tm) for tm in df['last_seen_at']] icons = [client_textify.online_icon(tm) for tm in df['last_seen_at']] df.insert(0, 'online', pd.Series(statuses)) df.insert(0, 'online.pretty', pd.Series(icons)) return df
def testOffline(self): current_time_secs = 1560000000 last_seen_at = (current_time_secs - 4 * 60 * 60 * 24) * (10**6) with mock.patch.object(time, 'time', return_value=current_time_secs): self.assertEqual(client.online_icon(last_seen_at), '🌑')