Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#355 #477

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

#355 #477

wants to merge 23 commits into from

Conversation

jacekszymanski
Copy link

Statistiky podle #355, nedal jsem tam autory, nevím jak na to, jediné co jsem našel, je "attribution", tam by ale se muselo nějaké regexpy a tak...

@jacekszymanski
Copy link
Author

Hmm já tu chybu nemám, ani na pythonu 3.7 ani na 3.6.5, ještě zkusím nainstalovat si čistý linux a 3.6.3 se vším jako tady v testu...

@hroncok
Copy link
Member

hroncok commented Oct 15, 2018

Ta chyba se objeví, jen když jsou zapnuté forky.

Zkus:

FORKS_ENABLED=true pipenv run naucse serve

@hroncok
Copy link
Member

hroncok commented Oct 15, 2018

Jak to řešit, by mohl poradit třeba @mikicz

@jacekszymanski
Copy link
Author

Dík, teď mám tu chybu.

@mikicz
Copy link
Member

mikicz commented Oct 15, 2018

No, tohle nebude úplně jednoduché... Ty informace, které jsou potřeba na spočítání statistik se z forků vůbec nevrací, takže je potřeba je z forků dostat. Ať už se to udělá jakkoliv tak to ale nebude zpětně kompatabilní, protože je přidat kód do forků, aby tohle vracely...

Myslím, že by bylo ideální, aby forky vracely kromě současných informací ještě i dvě věci navíc:

  • počet cheatsheetů
  • seznam sessions (slug pro počítání unikátnosti, datum pro počítání kolik lekcí bylo odučeno)

Bohužel nestačí jen set slugů a počet odučených lekcí, protože to by nefungovalo s cachí pořádně, je potřeba, aby to co se vrací z forku nebylo vázané na datum buildu.

Ve funkcích sessions_delivered, sessions_available, cheatsheets by se pak musem rozlišovalo mezi klasickými materiály/kurzy a forky...


return len(ongoing)

def all_runs():
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Myslím, že je název tento fuknce lehce matoucí, myslím že něco jako count_all_runs by bylo lepší, přeci jen to nevrací kurzy, ale jejich počet...


def sessions_available():
uniq_sessions = {}
for course in safe_courses():
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tohle spíš na @hroncok nebo @encukou: má být v této statistice jen počet kanonických sessions nebo i sessions co byly jen na kurzech? A nebylo by možná indikativnější/hezčí mít počet materiálů než lekcí, případně také mít tento počet?

return len([session for session in all_sessions if session.date < today])

def sessions_available():
uniq_sessions = {}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tady by podle mě bylo lepší použít set, nepotřebujeme si ukládat tu lekci samotnou, stačí ten slug.

@hroncok
Copy link
Member

hroncok commented Oct 15, 2018

@mikicz Pokud by to znamenalo strašlivé zásahy, bude možná stačit mít nějaký způsob, jak to spočítat, klidně naprasený a data si uchovávat, jednou za čas přepočítat (ostatně tak se to dělá i na pyvec.org).

@mikicz
Copy link
Member

mikicz commented Oct 16, 2018

No nemyslím si, že by to nějak velký zásah, jen je problém s tou zpětnou kompatabilitou...
Prasácký způsob mě napadá jen na unikátní lekce (analyzovat zafreezované URL) a odučené lekce (z iCalu, případně pro kurzy co nemají iCal tak zase analýza zafreezovaných URL), na počet cheatsheetů bohužel nic :/

@encukou
Copy link
Member

encukou commented Nov 28, 2018

Ahoj,
Rád bych tuhle změnu pro teď odložil a napřed dořešil #494.

… into issue395

* 'issue395' of github.com:jacekszymanski/naucse.python.cz:
  make it look a little better
  cheatsheets
  add sessions_available
  safe_courses now a function
  add all_runs, sessions_delivered
  remove unnecessary print
  add active runs
  basic list skel, no styles or data
  stupid yml mistake
  shamelessly copy czech plurals from pyvec :-)
  yml with descriptions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants