From 140a449221d2b2e98f2c33a076814de4c164a936 Mon Sep 17 00:00:00 2001 From: atoav <dh@atoav.com> Date: Thu, 23 Apr 2020 15:56:12 +0200 Subject: [PATCH] Fix Leaderport sorting and duration formatting --- bbbmon/__pycache__/bbbmon.cpython-37.pyc | Bin 10488 -> 10719 bytes bbbmon/bbbmon.py | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/bbbmon/__pycache__/bbbmon.cpython-37.pyc b/bbbmon/__pycache__/bbbmon.cpython-37.pyc index 1d540c3a3ed4c1abcb44c95fc56ad8b6f28e9cec..17b0a83d7518866824e1374670ddfc3c80afa8f7 100644 GIT binary patch delta 956 zcmewnct4oeiI<m)fq{V`XWqiN6%%<S8E0%%XJ%wck)Ojf*?_T=amwahj34-!nTot8 zZ{!oTWMg1paAsg&DAr<NU?^dzVOYSpkfE8emNA8K0aFcQ3X>EAh!kT;VFt69#TXVc z2Qz50OcoQG=u{<GZDn9oYlTE+3h*&7ytH9pV9;bPvSVOixW!wNUy_&;U!0nppO;cx zqz{r}D)I(NF&0l|6_$5q0XdkJhp8xlfq@~J5yWF)U|@n`u=50<&I38Egt3OPnK76_ zlhIF;smO<cfuSg1a)Yow|7MU!z=kn$Fct-F-Y3k-Sich_$N@5wg@ciUQG}@|2;u@u zkVYqvjUb!A3K$p|Kq{F*T9UvvrZ6sGEMe+kkYrfM*v!btP{N$Tl)~J?P{ZKD(9GD* zkj9w8lET`;k;0b3-pgFeRH0SF<iZfERLfk#kixNmu||>^q`8JUg;SEDgr$bLnQ<XA z$e==t$y>y-C$AC}ocv$eX0o@mgwQFFwIH{!F;uA*6lLa>Om>uzn7mh9(nlC1#RGOx z4FkwPnEx5UVXVnmWDoKbV-d(dMN%N2NrMOn1_lO@u|<vy3=CDuFhgx7pAqF}WSx9R zR4&F9qz)V;EJg4jiQ+8IFDgk*iBGC50;LSFk(yBBK_=f41e+C~lbV>4T9lNZSd?-E z<VH~NF|Z0TDll>}7KLth65GSbTI9#Tz%ZFtB0*T7+RDz*s8*rc%ErXBR-wAKD0p(c zgcw^O*bS3sOGGk;E&eLO#uf?^2%G#{?lfb>=Hv2C%#4wfH_C`lR#dL$jRN_UsR)$B ziXfr~l&hig!79O6<WH$2VTx`JQ2oQmm_FH8-I^^OWL?DMK6NAQ3{bk{h>y=r%*>0A z*HkTv1<7fE2vF1%fzn2i0f-wj`L((!W5Q%b4PnNR$)*}cDxl<B1n~<<0mKs^Rs@Iu eTaq!kTO(RXfJ=Z)fLnxHh(|zEN`-@kixB{ze#{2| delta 935 zcmcZ~{3DRpiI<m)fq{WRbjHHCH4}Ly8E0)&XJ%we<xi2H!#r7!v6FGy<{gY5`0JUA zycrl6ZZW6jmK3QoFfb%DfwVC&Ft9+eGXn!du>%7GLkeRJLl#3OV=Yq&h{cq`)XWsa zRKt|QY{O8?T*6qxoWcSXVYOkXVM<}MVW?ruVoqbIVd`THX3%7>>gQ5WP*Ctl%_&GN zQb;S!OD>trBUBf6izOwovN%(KkAWeIH6y>YsQ9G~0|P@8dv0c4X-R7FE%xHn<ovvp zVojDJKagwLQZmbO^HYif7#J9e^cff!G+DsjDDnjfxPkO?7NzDUX6B`&7EL}QB+thI z@)au=qX?rIV^Pp#L1hsuu*ZZL7#K<zY8aXsYZ*%zYZy})o0)<cG@1OW1gpU=skN$x zx}sK-smKRpe$Zq+VSWBBpl|^N5(6U#V^Q$t9AQqz`duJFuw5)1j2w(2Ohq9e*D)1Y zf;2iIhc7b&0|Q7U*cl+15{4AU1&k$3HH?xB3mKak85t_HY8YG?VwGx{N*Gd@7BJR; z<v<}W$xy;v!_>^UkQt<|P$HZmg(a9llaY1u8u8@G6{3QZr;8~tvP|9~CdUhQ0W;JE zlMjlDtK1SSD9X$$iO)$*Oi3+D%1<mxISO((8#s`J7`YgW!Z#a<?_m^<;w{N9Nz93d zg+F7F{p63z!jriqJtxl)6ObzkWnf_N(_}3&0r}4rM1Z2BC>X>FncO59$r!QtjwBmf zI7lF3@+0}vj8U7{DL64RMo<2zJc&035<H;jE&_>&PhPH44VDw1Y^55EMSi1d5~k>8 zbG1K=jG2>7G_1KZK~_b9&7FKfU25_a4PospP^#gGj|U}*_;^j#qIi%Z4G;lJ??s@< zC^7(X<0fCyFcnP#sb?-ODJtRw34*dxQP^Y|O(VS^5Fg?_5DVfj5DR2u5!h~!Wks?e hF{#Oo8p4zNHSL6ixCPh*xJ9^xcmy=1R5)0;7y;c)(`Wzy diff --git a/bbbmon/bbbmon.py b/bbbmon/bbbmon.py index ec3e2d0..2eee08b 100644 --- a/bbbmon/bbbmon.py +++ b/bbbmon/bbbmon.py @@ -166,20 +166,19 @@ def get_duration(meeting: XmlDictConfig) -> timedelta: return duration -def strfdelta(duration: timedelta, fmt: str) -> str: +def strfdelta(duration: timedelta) -> str: """ Helper function for datetime.timedelta formatting, use like this: strfdelta(delta_obj, "{days} days {hours}:{minutes}:{seconds}") """ - d = {"days": duration.days} - d["hours"], remainder = divmod(duration.seconds, 3600) - d["minutes"], d["seconds"] = divmod(remainder, 60) - return fmt.format(**d) + s = int(duration.total_seconds()) + + return '{:02}:{:02}:{:02}'.format(s // 3600, s % 3600 // 60, s % 60) def format_duration(meeting: XmlDictConfig) -> str: duration = get_duration(meeting) - return strfdelta(duration, "{hours}:{minutes}") + return strfdelta(duration) @@ -200,7 +199,8 @@ def print_leaderboard(meetings: Iterable[XmlDictConfig], key: str): participantCount) """ print("LEADERBOARD ({})".format(FRIENDLY_KEYNAMES[key])) - for m in meetings: + sorted_by = sorted([m for m in meetings], key=lambda x:int(x[key]), reverse=True) + for m in sorted_by: print("{:>5} {:<45} {}".format(m[key], m["meetingName"], get_formated_presenter_name(m))) @@ -213,7 +213,7 @@ def print_duration_leaderboard(meetings: Iterable[XmlDictConfig]): by_duration = sorted([m for m in meetings], key=lambda x:int(get_duration(x).total_seconds()), reverse=True) for m in by_duration: - print("{:>5} {:<45} {}".format(format_duration(m), m["meetingName"], get_formated_presenter_name(m))) + print("{:>12} {:<45} {}".format(format_duration(m), m["meetingName"], get_formated_presenter_name(m))) def print_overview(secret: Secret, bbb_url: Url): -- GitLab