новая lms

feature/fix_generate_pass
Andrey 8 years ago
parent ccac432200
commit 307497bce2
  1. 49
      .gitlab-ci.yml
  2. 41
      Dockerfile
  3. 33
      _tmp
  4. 71
      _utils/1.txt
  5. 117
      _utils/2.txt
  6. 108
      _utils/3.txt
  7. 142
      _utils/4.txt
  8. 0
      _utils/__init__.py
  9. 106
      _utils/aic_users4
  10. 9496
      _utils/all_users
  11. 20
      _utils/bills_migrate.py
  12. 121
      _utils/change_teacher.py
  13. 60
      _utils/check_HT.py
  14. 64
      _utils/check_course_journal.py
  15. 12
      _utils/check_course_map.py
  16. 21
      _utils/check_dubble_users_ip.py
  17. 12
      _utils/check_empty_LJ.py
  18. 24
      _utils/check_expired.py
  19. 20
      _utils/check_exsists_journal.py
  20. 106
      _utils/check_journal_access.py
  21. 38
      _utils/check_journals.py
  22. 28
      _utils/check_lesson_access.py
  23. 16
      _utils/check_lesson_open.py
  24. 47
      _utils/check_lesson_open_near_homework.py
  25. 28
      _utils/check_lesson_statuses.py
  26. 8
      _utils/check_many_journals.py
  27. 9
      _utils/check_middle_HT.py
  28. 26
      _utils/check_opens.py
  29. 27
      _utils/check_prices.py
  30. 41
      _utils/check_robo_prep.py
  31. 24
      _utils/check_robo_teacher.py
  32. 31
      _utils/check_storage.py
  33. 24
      _utils/check_waiting.py
  34. 56
      _utils/clean_bb_tags.py
  35. 20
      _utils/clean_bill.py
  36. 12
      _utils/clean_tj.py
  37. 74
      _utils/clean_twice_course_journals.py
  38. 73
      _utils/clean_twice_journals.py
  39. 20
      _utils/clear_db.py
  40. 106
      _utils/copy_user.py
  41. 1
      _utils/courses_dump.json
  42. 20
      _utils/create_comments_bbtext.py
  43. 46
      _utils/create_diploms.py
  44. 25
      _utils/create_letter_result.py
  45. 22
      _utils/create_modal_task.py
  46. 18
      _utils/create_modals.py
  47. 28
      _utils/create_modals_stack.py
  48. 38
      _utils/diplom_nameless.txt
  49. 1
      _utils/emails_md5.txt
  50. 1
      _utils/emails_ux.txt
  51. 57
      _utils/error.log_back
  52. 0
      _utils/exclude_re_welcome.json
  53. 29
      _utils/export_vzaar.py
  54. 15
      _utils/finish_export_vzaar.py
  55. 8
      _utils/func_test.py
  56. 48
      _utils/gazprom.txt
  57. 23
      _utils/gen_diploms.py
  58. 31
      _utils/get_big_fake_module.py
  59. 27
      _utils/get_email_no_exclude_hw_for_course.py
  60. 17
      _utils/get_emails_customers.py
  61. 18
      _utils/get_no_active_users.py
  62. 49
      _utils/get_reports.py
  63. 27
      _utils/get_teacher_load.py
  64. 99
      _utils/get_theme_try_len_result
  65. 34
      _utils/get_users_with_bills.py
  66. 0
      _utils/import_JC/__init__.py
  67. 21
      _utils/import_JC/clean_journals.py
  68. 20
      _utils/import_JC/clear_users.py
  69. 173
      _utils/import_JC/create_user_map.py
  70. 1
      _utils/import_JC/create_users.py
  71. 3
      _utils/import_JC/test_imigrate.txt
  72. 751
      _utils/import_JC/users_base.txt
  73. 4716
      _utils/import_JC/users_base_back
  74. 56
      _utils/import_lesson_comments_to_hc.py
  75. 42
      _utils/import_profile_to_new_profile.py
  76. 1
      _utils/kaspi.txt
  77. 321
      _utils/lessons_comments_hc.xml
  78. 14
      _utils/load_as_customer.py
  79. 152
      _utils/load_bills_excel.py
  80. 67
      _utils/load_courses.py
  81. 55
      _utils/load_modal_task.py
  82. 35
      _utils/load_report_deep.py
  83. 26
      _utils/mosru.txt
  84. 49
      _utils/open_bills.py
  85. 16
      _utils/open_comments.py
  86. 199
      _utils/open_course_lesson.py
  87. 57
      _utils/open_journals.py
  88. 198
      _utils/open_lesson.py
  89. 85
      _utils/reload_HT.py
  90. 35
      _utils/reload_TJ_as_report.py
  91. 29
      _utils/reload_bills.py
  92. 27
      _utils/report_for_one_material.py
  93. 0
      _utils/reports/__init__.py
  94. 16
      _utils/reports/get_all_students_emails.py
  95. 641
      _utils/reports/get_learn_balance
  96. 34
      _utils/reports/get_learn_balance.py
  97. 37
      _utils/reports/get_success_for_theme.py
  98. 45
      _utils/reports/get_success_hw_themes.py
  99. 641
      _utils/reports/get_theme_try_len
  100. 74
      _utils/reports/get_theme_try_len.py
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,49 +0,0 @@
# This file is a template, and might need editing before it works on your project.
# Official docker image.
image: docker:latest
services:
- docker:dind
variables:
CHANNEL: "skillbox"
SERVER_URL: "lms.test.spicycms.com"
DOMAIN: "$CI_BUILD_REF_SLUG.$SERVER_URL"
SLACK_MSG: "Check new website <https://$DOMAIN>"
SLACK_URL: "https://hooks.slack.com/services/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"
SLACK_URL_BRAMA: "https://hooks.slack.com/services/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"
types:
- build
- test
build_app:
type: build
script:
- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
- docker build --no-cache --rm --pull -t "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG" --build-arg SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY" --build-arg SPICYCODE_LOGIN="$SPICYCODE_LOGIN" --build-arg SPICYCODE_PASS="$SPICYCODE_PASS" .
#- docker run --rm --add-host dockerhost:`/sbin/ip route|awk '/default/ { print $3}'` "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG" python manage.py test
- docker push "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
test_app:
type: test
script:
#- docker login -u "gitlab-ci-token" -p "$CI_BUILD_TOKEN" $CI_REGISTRY
#- docker pull "$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
- if [[ $(docker ps -a) == *$DOMAIN* ]] ; then docker stop $DOMAIN ; fi
- if [[ $(docker ps -a) == *$DOMAIN* ]] ; then docker rm $DOMAIN; fi
- "SLACK_PAYLOAD='payload={\"channel\":\"#'${CHANNEL}'\",\"username\":\"'${SERVER_URL}'\",\"text\":\"'${SLACK_MSG}'\",\"icon_emoji\":\":ghost:\"}'"
- docker run -d
--expose=80
--env VIRTUAL_HOST=$DOMAIN
--name $DOMAIN
--env HTTPS_METHOD=noredirect
--env DB_NAME=$DB_NAME
--env PG_PORT_5432_TCP_ADDR=$DB_HOST
--env PG_PORT_5432_TCP_PORT=$DB_PORT
--env PG_ENV_POSTGRES_USER=$DB_TEST_USER
--env PG_ENV_POSTGRES_PASSWORD=$DB_TEST_PASS
"$CI_REGISTRY_IMAGE:$CI_BUILD_REF_SLUG"
- curl -I $DOMAIN 2>/dev/null | head -n 1 | cut -d$' ' -f2
- SLACK_MSG="REVIEW app is started on https://$DOMAIN/"
- SLACK_PAYLOAD="payload={\"text\":\"$SLACK_MSG\",\"username\":\"gitlab-ci\"}"
- curl -X POST -d "$SLACK_PAYLOAD" $SLACK_URL
- curl -X POST -d "$SLACK_PAYLOAD" $SLACK_URL_BRAMA
dependencies:
- build_app

@ -1,41 +0,0 @@
FROM python:3.4.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN apt-get update && apt-get install -y supervisor \
cron
#RUN pip install mercurial
#RUN pip install git
RUN pip install uwsgi
#RUN apt-get update && apt-get install openssh-client
ARG SSH_PRIVATE_KEY
ARG SPICYCODE_LOGIN
ARG SPICYCODE_PASS
RUN echo '[auth]\nspicy.prefix = code.spicycms.com\nspicy.username = '$SPICYCODE_LOGIN'\nspicy.password = '$SPICYCODE_PASS'\nspicy.schemes = https' > ~/.hgrc
RUN mkdir -p ~/.ssh
RUN mkdir -p /code/static/img/avs
#RUN eval `ssh-agent -s` > /dev/null | echo "$SSH_KEY" | ssh-add -
RUN echo "$SSH_PRIVATE_KEY" >> /root/.ssh/id_rsa
RUN echo "Host *\n\tStrictHostKeyChecking no\nIdentityFile /root/.ssh/id_rsa" >> /root/.ssh/config
RUN chmod 600 -R /root/.ssh
#ADD ./requirements.txt /code/requirements.txt
#RUN pip install -r requirements.txt
RUN rm /root/.ssh/id_rsa
ADD . /code
RUN cp id_dsa /root/.ssh/
RUN chmod 600 -R /root/.ssh
run ln -s /code/supervisor-app.conf /etc/supervisor/conf.d/
RUN pip install -r requirements.txt
#RUN python manage.py collectstatic --noinput
#CMD ["/code/docker-entrypoint.sh"]
CMD ["supervisord", "-n"]

33
_tmp

@ -1,33 +0,0 @@
artem.kudra@func.ru
aaa_rostov@rambler.ru
delo@jet-mix.ru
artemaminov@gmail.com
gresmik@yandex.ru
dimpolozkov@gmail.com
visualart@mail.ru
vr8853@gmail.com
makini@ya.ru
katyami90@mail.ru
rolandvermin@mail.ru
9990405@gmail.com
andrey732@gmail.com
goha@kiosov.com
dmitry@shaludin.ru
alyans911@mail.ru
zkorall@gmail.com
me@flexure.ru
natazkondra@gmail.com
dvb@dextra.ru
sherdog@list.ru
romagrog@gmail.com
a.cherniak@dexme.by
cyberspacedee@gmail.com
almazzar@gmail.com
pavlova-yb@bisys.ru
soloveev@yandex.ru
asta219@gmail.com
allmam@ya.ru
civanov@multicharts.com
hellonasnas@gmail.com
webidea19@gmail.com
a@tickets.ai

@ -1,71 +0,0 @@
einzheev@itl.com.kz
dmitry.sedov@inbox.ru
ivanpokalyuk@gmail.com
baho9208@mail.ru
feyorz@gmail.com
waximov@gmail.com
alvo_05@mail.ru
redkuk@gmail.com
petrichv@gmail.com
tagfelix500@gmail.com
ikey0172@mail.ru
gb.gayane@gmail.com
eco.pun@gmail.com
sanzharsurshanov@gmail.com
dennis.loboda@gmail.com
webar4i@gmail.com
zvetaan@gmail.com
svelavs@gmail.com
art@magicdesign.ru
mbf23tb@gmail.com
andrievskiydmitriy@gmail.com
pulya7@gmail.com
mikhail.a.gusev@gmail.com
elena@citrus-soft.ru
kropev@rarus.ru
nikonorov@labizum.ru
gulin@labizum.ru
vladfedorovich@gmail.com
Gfgaliya@gmail.com
romqa.guard@gmail.com
srfedotov@gmail.com
vinjuli4ka2008@rambler.ru
kuzzzal@gmail.com
zvetaan@gmail.com
lepon@bk.ru
y.robocopov@gmail.com
enchervinskaya@gmail.com
volokos@gmail.com
mtsalka@scnsoft.com
dubnyak404@gmail.com
o.tibirkova@yandex.ru
a.nikiforov@uplab.ru
dmytriy.suslov@gmail.com
s.shtukaturka@gmail.com
alex.dntv@gmail.com
m.chelyadenkov@gmail.com
timur.shulgin@infocraft.ru
sp.rusanov@gmail.com
zyabra@gmail.com
timakova@fistashki.org
aknoraz@deloitte.ru
sesyunin@realweb.ru
bravo.johnny@yandex.ru
didenko@braind.agency
whysecondjuly@gmail.com
yuzik.74@gmail.com
art@amado-id.ru
9330733@mail.ru
ek.design11@gmail.com
danila.zarechnev@gmail.com
kira.yakuhina@gmail.com
geiz@yandex.ru
tuning_a@mail.ru
suonarama@gmail.com
abrakadavr@gmail.com
irina_z_z@mail.ru irina.huchak@gmail.com
ha@brightstudio.ru
smorozov@qsoft.ru
a.reva@qsoft.ru
d.pogodin@itech-group.ru
lemma.ka@gmail.com

@ -1,117 +0,0 @@
makspirogov@gmail.com
velesart@gmail.com
dmitrij.pastushenko@gmail.com
pavlov@complexsys.ru
ceo@pride-m.ru
spinngewebex@gmail.com
an_b@inbox.ru
ilyuha86@gmail.com
juniperland@gmail.com
egor@yugs.ru
kashlatch@gmail.com
niozuki@mail.ru
Gnatovych@gmail.com
sahem@mail.ru
zfalevich@gmail.com
lalaviva@yandex.ru
z.ilnurri@gmail.com
mmaslennikov@mail.ru
info@wbest.ru
arthur.subbota@gmail.com
goha@kiosov.com
Igorfedorenko@mail.ru
annazayidova@gmail.com
anton.reznichenko@gmail.com
me@flexure.ru
es@vipro.ru
km@colary.ru
kiselev_s_l@mail.ru
a.reznichenko@clientlab.ru
soldakov.p@yandex.ru
ap@ds-p.ru
702752@gmail.com
shpakova@sebbia.com
skugarov@sebbia.com
taranov@sebbia.com
rusakovevgen@gmail.com
frostoffman@gmail.com
a.khadeko@gmail.com
trogatyuk@gmail.com
hello@aokunev.com
dengenich@gmail.com
Alexpozdnyakof@gmail.com
korobajr@ya.ru
pavlov@complexsys.ru
elizaveta.bandalet@gmail.com
deniskondrashov@yahoo.com
prokosha10@gmail.com
i.flinn@yandex.ru
s.darbaidze@inostudio.com
zhurakoff@gmail.com
krylya@inbox.ru
146133@gmail.com
i.flinn@yandex.ru
sasha.melbourne@gmail.com
tiano_taurus747@mail.ru
hip-hop-org@yandex.ru
j.tolkova@yandex.ru
jaglin@itsoft.ru
den.volchkevich@gmail.com
yakimov.dmitriy@gmail.com
994677@mail.ru
rumbeshta@userstory.ru
ylkin_list@mail.ru
salofoot@fermastudio.ru
smiley1776@gmail.com
info@darneo.ru
egor@studiofact.ru
alevtina.i.danilova@gmail.com
puponina.irina@gmail.com
yevseev@mail.ru
ekde@wide-web.spb.ru
corpas@gmail.com
nitrohlorid@gmail.com
kayl24brof@gmail.com
skovalska@mail.ru
Dmitry.eremin7@gmail.com
Nikolebedev@mail.ru
ishulga86@gmail.com
bobafas@gmail.com
kalina531345@gmail.com
dsgn.shots@gmail.com
dsukhanova@gmail.com
kizilov.s@gmail.com
zlk.marjana@gmail.com
nava011235@gmail.com
i.shymanskyi@gmail.com
anastasy.petrenko87@gmail.com
dinozavrix@gmail.com
yana.berezhnaya999@gmail.com
person.ira@gmail.com
bershonok@gmail.com
vivi_bvo@mail.ru
lens2002@gmail.com
ohmeinkot@gmail.com
d22s@ya.ru
masha49@yandex.ru
biz.trp@gmail.com
leo55506@gmail.com
ksenia.vitkova@gmail.com
e.poberezhnik@artw.ru
alexzarkov@gmail.com
ekde@wide-web.spb.ru
vemelin@gmail.com
gausf2@gmail.com
vd@wearewowagency.com
va@wearewowagency.com
domrachv@gmail.com
ad@wearewowagency.com
jalalovna@yandex.ru
mohov-g@yandex.ru
st.wasp@yandex.ru
Irina.lisofa@gmail.com
Kornblumchen@yandex.ru
albytime@gmail.com
as.plyaskin@gmail.com
trunovaon@gmail.com
yuri.a.k.design@gmail.com

@ -1,108 +0,0 @@
dina@vega.nsk.ru
andrii.dev@gmail.com
vasukhina_av@mail.ru
millie.mk5@gmail.com
goto.darya@gmail.com
vova@vovavova.ru
Loki2d@gmail.com
ilya.tymofeev@gmail.com
alpha5@yandex.ru
Sepeda.rafael@gmail.com
zionll@yandex.ru
strife88@mail.ru
ele-bulavinceva@yandex.ru
jack@creo.od.ua
vitaly.suhorukov@gmail.com
ogalin@aevrika.ru
d.lexand@gmail.com
info@aleskeroff.ru
captainanch@ya.ru
denisgorbunovmsc@gmail.com
goshamanasyan@gmail.com
katerina.musinova@gmail.com
dmokichev@gmail.com
andr@andr.kz
tingmann@gmail.com
romazzz@me.com
execer@mail.ru
egysakova@gmail.com
alex.sibilev@tmd.tv
portnova.ok@yandex.ru
vtoryanik@livemaster.ru
civanov@multicharts.com
alinazoryna@gmail.com
wellkin@gmail.com
noc-engineer@outlook.com
denis.kryukov@cyberiada.com
tonyavec@gmail.com
artemzig@gmail.com
asvdesign@yandex.ru
1ngeneer@mail.ru
fynart@gmail.com
pnz_08@mail.ru
a@cdnvideo.ru
sokdis@gmail.com
blood4085@inbox.ru
goryayeva@gmail.com
vlkitov@gmail.com
aveelik@gmail.com
lida.pihora@gmail.com
yanchus@mail.ru
olgarafikova00@mail.ru
lena@mura-show.com
wm5soft@gmail.com
torus.andrey@gmail.com
romameteva@azoft.com
dim@gifts.ru
9nkags@gmail.com
berezinaiv@gmail.com
qmach@yandex.ru
iandrew80@gmail.com
irynagillis@gmail.com
evgenia.deg@gmail.com
tarshis.d@gmail.com
e.taychenachev@gmail.com
art.filkov@gmail.com
connect@me.com
emelyanova.olena@gmail.com
pd4774@yandex.ru
wizzzart@gmail.com
tuhachevski@gmail.com
fazeful@gmail.com
molot877@mail.ru
vklimovs@mail.ru
slavinanm@gmail.com
diems@mail.ru
efomina@msk.vtb.ru
xnata.d@gmail.com
avmakarov@asuproject.ru
corvinun@gmail.com
navelis@mail.ru
glebkost.dev@gmail.com
nicknatochiev@me.com
romagrog@gmail.com
d.letko@articul.ru
batovd@gmail.com
nikolay.stanislavchuk@gmail.com
iamkonev@gmail.com
zaroman1989@gmail.com
cat.kubasova@yandex.ru
same.tea@gmail.com
irina.medyanceva@gmail.com
kattia2592@gmail.com
olya.zp@ya.ru
olgasnbrd@gmail.com
Dhopkins@ya.ru
yulenka26@gmail.com
anton.tmur@gmail.com
egodyston@gmail.com
bel.art@mail.ru
evgeniy@le-de.ru
yakimova.design@gmail.com
olga@le-de.ru
ereshko.igor@gmail.com
tn@bitek.ru
gafurovt@gmail.com
sofiakelemzina@gmail.com
dv@ilab.kz
bez.b.unix@gmail.com

@ -1,142 +0,0 @@
kononenko.e.p@gmail.com
aplusp@yandex.ru
ugarova@magora-systems.ru
skoryk.yulia@gmail.com
skorodymov@mail.ru
xnia.nik@gmail.com
yuliyahil@gmail.com
alex@space-o.ru
pae1@europlan.ru
stasya1004@mail.ru
design@spaceapp.ru
alexey.g.demchuk@gmail.com
ovodesign82@gmail.com
nushamenshikova@gmail.com
am@bonoagency.ru
il@bvdp.ru
ss@bvdp.ru
voron86618@gmail.com
makarichev.aa@gmail.com
kombikovdamir@gmail.com
khakifeva@croc.ru
AParshikov@croc.ru
alevova@gmail.com
info@d-element.ru
lesiawuss@gmail.com
Vorobjoff@yandex.ru
iskan153@gmail.com
era.gromov@gmail.com
ya@rl.ru
ysmirnovy@gmail.com
gavrylov88@gmail.com
alexandrshum@gmail.com
raceoffer@ya.ru
yuri.froloff@gmail.com
siv11@mail.ru
vpetrova21@yandex.ru
13malix@gmail.com
execer@mail.ru
itsarenko@gmail.com
segavosegag@gmail.com
kolos.natasha@gmail.com
limosiaya@gmail.com
andrayvelitchko@gmail.com
lina.savenkova@gmail.com
stanislav.vir@gmail.com
lentyaev.m@yandex.ru
artemich92@mail.ru
89169113911@mail.ru
marina.kavetskaya@gmail.com
mobester@gmail.com
fedotov@tyr24.ru
zyabra@gmail.com
bsv@legacystudio.ru
todanilin@gmail.com
pplahov@gmail.com
sokwork@gmail.com
kukva@me.com
aytigor@gmail.com
agarzaeva@yandex.ru
ilyaa77@mail.ru
krutolapova@mail.ru
alekseyskrobot@gmail.com
godortneo@gmail.com
volkova78@bk.ru
mako731@ya.ru
m.leybova@gmail.com
denisbryuhanov@gmail.com
alexsteptlt@mail.ru
abcdesign1@mail.ru
veronikavick87@gmail.com
jeneva7@gmail.com
as.kretinin@gmail.com
skp_15@mail.ru
k-pastukhova@yandex.ru
onimfa@mail.ru
churkin.ig@gmail.com
alla.sukhostavskaya@gmail.com
kirsti-b@yandex.ru
babyas@yandex.ru
kosan81@yandex.ru
beruchie@yandex.ru
petrusevich-vladimir@yandex.ru,
shama2004@bk.ru
alex@hcube.ru
sens11even@gmail.com
fessdew@gmail.com
skorodymov@mail.ru
uryukovv@gmail.com
ageewa@gmail.com
sokolov.maksim92@yandex.ru
shtrudle@yandex.ru
tooob52@gmail.com
sonicmails@yandex.ru
ezavodchikova@me.com
alinarlova@gmail.com
artteq@gmail.com
azazello@inbox.ru
rasulmhk@gmail.com
serglookas@yandex.ru
edgecrasher@gmail.com
a.isakov@ruslink.pro
elle.s.m@yandex.ru
tuna1706@yandex.ru
jekashohirev@gmail.com
nazarov.design@gmail.com
alpmats@gmail.com
sarosekml@yandex.ru
norkensdrommar@yandex.ru
andrei_gavrilenko@inbox.ru
galadriel2007@mail.ru
protchenkova_dar@mail.ru
dseliverstov@yandex.ru
priymakdmitry@gmail.com
empaher3@yandex.ru
m.chelyadenkov@gmail.com
natfaga@yahoo.de
yakorolevaleksei@yandex.ru
zi_zind@hotmail.com
lileklive@mail.ru
pavelvch@gmail.com
shashnia@gmail.com
nifakt1@gmail.com
andreyy2010@ya.ru
jugastrov@gmail.com
pravo@roskvartal.ru
pervushin@avis-dc.ru
ag@lab.ag
hitzen88@gmail.com
yuriy.chetverikov@gmail.com
atree2010@gmail.com
jamadharma13@gmail.com
spolaspola@gmail.com
ok.msaavedra@gmail.com
Kitt.diz@gmail.com
goto.darya@gmail.com
mbf23tb@gmail.com
letterca@gmail.com
mary@ihome.ru
info@legacystudio.ru
lens2002@gmail.com
susannafeisal6@gmail.com
alexmname@gmail.com

@ -1,106 +0,0 @@
kononenko.e.p@gmail.com
aplusp@yandex.ru
ugarova@magora-systems.ru
skoryk.yulia@gmail.com
skorodymov@mail.ru
xnia.nik@gmail.com
yuliyahil@gmail.com
alex@space-o.ru
pae1@europlan.ru
stasya1004@mail.ru
design@spaceapp.ru
alexey.g.demchuk@gmail.com
ovodesign82@gmail.com
nushamenshikova@gmail.com
am@bonoagency.ru
il@bvdp.ru
ss@bvdp.ru
voron86618@gmail.com
makarichev.aa@gmail.com
kombikovdamir@gmail.com
khakifeva@croc.ru
AParshikov@croc.ru
alevova@gmail.com
info@d-element.ru
lesiawuss@gmail.com
Vorobjoff@yandex.ru
iskan153@gmail.com
era.gromov@gmail.com
ya@rl.ru
ysmirnovy@gmail.com
gavrylov88@gmail.com
alexandrshum@gmail.com
raceoffer@ya.ru
yuri.froloff@gmail.com
siv11@mail.ru
vpetrova21@yandex.ru
13malix@gmail.com
execer@mail.ru
itsarenko@gmail.com
segavosegag@gmail.com
kolos.natasha@gmail.com
limosiaya@gmail.com
andrayvelitchko@gmail.com
lina.savenkova@gmail.com
stanislav.vir@gmail.com
lentyaev.m@yandex.ru
artemich92@mail.ru
89169113911@mail.ru
marina.kavetskaya@gmail.com
mobester@gmail.com
fedotov@tyr24.ru
zyabra@gmail.com
bsv@legacystudio.ru
todanilin@gmail.com
pplahov@gmail.com
sokwork@gmail.com
kukva@me.com
aytigor@gmail.com
agarzaeva@yandex.ru
ilyaa77@mail.ru
krutolapova@mail.ru
alekseyskrobot@gmail.com
godortneo@gmail.com
volkova78@bk.ru
mako731@ya.ru
m.leybova@gmail.com
denisbryuhanov@gmail.com
alexsteptlt@mail.ru
abcdesign1@mail.ru
veronikavick87@gmail.com
jeneva7@gmail.com
as.kretinin@gmail.com
skp_15@mail.ru
k-pastukhova@yandex.ru
onimfa@mail.ru
churkin.ig@gmail.com
alla.sukhostavskaya@gmail.com
kirsti-b@yandex.ru
babyas@yandex.ru
kosan81@yandex.ru
beruchie@yandex.ru
petrusevich-vladimir@yandex.ru,
shama2004@bk.ru
alex@hcube.ru
sens11even@gmail.com
fessdew@gmail.com
skorodymov@mail.ru
uryukovv@gmail.com
ageewa@gmail.com
sokolov.maksim92@yandex.ru
shtrudle@yandex.ru
tooob52@gmail.com
sonicmails@yandex.ru
ezavodchikova@me.com
alinarlova@gmail.com
artteq@gmail.com
azazello@inbox.ru
rasulmhk@gmail.com
serglookas@yandex.ru
edgecrasher@gmail.com
a.isakov@ruslink.pro
elle.s.m@yandex.ru
tuna1706@yandex.ru
jekashohirev@gmail.com
nazarov.design@gmail.com

File diff suppressed because it is too large Load Diff

@ -1,20 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from finance.models import Bill
for i in Bill.objects.filter(manager__is_admin=True):
i.opener = i.manager
i.manager = None
i.save()
for i in Bill.objects.filter(manager__in_role__in=['M', 'S']):
i._method = 'S'
i.save()

@ -1,121 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from journals.models import HomeworkTry, TeacherJ, HomeworkJ, ExamJ, ExamTry
from lms.tools import show_progress
old = User.objects.get(email='raso.practice@gmail.com')
new = User.objects.get(email='nataliya.akimova47@gmail.com')
new2 = User.objects.get(email='html@bedev.ru')
all = (int(TeacherJ.objects.filter(teacher=old).count()) +
int(HomeworkJ.objects.filter(teacher=old, f_date=None).count()) +
int(HomeworkTry.objects.filter(teacher=old, f_date=None).count()) +
int(ExamJ.objects.filter(teacher=old, f_date=None).count()) +
int(ExamTry.objects.filter(teacher=old, f_date=None).count())
)
works = (
('TJ', TeacherJ.objects.filter(teacher=old).exclude(progress=100)),
('HJ', HomeworkJ.objects.filter(teacher=old, f_date=None)),
('HT', HomeworkTry.objects.filter(teacher=old, f_date=None)),
('EJ', ExamJ.objects.filter(teacher=old, f_date=None)),
('ET', ExamTry.objects.filter(teacher=old, f_date=None))
)
n = 0
to_new = set()
to_new2 = set()
print('Всего работ: %s' % all)
for name, work in works:
for point in work:
if name == 'TJ':
point.teacher = new
to_new.add(point.student.email)
elif name == 'HJ':
if point.material.theme.sort < 10:
point.teacher = new
else:
point.teacher = new2
if point.parent.parent.teacher != new2:
point.parent.parent.teacher = new2
point.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'HT':
if point.parent.material.theme.sort < 10:
point.teacher = new
else:
point.teacher = new2
if point.parent.parent.parent.teacher != new2:
point.parent.parent.parent.teacher = new2
point.parent.parent.parent.save()
if point.parent.teacher != new2:
point.parent.teacher = new2
point.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'EJ':
point.teacher = new2
if point.parent.parent.teacher != new2:
point.parent.parent.teacher = new2
point.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
elif name == 'ET':
point.teacher = new2
if point.parent.teacher != new2:
point.parent.teacher = new2
point.parent.save()
if point.parent.parent.parent.teacher != new2:
point.parent.parent.parent.teacher = new2
point.parent.parent.parent.save()
try:
to_new.remove(point.student.email)
except:
pass
to_new2.add(point.student.email)
point.save()
show_progress(all, n)
n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)
print('======================')
print(new)
for i in to_new:
print(i)
print('======================')
print(new2)
for i in to_new2:
print(i)

@ -1,60 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import HomeworkTry, HomeworkJ
def good(tr):
if not tr.success:
tr.success = True
if not tr.f_date:
tr.f_date = tr.date
tr.save()
def fail(tr):
if tr.success:
tr.success = False
if not tr.f_date:
if tr.date:
tr.f_date = tr.date
else:
tr.f_date = datetime.datetime.now()
tr.save()
def empty(tr):
tr.delete()
for i in HomeworkTry.objects.all():
if i.comments.all():
for comment in i.comments.all():
if comment.owner.in_role == 'T':
if u'Задача принята!' in comment.text:
good(i)
break
elif u'Отправлено на доработку!' in comment.text:
fail(i)
break
else:
print comment.text
result = raw_input(u'Сдано? Y/N: ')
if result in ['y', 'Y', 'н', 'Н']:
good(i)
elif result in ['n', 'N', 'т', 'Т']:
fail(i)
else:
empty(i)
#for i in HomeworkJ.objects.all():
# if i.date and i.f_date and not i.success:
# i.success = True
# i.save()

@ -1,64 +0,0 @@
#! coding: utf-8
import os
import django
import sys
import os
from datetime import datetime
sys.path.append("/var/www/skillbox")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from lms.settings import BASE_DIR
from courses.models import Course
from finance.models import Price
from journals.models import TeacherJ, check_journal
def check_course_journal(course_id):
print('===========\nКурс: %s\n==============\n' % Course.objects.get(id=course_id).title)
print('Начало проверки журнала курса')
global_start = start = datetime.now()
course = Course.objects.get(id=course_id)
course.build_map()
finish = datetime.now()
print('Конец проверки журнала курса. Длительность: %s мсек\n' % (finish - start).microseconds)
print('Начало проверки услуг')
start = datetime.now()
all = Price.objects.filter(by_time=0, post_fire=0, course__id=course_id).count()
print('Количество услуг на проверку: %s' % all)
for i in Price.objects.filter(by_time=0, post_fire=0, course__id=course_id):
i.check_points()
finish = datetime.now()
print('Конец проверки услуг. Длительность: %s мсек\n' % (finish - start).microseconds)
print('Начало очистки двойных журналов')
start = datetime.now()
os.system('python clean_twice_course_journals.py %s' % course_id)
finish = datetime.now()
print('Конец очистки двойных журналов. Длительность: %s\n' % (finish - start).microseconds)
print('Начало проверки журналов')
all = TeacherJ.objects.filter(progress__gt=0, course__id=course_id).count()
print('Количество журналов на проверку: %s' % all)
for i in TeacherJ.objects.filter(progress__gt=0, course__id=course_id).order_by('-id'):
check_journal(i, from_console=True)
print('Конец проверки журналов. Длительность: %s сек\n' % (finish - start).microseconds)
print('Начало открытия уроков курса')
start = datetime.now()
os.system('python open_course_lesson.py %s' % course_id)
finish = datetime.now()
print('Конец открытия уроков курса. Длительность: %s\n' % (finish - start).microseconds)
global_finish = datetime.now()
print('==============================\nДлительность: %s сек' % (global_finish - global_start).seconds)
if __name__ == "__main__":
course_id = sys.argv[1]
check_course_journal(course_id)

@ -1,12 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course
for course in Course.objects.all():
course.build_map()

@ -1,21 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import UserRequest
_in = {
#'user': []
}
for i in UserRequest.objects.all():
if not _in.get(i.user.id):
_in[i.user.id] = [i.ip]
else:
if i.ip in _in[i.user.id]:
i.delete()
else:
_in[i.user.id].append(i.ip)

@ -1,12 +0,0 @@
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import LessonJ
for lj in LessonJ.objects.filter(parent=None):
print lj
lj.save('only_parent')

@ -1,24 +0,0 @@
# coding=utf-8
import datetime
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from journals.models import ExamTry, HomeworkTry
from management.letters import sent_new_expired
for res in (ExamTry.objects.filter(f_date=None).exclude(expired=True),
HomeworkTry.objects.filter(f_date=None).exclude(expired=True)):
#print res
for _try in res:
#print _try
# Проверка экзамена
if _try.date + datetime.timedelta(days=1) < datetime.datetime.now():
_try.expired = True
_try.save()
for user in User.objects.filter(in_role='S2'):
sent_new_expired(_try, user.email)

@ -1,20 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course
from journals.models import TeacherJ
from access.models import User
for user in User.objects.all():
for course in Course.objects.all():
if not TeacherJ.objects.filter(student=user, course=course).exists():
print course
print user

@ -1,106 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import TeacherJ, LessonJ, HomeworkJ, ExamJ, CourseThemeJ
from courses.models import Course, CourseMap
def getMap_journal(_map, student):
ob = None
if _map._type == 'L':
#try:
ob = LessonJ.objects.get(material=_map.lesson, student=student)
#except LessonJ.DoesNotExist:
# print _map.lesson
# print student.email
# raise LessonJ.DoesNotExist
elif _map._type == 'H':
#try:
ob = HomeworkJ.objects.get(material=_map.homework, student=student)
#except HomeworkJ.DoesNotExist:
# print _map.lesson
# print student.email
# raise HomeworkJ.DoesNotExist
elif _map._type == 'E':
#try:
ob = ExamJ.objects.get(material=_map.exam, student=student)
#except ExamJ.DoesNotExist:
# print _map.lesson
# print student.email
# raise ExamJ.DoesNotExist
return ob
def rel(j):
j.date = None
j.f_date = None
j.success = False
j.save()
for course in Course.objects.all():
print course
for journal in TeacherJ.objects.filter(course=course).order_by('-student__id'):
for theme in CourseThemeJ.objects.filter(parent=journal):
#print theme
theme.date = None
theme.f_date = None
theme.success = False
theme.save()
last = None
_reload = False
for _map in CourseMap.objects.filter(course=course).order_by('sort'):
try:
j = getMap_journal(_map, journal.student)
except LessonJ.DoesNotExist:
pass
except HomeworkJ.DoesNotExist:
pass
except ExamJ.DoesNotExist:
pass
else:
status = j.get_status_flag()
if status == 'F' and j.date and j.f_date and j.success and not _reload:
last = j
elif _reload:
rel(j)
elif _map.sort and last:
if getMap_journal(CourseMap.objects.get(course=course, sort=int(_map.sort)-1), journal.student) == last:
_reload = True
s = False
if not j.date:
j.date = datetime.datetime.now()
s = True
if j.f_date:
j.f_date = None
s = True
if j.success:
j.success = False
s = True
if s:
j.save()
elif _map.sort and not last:
_reload = True
rel(j)

@ -1,38 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
import os
start = datetime.datetime.now()
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
os.system('python check_course_map.py')
os.system('python check_prices.py')
from lms.settings import BASE_DIR
from journals.models import TeacherJ, check_journal
from lms.tools import show_progress
os.system('python clean_twice_journals.py')
all = TeacherJ.objects.filter(progress__gt=0).count()
print('Количество журналов на проверку: %s' % all)
n = 0
f = open(os.path.join(BASE_DIR, 'journals/check_switch'), 'w')
f.write('1\n')
f.close()
for i in TeacherJ.objects.filter(progress__gt=0).order_by('-id'):
check_journal(i, from_console=True)
show_progress(all, n)
n += 1
f = open(os.path.join(BASE_DIR, 'journals/check_switch'), 'w')
f.write('0\n')
f.close()
os.system('python open_lesson.py')
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish-start).seconds)

@ -1,28 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import TeacherJ, LessonJ
# Получить все журналы, где начато обучение
for journal in TeacherJ.objects.filter(status='W'):
before = []
for l in LessonJ.objects.filter(parent__parent=journal).order_by('material__token'):
if l.get_status_flag()=='N':
before.append(l)
else:
if before:
for i in before:
print('Открыл: {0}'.format(i.id))
i.open_material()
# Получить
# Найти уроки, находящиеся в статусе N в середине курса
# Открыть в статус - доступно

@ -1,16 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import HomeworkJ
for i in HomeworkJ.objects.filter(f_date=None).exclude(date=None):
i.open_next()

@ -1,47 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
print(1)
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
print(2)
from courses.models import CourseMap
from journals.models import TeacherJ, LessonJ, HomeworkJ, HomeworkTry, CourseThemeJ
# Получить все журналы, где начато обучение
print(3)
last = TeacherJ.objects.filter(status='W').order_by('-id').last().id
print(4)
for journal in TeacherJ.objects.filter(id=26933).order_by('-id'):
print(journal.id)
if HomeworkTry.objects.filter(material__course__id=journal.course.id, student__id=journal.student.id).exists():
print('4a')
hw = int(CourseMap.objects.get(
homework=HomeworkTry.objects.filter(parent__parent__parent=journal).order_by('id').last().material).sort)
print(hw)
for i in LessonJ.objects.filter(parent__parent=journal):
if int(CourseMap.objects.get(lesson=i.material).sort) > hw:
i.date = None
i.f_date = None
i.success = False
i.save()
else:
try:
i.saw_this()
except Exception as e:
print(e)
print(i)
for ct in CourseThemeJ.objects.filter(parent=journal):
if LessonJ.objects.filter(parent=ct).count() == LessonJ.objects.filter(parent=ct, date=None).count():
ct.date = None
ct.save()
print(5)
#for i in HomeworkJ.objects.filter(f_date=None).exclude(date=None):
# i.open_next()

@ -1,28 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from __migrate.post_fixtures import show_progress
from journals.models import HomeworkJ, LessonJ, TeacherJ
from access.models import User
from courses.models import Course
_now = 0
big_len = TeacherJ.objects.all().count()
show_progress(big_len, _now)
for journal in TeacherJ.objects.all():
for hj in HomeworkJ.objects.filter(student=journal.student):
if hj.get_status_flag() != 'N':
for lj in LessonJ.objects.filter(student=journal.student, material__theme=hj.material.theme):
lj.saw_this()
_now += 1
show_progress(big_len, _now)

@ -1,8 +0,0 @@
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()

@ -1,9 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()

@ -1,26 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import TeacherJ, CourseThemeJ, LessonJ, ExamJ, HomeworkJ
for i in TeacherJ.objects.all():
if i.waiting.exists():
for n in i.waiting.all():
obj = n.get_obj()
if n._type == 'L':
mj = LessonJ.objects.get(material=obj, student=i.student)
elif n._type == 'H':
mj = HomeworkJ.objects.get(material=obj, student=i.student)
elif n._type == 'E':
mj = ExamJ.objects.get(material=obj, student=i.student)
cj = CourseThemeJ.objects.get(student=i.student, material=obj.theme)
if cj.get_status_flag() == 'N' or mj.get_status_flag() != 'N':
i.waiting.remove(n)

@ -1,27 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from finance.models import Price
from lms.tools import show_progress
all = Price.objects.filter(by_time=0, post_fire=0).count()
print('Количество услуг на проверку: %s' % all)
n = 0
for i in Price.objects.filter(by_time=0, post_fire=0):
i.check_points()
show_progress(all, n)
n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish-start).seconds)

@ -1,41 +0,0 @@
from __future__ import print_function
import datetime
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from journals.models import ExamTry, HomeworkTry
def check_robo_prep():
teacher = User.objects.get(email='t@lms.ru')
handler = []
for journal in HomeworkTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by('date'):
if journal.parent.get_status_flag not in ['N', 'F']:
handler.append(journal)
for journal in ExamTry.objects.filter(teacher=teacher, f_date=None).exclude(success=True, date=None).order_by('date'):
if journal.parent.get_status_flag not in ['N', 'F']:
handler.append(journal)
print(handler)
for _tr in handler:
for _cm in _tr.comments.all():
s = False
print(_cm.text)
if 'GO_TO_SUCCESS' in _cm.text:
_tr.success = True
_tr.f_date = datetime.datetime.now()
s = True
elif 'GO_TO_FAIL' in _cm.text:
_tr.f_date = datetime.datetime.now()
s = True
if s:
_tr.save()
check_robo_prep()

@ -1,24 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
# Переназначение перподавателя
from journals.models import TeacherJ, HomeworkJ, HomeworkTry
from access.models import User
old = User.objects.get(id=1324)
for tj in TeacherJ.objects.filter(teacher=old).exclude(student=None):
if not (tj.student.is_admin and tj.student.is_staff):
print(tj.id)
tj.teacher = None
tj.save()
ht = tj.get_current_ht()
hw = tj.get_last_hw()
hw.teacher=None
hw.save()
ht.teacher=None
ht.save()
print(ht.teacher)

@ -1,31 +0,0 @@
# coding=utf-8
from __future__ import print_function
from __future__ import print_function
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from storage.models import Storage, CroppedImage
errors = []
for store in Storage.objects.all():
# Проверить original, f_format.icon
obj = (store.original.path if store.original else '',
store.f_format.icon.path if store.f_format and store.f_format.icon else '')
for i in obj:
if i and not os.path.exists(i):
print('Storage: {0}'.format(store.id))
#print 'Ошибки файлов: {0}'.format(len(errors))
for store in CroppedImage.objects.all():
# croppedimage.big, croppedimage.middle, croppedimage.small
obj = (store.big.path if store.big else '',
store.middle.path if store.middle else '',
store.small.path if store.small else '')
for i in obj:
if i and not os.path.exists(i):
print('CroppedImage: {0}'.format(store.id))
#print 'Ошибки файлов: {0}'.format(len(errors))

@ -1,24 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import TeacherJ, ExamJ, HomeworkJ, LessonJ
for journal in TeacherJ.objects.all():
if journal.waiting.exists():
for i in journal.waiting.all():
j = None
_type, _map = i.get_next()
if _type == 'L':
j = LessonJ.objects.filter(material=_map, student=journal.student)
elif _type == 'H':
j = HomeworkJ.objects.filter(material=_map, student=journal.student)
elif _type == 'E':
j = ExamJ.objects.filter(material=_map, student=journal.student)
if j and j.first().get_status_flag() == 'N':
journal.waiting.remove(i)

@ -1,56 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import Comment, gen_comment_token
from lms.tools import show_progress
all = Comment.objects.all().count()
print('Количество точек на проверку: %s' % all)
n = 0
exclude = ['[size=100]', '[/size]', '[size=150]', '[/font]', '[table]', '[/table]',
'[tr]', '[td]', '[/td]', '[/tr]']
rever = ['[b]', '[i]', '[*]', '[url=', ]
for i in exclude:
rever.append(i)
for comment in Comment.objects.all().order_by('-date'):
s = False
if not comment.token:
comment.token = gen_comment_token(comment)
s = True
bb_text = str(comment.bbtext)
if not bb_text:
r = False
for i in rever:
if i in comment.text:
r = True
if r:
bb_text = comment.text
s = True
for i in exclude:
if i in bb_text:
bb_text = bb_text.replace(i, '')
s = True
if s:
comment.bbtext = bb_text
comment.save()
show_progress(all, n)
n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish-start).seconds)

@ -1,20 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from finance.models import Bill
from access.models import User
from courses.models import Course
result = {}
for user in User.objects.all():
result[user.email] = dict({course.id: False for course in Course.objects.all()})
for bill in Bill.objects.filter(status='F').order_by('date'):
if result[bill.user.email][bill.service.course.id]:
bill.delete()
else:
result[bill.user.email][bill.service.course.id] = True

@ -1,12 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import TeacherJ
for i in TeacherJ.objects.filter(start_date=None):
i.delete()

@ -1,74 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course, CourseTheme, Exam, Homework, Lesson
from journals.models import TeacherJ, CourseThemeJ, LessonJ, HomeworkJ, ExamJ
from access.models import User
from lms.tools import show_progress
def check_this(obj, collection):
if not collection.get(obj.material.id):
collection[obj.material.id] = True
else:
obj.delete()
def check_TJ(_course, _user):
try:
_tj = TeacherJ.objects.get(course=_course, student=_user)
except TeacherJ.DoesNotExist:
return None
except TeacherJ.MultipleObjectsReturned:
_tmp = TeacherJ.objects.filter(course=_course, student=_user).order_by('start_date')
_tj = _tmp[0]
for i in _tmp:
if i != _tj:
i.delete()
return _tj
course_id = sys.argv[1]
_all = User.objects.all().count()
_n = 0
_about_time = []
for _user in User.objects.all(): # todo only course users
_st = datetime.datetime.now()
_course = Course.objects.filter(id=course_id)
_l = dict({i.id: False for i in Lesson.objects.filter(course=_course)})
_h = dict({i.id: False for i in Homework.objects.filter(course=_course)})
_e = dict({i.id: False for i in Exam.objects.filter(course=_course)})
_t = dict({i.id: False for i in CourseTheme.objects.filter(course=_course)})
_tj = check_TJ(_course, _user)
if _tj:
for _cj in CourseThemeJ.objects.filter(parent=_tj):
check_this(_cj, _t)
for _lj in LessonJ.objects.filter(parent__parent=_tj):
check_this(_lj, _l)
for _hj in HomeworkJ.objects.filter(parent__parent=_tj):
check_this(_hj, _h)
for _ej in ExamJ.objects.filter(parent__parent=_tj):
check_this(_ej, _e)
_ft = datetime.datetime.now()
_about_time.append((_ft - _st).microseconds)
_average = (((_all - _n) * (sum(_about_time) / len(_about_time)))/1000000)/60
show_progress(_all, _n, post=' // "Удаление дуближей журналов" // Расчетное оставщееся время Этапа: {0:6.4} мин '.format(_average))
_n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)

@ -1,73 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course, CourseTheme, Exam, Homework, Lesson
from journals.models import TeacherJ, CourseThemeJ, LessonJ, HomeworkJ, ExamJ
from access.models import User
from lms.tools import show_progress
def check_this(obj, collection):
if not collection.get(obj.material.id):
collection[obj.material.id] = True
else:
obj.delete()
def check_TJ(_course, _user):
try:
_tj = TeacherJ.objects.get(course=_course, student=_user)
except TeacherJ.DoesNotExist:
return None
except TeacherJ.MultipleObjectsReturned:
_tmp = TeacherJ.objects.filter(course=_course, student=_user).order_by('start_date')
_tj = _tmp[0]
for i in _tmp:
if i != _tj:
i.delete()
return _tj
_all = User.objects.all().count()
_n = 0
_about_time = []
for _user in User.objects.all():
_st = datetime.datetime.now()
for _course in Course.objects.all():
_l = dict({i.id: False for i in Lesson.objects.filter(course=_course)})
_h = dict({i.id: False for i in Homework.objects.filter(course=_course)})
_e = dict({i.id: False for i in Exam.objects.filter(course=_course)})
_t = dict({i.id: False for i in CourseTheme.objects.filter(course=_course)})
_tj = check_TJ(_course, _user)
if _tj:
for _cj in CourseThemeJ.objects.filter(parent=_tj):
check_this(_cj, _t)
for _lj in LessonJ.objects.filter(parent__parent=_tj):
check_this(_lj, _l)
for _hj in HomeworkJ.objects.filter(parent__parent=_tj):
check_this(_hj, _h)
for _ej in ExamJ.objects.filter(parent__parent=_tj):
check_this(_ej, _e)
_ft = datetime.datetime.now()
_about_time.append((_ft - _st).microseconds)
_average = (((_all - _n) * (sum(_about_time) / len(_about_time)))/1000000)/60
show_progress(_all, _n, post=' // "Удаление дуближей журналов" // Расчетное оставщееся время Этапа: {0:6.4} мин '.format(_average))
_n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)

@ -1,20 +0,0 @@
import os
APPS = ('management', 'storage', 'access', 'courses', 'finance', 'journals', )
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
def main():
#os.system('rm -rf fixtures/')
#os.system('cp -R fixtures_back/ fixtures/')
for i in APPS:
os.chdir(os.path.join(BASE_DIR, i))
os.system('rm -rf *.pyc')
os.system('rm -rf migrations')
os.chdir(os.path.join(BASE_DIR))
#os.system('python manage.py makemigrations {0}'.format(i))
#os.system('python manage.py migrate')
if __name__ == '__main__':
main()

@ -1,106 +0,0 @@
# coding=utf-8
import copy
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User, ActionJ
from journals.models import TeacherJ, CourseThemeJ, AchievementJ, DiplomaJ, ExamTry, HomeworkTry, ExamJ, HomeworkJ, \
LessonJ
from finance.models import Bill
from management.models import Comment
_source = User.objects.get(id=2)
_to = User.objects.get(id=465)
# 1) Скопировать Журнал преподавания
# 2) Журнал тем
# 3) Журнал Уроков
# 4) Журнал ДЗ
# 5) Журнал Экзаменов
# 6) Комментарии
# 7) Журнал Диплома
#Bill.objects.filter(user=_to).delete()
#for bill in Bill.objects.filter(user=_source):
# bill.user = _to
# bill.pk = None
# bill.save()
#TeacherJ.objects.filter(student=_to).delete()
#CourseThemeJ.objects.filter(student=_to).delete()
##ExamJ.objects.filter(student=_to).delete()
#ExamTry.objects.filter(student=_to).delete()
#HomeworkJ.objects.filter(student=_to).delete()
#HomeworkTry.objects.filter(student=_to).delete()
#LessonJ.objects.filter(student=_to).delete()
#for tj in TeacherJ.objects.filter(student=_source):
# to = tj
# tj.student = _to
# tj.pk = None
# tj.save()
# for cj in CourseThemeJ.objects.filter(student=_source, parent=to):
# co = copy.copy(cj)
# cj.student = _to
# cj.parent = tj
# cj.pk = None
# cj.save()
# for lj in LessonJ.objects.filter(student=_source, parent=co):
# lj.student = _to
# lj.parent = cj
# lj.pk = None
# lj.save()
# for ej in ExamJ.objects.filter(student=_source, parent=co):
# eo = copy.copy(ej)
# ej.student = _to
# ej.parent = cj
# ej.pk = None
# ej.save()
# for et in ExamTry.objects.filter(student=_source, parent=eo):
# et.student = _to
# et.parent = ej
# et.pk = None
# et.save()
#for hj in HomeworkJ.objects.filter(student=_source, parent=co):
# ho = copy.copy(hj)
# hj.student = _to
# hj.parent = cj
# hj.pk = None
# hj.save()
# for ht in HomeworkTry.objects.filter(student=_source, parent=ho):
# ht.student = _to
# ht.parent = hj
# ht.pk = None
# ht.save()
AchievementJ.objects.filter(student=_to).delete()
for aj in AchievementJ.objects.filter(student=_source):
aj.student = _to
aj.pk = None
aj.save()
#DiplomaJ.objects.filter(student=_to).delete()
#for dj in DiplomaJ.objects.filter(student=_source):
# dj.student = _to
# dj.gen = False
# dj.key = ''
# dj.pk = None
# dj.save()
#ActionJ.objects.filter(student=_to).delete()
#for aj in ActionJ.objects.filter(student=_source):
# aj.student = _to
# aj.pk = None
# aj.save()

File diff suppressed because one or more lines are too long

@ -1,20 +0,0 @@
# coding=utf-8
import os
import django
import sys
from lms.tools import convert_html_to_bb
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import Comment
errors = []
for comment in Comment.objects.all():
try:
comment.bbtext = convert_html_to_bb(comment.text)
except:
errors.append(comment.id)
else:
comment.save()

@ -1,46 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Diploma, User
from journals.models import DiplomaJ
u = {
'medvedward@mail.ru': {'key': '363 005 072', 'date': '29.07.2015'},
'oss@inbox.com': {'key': '363 005 074', 'date': '24.08.2015'},
'artyomzolotykh@gmail.com': {'key': '363 005 076', 'date': '21.08.2015'},
'susenko_a@ukr.net': {'key': '363 005 077', 'date': '25.08.2015'},
'ebortnikov@mail.ru': {'key': '363 005 078', 'date': '25.08.2015'},
'kovalev.home@mail.ru': {'key': '363 005 079', 'date': '05.10.2015'},
'mahneva-mariya@mail.ru': {'key': '365 005 080', 'date': '23.10.2015'},
'flintl@bk.ru': {'key': '366 005 081', 'date': '26.10.2015'},
'a.michurin1783@mail.ru': {'key': '367 005 082', 'date': '27.10.2015'},
'Vals_0791@mail.ru': {'key': '368 005 083', 'date': '07.12.2015'},
'artyomzykov@gmail.com': {'key': '369 005 084', 'date': '12.01.2016'},
'threed@rsgc.ru': {'key': '370 005 085', 'date': '15.02.2016'},
'walerock@mail.ru': {'key': '371 005 086', 'date': '18.02.2016'},
'garuskin.dima@gmail.com': {'key': '372 005 087', 'date': '30.01.2016'},
'rock_n_vladok@mail.ru': {'key': '373 005 088', 'date': '06.03.2016'},
'anton_semenchuk@rambler.ru': {'key': '374 005 089', 'date': '09.03.2016'},
'orloff.eg@yandex.ru': {'key': '375 005 090', 'date': '11.03.2016'},
'ysenko.mi@gmail.com': {'key': '376 005 091', 'date': '13.03.2016'},
'nadin12233@mail.ru': {'key': '377 005 092', 'date': '13.03.2016'},
'serge-meb@mail.ru': {'key': '378 005 093', 'date': '02.04.2016'}
}
for key, value in u.items():
try:
user = User.objects.get(email=key)
except User.DoesNotExist:
print key
else:
key = int(''.join(value['key'].split(' ')))
date = value['date'].split('.')
DiplomaJ.objects.create(date=datetime.date(int(date[2]), int(date[1]), int(date[0])),
key=key,
student=user,
material=Diploma.objects.get(id=1))

@ -1,25 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from service.models import MailBox
for letter in MailBox.objects.filter(result=''):
letter.result = u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">' \
u'<html>' \
u'<head>' \
u'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' \
u'<title></title>' \
u'</head>' \
u'<body>' \
u'<table width=100%>{0}' \
u'<tr><td style="padding-bottom: 20px;">С уважением,<Br>Точка кода</td></tr>' \
u'<tr><td style="padding-bottom: 20px;"><img src="http://lms.ru/static/img/logo.png"></td></tr>' \
u'</table>' \
u'</body>' \
u'</html>'.format(letter.text)
letter.save()

@ -1,22 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from management.models import ModalTask
from journals.models import TeacherJ
manager = User.objects.get(id=2)
errors = []
task = ModalTask.objects.get(id=29)
for i in TeacherJ.objects.filter(status='W', course__id=16).exclude(student=None):
task.user.add(i.student)
task.save()
print(errors)

@ -1,18 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import ModalStack, Modals
from journals.models import TeacherJ
general_modal = Modals.objects.get(key='JavaWebinar_mini')
for i in TeacherJ.objects.filter(course__id=2):
print '%s: %s' % (i.id, i)
if i.teacher and i.student:
general_modal.create_stack(i.student)

@ -1,28 +0,0 @@
# coding=utf-8
from datetime import datetime, timedelta
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import Modals, ModalStack
from access.models import User
from finance.models import Bill
user = User.objects.get(id=2)
#for bill in Bill.objects.filter(modals_show=False, _type='P'):
# if not bill.start_fire:
# bill.start_fire = bill.finish_date + timedelta(days=bill.service.by_time)
# bill.save()
for bill in Bill.objects.filter(start_fire__lte=datetime.now(), modals_show=False, _type='P'):
for modal in bill.service.modals.all():
modal.create_stack(bill.user)
bill.modals_show = True
print bill
bill.save()

@ -1,38 +0,0 @@
info@sibirix.ru
denisov.s.s@yandex.ru
oleksandrgumeniuk@gmail.com
9990405@gmail.com
uasam@mail.ru
webar4i@gmail.com
vladfedorovich@gmail.com
Gfgaliya@gmail.com
zvetaan@gmail.com
volokos@gmail.com
sp.rusanov@gmail.com
bravo.johnny@yandex.ru
art@amado-id.ru
suonarama@gmail.com
velesart@gmail.com
ceo@pride-m.ru
spinngewebex@gmail.com
lalaviva@yandex.ru
me@flexure.ru
trogatyuk@gmail.com
hello@aokunev.com
krylya@inbox.ru
tiano_taurus747@mail.ru
jaglin@itsoft.ru
994677@mail.ru
rumbeshta@userstory.ru
puponina.irina@gmail.com
zlk.marjana@gmail.com
yana.berezhnaya999@gmail.com
vivi_bvo@mail.ru
lens2002@gmail.com
ohmeinkot@gmail.com
e.poberezhnik@artw.ru
domrachv@gmail.com
Irina.lisofa@gmail.com
natasha.skulskaia@gmail.com
dubnyak404@gmail.com
bez.b.unix@gmail.com

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
ha@brightstudio.ru, gnatovych@gmail.com, anna.trotsina@gmail.com, robert@mokselle.ru, annazayidova@gmail.com, sharapov.nail@gmail.com, art.magomaev@gmail.com, varvarakravchenko@yandex.ru, 9990405@gmail.com, spinngewebex@gmail.com, ilyuha86@gmail.com, kashlatch@gmail.com, kira.yakuhina@gmail.com, juniperland@gmail.com, aknoraz@deloitte.ru, tuning_a@mail.ru, danila.zarechnev@gmail.com, dmitrij.pastushenko@gmail.com, madjaw@mail.ru, lemma.ka@gmail.com, xxnikolayxx@gmail.com, artnebo@gmail.com, 9330733@mail.ru, velesart@gmail.com, abrakadavr@gmail.com, zyabra@gmail.com, a.fomin@escript.ru, art@amado-id.ru, lepon@bk.ru, timur.shulgin@infocraft.ru, zfalevich@gmail.com, sesyunin@realweb.ru, freesleeper@gmail.com, webar4i@gmail.com, marketolog@webelement.ru, dubnyak404@gmail.com, kropev@rarus.ru, snoorge@mail.ru, gotcha10@narod.ru, flyshtein@gmail.com, vladfedorovich@gmail.com, imickaa@gmail.com, sp.rusanov@gmail.com, mtsalka@scnsoft.com, didenko@braind.agency, natasha.skulskaia@gmail.com, admin@portix.ru, gfgaliya@gmail.com, enchervinskaya@gmail.com, redkuk@gmail.com, str-ibz@inbox.ru, temadorokhov@gmail.com, petrichv@gmail.com, dmytriy.suslov@gmail.com, a.dobrian@gmail.com, trjyfel@mail.ru, info@sibirix.ru, ek.design11@gmail.com, waximov@gmail.com, m.chelyadenkov@gmail.com, a.nikiforov@uplab.ru, feyorz@gmail.com, uasam@mail.ru, einzheev@itl.com.kz, o.tibirkova@yandex.ru, denisov.s.s@yandex.ru, dm.medv@gmail.com, gawanna.ru@mail.ru, maksimov.design@gmail.com, bez.b.unix@gmail.com,

@ -1,57 +0,0 @@
o.tibirkova@yandex.ru
alexandersvinin@gmail.com
nikonorov@labizum.ru
timakova@fistashki.org
sharapov.nail@gmail.com
soldakov.p@yandex.ru
ap@ds-p.ru
j.tolkova@yandex.ru
as.plyaskin@gmail.com
person.ira@gmail.com
o.tibirkova@yandex.ru
alexandersvinin@gmail.com
nikonorov@labizum.ru
timakova@fistashki.org
sharapov.nail@gmail.com
soldakov.p@yandex.ru
ap@ds-p.ru
j.tolkova@yandex.ru
as.plyaskin@gmail.com
person.ira@gmail.com
pyshenko@mail.ru
ipev54@mail.ru
r_dauranov@mail.ru
didrojon@gmail.com
vlad_rym@mail.ru
levs01@mail.ru
msvechnikova@mail.ru
obraztsova.che@yandex.ru
uraltux@gmail.com
jsam1989@yandex.ru
van_zoka@mail.ru
grash25@mail.ru
garaeff2006@yandex.ru
ungern@nxt.ru
lubka95@mail.ru
pr-sido@yandex.ru
o.tibirkova@yandex.ru
alexandersvinin@gmail.com
nikonorov@labizum.ru
timakova@fistashki.org
sharapov.nail@gmail.com
soldakov.p@yandex.ru
ap@ds-p.ru
j.tolkova@yandex.ru
as.plyaskin@gmail.com
person.ira@gmail.com
kikna@yandex.ru
j.tolkova@yandex.ru
soldakov.p@yandex.ru
ap@ds-p.ru
as.plyaskin@gmail.com
timakova@fistashki.org
nikonorov@labizum.ru
o.tibirkova@yandex.ru
person.ira@gmail.com
alexandersvinin@gmail.com
sharapov.nail@gmail.com

@ -1,29 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Lesson, Course
for course in Course.objects.all():
print '{0} :{1}'.format(course.id, course)
c = raw_input(u'CHOICE COURSE. 0 - EXIT: ')
try:
course = Course.objects.get(id=c)
except Course.DoesNotExists:
print u'Курс не найден'
else:
for lesson in Lesson.objects.filter(course=course).order_by('token'):
if not lesson.video_id:
print lesson
result = raw_input(u'VIDEO ID VZAAR. 0 - NO CHANGE: ')
print '=============='
if result != 0:
lesson.video_id = result
lesson.video_date = datetime.datetime.now()
lesson.save()

@ -1,15 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Lesson
for lesson in Lesson.objects.exclude(video_id=None):
lesson.video = ''
lesson.save()

@ -1,8 +0,0 @@
def test(a, b=50):
print a
print b
return 1, 2
test(*test(10, 20))
raw_input('1')

@ -1,48 +0,0 @@
gawanna.ru@mail.ru
tim.phey@gmail.com
kittydiz@mail.ru
maksimov.design@gmail.com
katepainter@yandex.ru
sasha_amelina@mail.ru
snoorge@mail.ru
mifwind@gmail.com
artur.saakoff@gmail.com
tagfelix500@gmail.com
svelavs@gmail.com
art@magicdesign.ru
srfedotov@gmail.com
o.tibirkova@yandex.ru
aknoraz@deloitte.ru
sesyunin@realweb.ru
9330733@mail.ru
danila.zarechnev@gmail.com
egor@yugs.ru
goha@kiosov.com
Igorfedorenko@mail.ru
es@vipro.ru
soldakov.p@yandex.ru
702752@gmail.com
shpakova@sebbia.com
taranov@sebbia.com
rusakovevgen@gmail.com
Alexpozdnyakof@gmail.com
korobajr@ya.ru
elizaveta.bandalet@gmail.com
prokosha10@gmail.com
salofoot@fermastudio.ru
info@darneo.ru
kayl24brof@gmail.com
lens2002@gmail.com
d22s@ya.ru
masha49@yandex.ru
biz.trp@gmail.com
alexzarkov@gmail.com
ekde@wide-web.spb.ru
vemelin@gmail.com
va@wearewowagency.com
ad@wearewowagency.com
st.wasp@yandex.ru
albytime@gmail.com
as.plyaskin@gmail.com
trunovaon@gmail.com
lemma.ka@gmail.com

@ -1,23 +0,0 @@
# coding=utf-8
import os
from django.core.files import File
import django
import sys
from django.db.models import Q
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import DiplomaJ
for tm in DiplomaJ.objects.filter(Q(in_image=None)|Q(out_image=None)):
if not tm.out_image or not tm.in_image:
_in, _out = tm.draw_key(*tm.draw_name(*tm.draw_date()))
if _in:
_in = open(_in)
tm.in_image.save(File(_in).name, File(_in), save=True)
if _out:
_out = open(_out)
tm.out_image.save(File(_out).name, File(_out), save=True)

@ -1,31 +0,0 @@
# coding=utf-8
import django
import sys
import datetime
import os
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import CourseThemeJ
from courses.models import CourseTheme
from finance.models import Bill
_themes = {}
for i in CourseTheme.objects.filter(course__id=20):
_themes[i.sort] = 0
for _j in CourseThemeJ.objects.filter(material=i, parent__progress__gt=1, f_date=None,
success=False).exclude(date=None):
if Bill.objects.filter(user=_j.student, status='F', service__course=20).exists():
_themes[i.sort] += 1
_result = 0
for key, value in _themes.items():
_result += value
print('{0}:{1}'.format(key, value))
print(_result)

@ -1,27 +0,0 @@
# coding=utf-8
import hashlib
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from courses.models import Course
from journals.models import TeacherJ
from finance.models import Bill
# Получить список почт тех, кто:
# 1) Отплатил счет по курсу
# 2) Не сдал еще ДЗ
course = Course.objects.get(id=20)
result = open('emails_ux.txt', 'w')
for j in TeacherJ.objects.filter(course=course, teacher=None).exclude(student=None):
if Bill.objects.filter(service__course=course, user=j.student, status='F').exists():
result.write(j.student.email)
result.write(', ')
result.close()

@ -1,17 +0,0 @@
# coding=utf-8
import hashlib
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
result = open('emails_md5.txt', 'w')
for i in User.objects.filter(customer=True):
result.write(hashlib.md5(i.email.encode('utf-8')).hexdigest())
result.write(', ')
result.close()

@ -1,18 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from django.db.models import Q
date = datetime.datetime(2016, 03, 01)
for user in User.objects.filter(Q(last_login__lte=date, is_active=True)|Q(last_login=None, is_active=True)):
print user.email
print User.objects.filter(Q(last_login__lte=date, is_active=True)|Q(last_login=None, is_active=True)).count()

@ -1,49 +0,0 @@
# coding=utf-8
# Получить список файлов папки reports
# Выдать выбор отчета
# Запустить файл
import os
import sys
BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
REPORTS = '/var/www/skillbox/_utils/reports'
class CL:
def __init__(self):
print('# Система отчетов')
print('=======================')
print('Дирректория отчетов: {0}'.format(REPORTS))
self.files = self.get_files_list()
def get_files_list(self):
# Получение рабочих файлов дирректории
__tmp = []
for p, dir, files in os.walk(REPORTS):
for f in files:
if f.endswith('.py') and f != '__init__.py':
__tmp.append(os.path.join(p, f))
return __tmp
def choise_report(self):
# Выбрать отчет
print('Выберите отчет')
_n = 0
for _t in self.files:
print('{0}: {1}'.format(_n, _t))
_n += 1
_ch = input('Ваш выбор: ')
if _ch == '-':
sys.exit(0)
else:
os.system('python {0}'.format(os.path.join(REPORTS, self.files[int(_ch)])))
def main():
CL().choise_report()
print('========')
print('Работа закончена. Удачи.')
if __name__ == '__main__':
main()

@ -1,27 +0,0 @@
# coding=utf-8
import calendar
import datetime
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import get_active_tj_count, HomeworkJ
from courses.models import Course
for course in Course.objects.filter(public=True):
print course.get_title()
for teacher in course.teachers.exclude(email='t@lms.ru'):
print u'{0}: {1}'.format(teacher.get_short_name(), get_active_tj_count(teacher))
print u'================='
for i in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]:
now = datetime.date(2016, i, 1)
print i
print HomeworkJ.objects.filter(date__gte=datetime.datetime(now.year, now.month, 1),
date__lte=datetime.datetime(now.year, now.month, calendar.mdays[i]),
f_date__lte=datetime.datetime(now.year, now.month, calendar.mdays[i]),
f_date__gte=datetime.datetime(now.year, now.month, 1)).count()

@ -1,99 +0,0 @@
vtoryanik@livemaster.ru / 7 Сдано
dmitry.sedov@inbox.ru / 6 Требуется доработка
tonyavec@gmail.com / 6 Проверяется преподавателем
avmakarov@asuproject.ru / 6 Сдано
sites@ukr.net / 5 Сдано
katerina.musinova@gmail.com / 5 Проверяется преподавателем
olya.zp@ya.ru / 5 Проверяется преподавателем
ageewa@gmail.com / 5 Сдано
ogalin@aevrika.ru / 5 Проверяется преподавателем
sahem@mail.ru / 4 Сдано
a@tkachenko.in / 4 Сдано
trunovaon@gmail.com / 4 Требуется доработка
artemzig@gmail.com / 4 Сдано
alpha5@yandex.ru / 4 Сдано
fazeful@gmail.com / 4 Сдано
s.darbaidze@inostudio.com / 4 Проверяется преподавателем
ishulga86@gmail.com / 4 Требуется доработка
y.robocopov@gmail.com / 4 Требуется доработка
egysakova@gmail.com / 4 Сдано
sokdis@gmail.com / 4 Сдано
portnova.ok@yandex.ru / 4 Требуется доработка
tagfelix500@gmail.com / 4 Сдано
ekde@wide-web.spb.ru / 4 Сдано
zvetaan@gmail.com / 3 Проверяется преподавателем
emilekeilbach@gmail.com / 3 Сдано
sanzharsurshanov@gmail.com / 3 Сдано
anton.tmur@gmail.com / 3 Сдано
kira.yakuhina@gmail.com / 3 Требуется доработка
olgarafikova00@mail.ru / 3 Сдано
pavlov@complexsys.ru / 3 Проверяется преподавателем
km@colary.ru / 3 Сдано
annazayidova@gmail.com / 3 Сдано
a@cdnvideo.ru / 3 Проверяется преподавателем
iandrew80@gmail.com / 3 Сдано
whysecondjuly@gmail.com / 3 Сдано
designervs@mail.ru / 3 Сдано
lesiawuss@gmail.com / 3 Требуется доработка
ap@ds-p.ru / 3 Сдано
petrova@ydarnic.ru / 2 Сдано
art@magicdesign.ru / 2 Требуется доработка
sasha_amelina@mail.ru / 2 Сдано
denisbryuhanov@gmail.com / 2 Требуется доработка
info@wbest.ru / 2 Требуется доработка
makspirogov@gmail.com / 2 Сдано
onoffbass@yandex.ru / 2 Сдано
jack@creo.od.ua / 2 Сдано
lemma.ka@gmail.com / 2 Сдано
eco.pun@gmail.com / 2 Требуется доработка
blood4085@inbox.ru / 2 Требуется доработка
tuhachevski@gmail.com / 2 Сдано
dmokichev@gmail.com / 2 Сдано
s.shtukaturka@gmail.com / 2 Сдано
k-pastukhova@yandex.ru / 2 Требуется доработка
imickaa@gmail.com / 2 Требуется доработка
art.magomaev@gmail.com / 2 Сдано
jalalovna@yandex.ru / 2 Требуется доработка
niozuki@mail.ru / 2 Сдано
pavelvch@gmail.com / 2 Проверяется преподавателем
svelavs@gmail.com / 2 Сдано
nik-black-dragon@mail.ru / 2 Сдано
same.tea@gmail.com / 2 Сдано
goha@kiosov.com / 2 Требуется доработка
geiz@yandex.ru / 2 Сдано
captainanch@ya.ru / 2 Проверяется преподавателем
felisarmis@gmail.com / 2 Сдано
elena@citrus-soft.ru / 2 Сдано
polgolovy@gmail.com / 2 Сдано
bravo.johnny@ya.ru / 2 Требуется доработка
alexzarkov@gmail.com / 2 Требуется доработка
baho9208@mail.ru / 2 Требуется доработка
jeneva7@gmail.com / 2 Проверяется преподавателем
artur.saakoff@gmail.com / 1 Сдано
katepainter@yandex.ru / 1 Сдано
ikarp84@gmail.com / 1 Проверяется преподавателем
kronos2k4@gmail.com / 1 Сдано
xnata.d@gmail.com / 1 Сдано
mikhail.a.gusev@gmail.com / 1 Сдано
pavelspetrov@ya.ru / 1 Сдано
strife88@mail.ru / 1 Требуется доработка
alekseyskrobot@gmail.com / 1 Проверяется преподавателем
timur.shulgin@infocraft.ru / 1 Требуется доработка
skovalska@mail.ru / 1 Требуется доработка
pplahov@gmail.com / 1 Сдано
sonicmails@yandex.ru / 1 Сдано
kiselev_s_l@mail.ru / 1 Требуется доработка
zionll@yandex.ru / 1 Проверяется преподавателем
alexpozdnyakof@gmail.com / 1 Требуется доработка
kornblumchen@yandex.ru / 1 Сдано
slavinanm@gmail.com / 1 Требуется доработка
ha@brightstudio.ru / 1 Требуется доработка
mamarinna@yandex.ru / 1 Требуется доработка
kayl24brof@gmail.com / 1 Требуется доработка
gb.gayane@gmail.com / 1 Сдано
es@vipro.ru / 1 Сдано
pobiz@inbox.ru / 1 Требуется доработка
9330733@mail.ru / 1 Требуется доработка
9nkags@gmail.com / 1 Проверяется преподавателем
andrievskiydmitriy@gmail.com / 1 Сдано
denis.kryukov@cyberiada.com / 1 Требуется доработка

@ -1,34 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from django.db.models import Q
from finance.models import Bill
date = datetime.datetime(2016, 03, 01)
count = 0
def get_bills(user):
for i in Bill.objects.filter(user=user, status='F'):
print u'%s: %s' % (i.id, i.get_name())
global count
count += 1
for user in User.objects.filter(is_active=True):
if Bill.objects.filter(user=user, status='F').exists():
print u''
print u'====== %s:%s:%s ' % (user.id, user.email, user.get_short_name())
get_bills(user)
print u'==========='
print u''
print u'==========='
print u'Всего: %s' % count

@ -1,21 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from journals.models import TeacherJ
from courses.models import Course
for course in Course.objects.all():
for user in User.objects.all():
if user.date_joined.year == datetime.date.today().year and user.date_joined.year == datetime.date.today().month and user.date_joined.year == datetime.date.today().day:
journals = TeacherJ.objects.filter(student=user, course=course)
if journals.count() > 1:
journals.last().delete()

@ -1,20 +0,0 @@
import os
lines = list([i.strip() for i in open('users_base.txt').readlines()])
result = []
_exc = ['# 1', '# 2', '# 3', '# 4', '# 5', '# 6', '# 7', '# 8', '# 9', '# 10', '# 11', '# 12', '# 13', '# 14', '# 15',
'# 16', '# 17', '# 18', '# 19', '# Web', '# Java', '# iOS', '# Excel']
for r in range(1, len(lines)):
l = lines[-int(r)]
if l not in result or l in _exc:
result.append(l)
f = open('users_base.txt', 'w')
result.reverse()
for line in result:
line += '\n'
if line in _exc:
line += '\r'
f.write(line)
f.close()

@ -1,173 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course, CourseTheme
from django.core.mail import EmailMessage
from access.models import User
from lms.settings import DEFAULT_FROM_EMAIL
from lms.tools import random_string
from finance.models import Price, Bill
from journals.models import TeacherJ, check_journal, set_opened, CourseThemeJ
sourse = open('users_base.txt').readlines()
seller = User.objects.get(id=2)
_exc = [
'copymi@gmail.com',
'input_chet@rambler.ru',
'smirnovm84@gmail.com',
'appppppple@gmail.com',
'yurinbu@mail.ru',
'zoom-zoom555@mail.ru',
'ulitinigor@yandex.ru',
'kochevnik01@mail.ru',
'adrianobuon@mail.ru',
'allanoy@yandex.ru'
]
_map = {
'# Java': {'obj': Course.objects.get(id=2), 'id': 2, 'user_map': {}, 'teacher': User.objects.get(id=473),
'service': Price.objects.get(id=11)},
'# iOS': {'obj': Course.objects.get(id=3), 'id': 3, 'user_map': {}, 'teacher': User.objects.get(id=17),
'service': Price.objects.get(id=9)},
'# Web': {'obj': Course.objects.get(id=1), 'id': 1, 'user_map': {}, 'teacher': User.objects.get(id=705),
'service': Price.objects.get(id=7)},
'# Excel': {'obj': Course.objects.get(id=4), 'id': 4, 'user_map': {}, 'teacher': User.objects.get(id=22),
'service': Price.objects.get(id=10)}
}
# user_map = {'email', 'fname', 'oname', 'name', 'cur_theme'}
cur_course = None
cur_theme = None
for i in sourse:
l = i.strip()
if l:
if l[0] == '#':
if l in _map:
cur_course = _map[l]
else:
cur_theme = CourseTheme.objects.get(id=l[1:])
else:
_tmp = l.split(';')
_user = _tmp[1].split(' ')
_len = len(_user)
cur_course['user_map'][_tmp[0]] = {
'name': _user[0] if 0 < _len else '',
'fname': _user[1] if 1 < _len else '',
'oname': _user[2] if 2 < _len else '',
'cur_theme': cur_theme,
'teacher': User.objects.get(id=535) if _tmp[0] in _exc else cur_course['teacher']
}
# Создание пользователей
for key, value in _map.items():
print key
cur_course = value['obj']
for user, m in value['user_map'].items():
# Попробовать создать пользователя
_passw = None
_user, c = User.objects.get_or_create(email=user.lower())
if c:
# Если его нет - присвоить пароль и сделать активным
# Присвоить имена
_passw = random_string(length=6).upper()
_user.set_password(_passw)
_user.is_active = True
_user.reg_status = '4'
_user.fname = m['fname']
_user.name = m['name']
_user.oname = m['oname']
_user.save()
# Добавить оплату по требуему курсу
bill, bc = Bill.objects.get_or_create(finish_date=datetime.datetime.now(), user=_user, status='F',
service=value['service'], manager=seller)
# Создать или получить журнал
print _user.id
try:
journal, cj = TeacherJ.objects.get_or_create(student=_user, course=cur_course)
except TeacherJ.MultipleObjectsReturned:
journal = TeacherJ.objects.filter(student=_user, course=cur_course)
journal.last().delete()
journal, cj = TeacherJ.objects.get_or_create(student=_user, course=cur_course)
if cj:
journal.teacher = m['teacher']
journal.save()
# Проверить журнал
check_journal(journal)
# Получить последнюю пройденную тему, если она старше задаваемой - ничего не делать
last_theme = None
for _theme in CourseThemeJ.objects.filter(parent=journal).order_by('material__sort'):
if _theme.get_status_flag() not in 'N':
last_theme = _theme
c3 = False
if last_theme and last_theme.material.sort > 1:
if last_theme.material.sort <= m['cur_theme'].sort:
# Или насильно открыть журнал по заданой теме
set_opened(journal,
CourseThemeJ.objects.get(material=m['cur_theme'], parent=journal).actual_lesson.token)
c3 = True
else:
set_opened(journal, CourseThemeJ.objects.get(material=m['cur_theme'], parent=journal).actual_lesson.token)
c3 = True
if c3:
journal.teacher = m['teacher']
journal.save()
# Если пользователь был создан - отправить одно письмо, если нет, другое
if c:
text = u'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">' \
u'<html>' \
u'<head>' \
u'<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' \
u'<title></title>' \
u'</head>' \
u'<body>' \
u'<table style="background: #00bdff;' \
u'padding: 10px;' \
u'margin: 10px;' \
u'border: 200px solid #00bdff;' \
u'color: #fff;' \
u'width: 400px;">' \
u'<tr><td><img src="http://lms.ru/static/img/na-novuu-platformu.gif"></td></tr>' \
u'<tr><td><br><br>Добрый день!<br>' \
u'Рады сообщить, что нами была разработанна собственная площадка для обучения.<br><br>' \
u'Сейчас мы осуществяем перевод вашего курса.<br><br>' \
u'Ваш доступ:' \
u'<h1>Ссылка на портал: http://lms.ru</h1>' \
u'<h1>Логин: {0}</h1>' \
u'<h1>Пароль: {1}</h1><br>' \
u'Ваш пароль и другую информацию вы сможете поменять их зайдя на платформе в свой профиль.<br><br>' \
u'Инструкция по работе:<br>' \
u'• На главной странице платформы у Вас отображаются все размещенные на ней курсы.<br>' \
u'• Выбитете Ваш курс и нажминте кнопку приступить. <br>' \
u'• Вы попадете на страницу с курсом, у Вас будет автоматически открыт доступ ко всем урокам которые Вы уже успели пройти.<br>' \
u'• К кажой открытой для Вас темы есть кнопка «Открыть лекцию»<br>' \
u'Перейдя по ней, Вы увидите размещенные видео к урокам.<br>' \
u'Для того что бы открылась страницв с домашним занием, отмемтьте урок просмотренным.<br>' \
u'• Во вкладке с домашним заданиям находяться описания работы, файлы для выполнения.<br>' \
u'Ниже на этой странице находиться форма обратной связи через которую можно общаться с преподавателем и направлять задание на проверку.<br>' \
u'• После принятия рабты, селедующий урок открывается автоматически.<br>' \
u'• Оповещение о новых комментариях преподавателя к домашним заданиям так же будут приходить на указанный e-mail.<br>' \
u'• ВАЖНО. Если вы использовали на старой платформе несколько электронных адресов, Пришлите нам на support@lms.ru не используемый email.<br>' \
u'По всем вопросам, связанным с перездом пишите на почту support@lms.ru</td></tr>' \
u'<tr><td style="padding-bottom: 20px;"><br><Br>С уважением,<Br>Точка кода</td></tr>' \
u'<tr><td style="padding-bottom: 20px;text-align:right;"><img src="http://lms.ru/static/img/logowhite.png"></td></tr>' \
u'</table>' \
u'</body>' \
u'</html>'.format(_user.email, _passw)
msg = EmailMessage('Добро пожаловать на новую платформу',
text,
u'ТОЧКА КОДА <{0}>'.format(DEFAULT_FROM_EMAIL), [_user.email])
msg.content_subtype = "html" # Main content is now text/html
msg.send()

@ -1 +0,0 @@
# Прочитать все записи

@ -1,3 +0,0 @@
# Excel
# 18
root@codemy.ru;Сиглаев Сергей

@ -1,751 +0,0 @@
# Excel
# 18
ssiglaev@mail.ru;Сиглаев Сергей
ipev54@mail.ru;Евгений Ипатов
# 36
# 37
Ekaterinageorgievna@ya.ru;Екатерина Рагозина
KomarovaTaty@yandex.ru;Комарова Татьяна Николаевна
# 38
gesko56@mail.ru;Геско Игорь
# 39
pyshenko@mail.ru;Пушенко Сергей
marina.opheim@gmail.com;Marina Opheim
# 40
varavina@bk.ru;Лариса Варавина
oreshko_pn@mail.ru;Орешко Петр Николаевич
# 41
pavel-samocvetov@rambler.ru;Самоцветов Павел
# Java
# 19
elenagum@gmail.com;Elena Gumennikova
koganovsky@yandex.ru;Дмитрий Когановский
d.koganovsky@gmail.com;Дмитрий Когановский
rybkina.ma@gmail.com;Рыбкина Марина
gladiator.maksim1992@mail.ru;Козлов Максим
uzor1@ukr.net;Андрей
baktybekergabyl@gmail.com;Ергабыл Бактыбек
pabls.web@gmail.com;Павел
380734890630@yandex.ru;Обущак Сергей
ipereyma@yandex.ru;igor`
andr.bondaren@gmail.com;Андрей
progres5@yandex.ru;Сергей Зовский
raduga-k-klyuchi@mail.ru;Юлий
vitaliyexplorer7@gmail.com;Виталий
vitr@list.ru;Виталий Иванов
rajnisk@hotmail.com;Людмила
dmitry010581@yandex.ru;Тимофеев Дмитрий
sak_aa@mail.ru;Сак Александр
rapheroes@mail.ru;Корчагин Илья
od_89@mail.ru;Олег
duckart_av@mail.ru;Андрей
dima-sit168@yandex.ru;Дмитрий
klen2277@mail.ru;Евгений Каленов
aleksey.elizaryev@gmail.com;Алексей
c0x1ff6@yahoo.com;Александр
Alexander5454@yandex.ru;Александер Чижиков
msv1108@gmail.com;Станислав
job.76@bk.ru;Сергей Снитко
fan2pr@yandex.ru;Алексей
didrojon@gmail.com;nic
palik777@gmail.com;Pavel Minin
ph.shamsiev@mail.ru;Филипп
yuralet@mail.ru;Юрий
tao981@rambler.ru;Виктор
s_teplom@mail.ru;Екатерина Атаманчук
total100@ya.ru;Валерий
eshudanov@gmail.com;Ержан Шуданов
mihajlovmv@yandex.ru;Михайлов Михаил
manmg87@gmail.com;Дмитрий Гевейлер
valery.remenyuk@rambler.ru;валерий ременюк
ukhin.ag@gmail.com;Ухин Александр
jamil2005.78@mail.ru;зумруд
prusov1987@gmail.com;Андрей
levin_aleksey@mail.ru;Алексей
Roma.Korehov@yandex.ru;Роман Корехов
aav-kerry@mail.ru;Алексей Архипов
v_vyborg@rambler.ru;валерий ременюк
etopist@outlook.com;Александр Забродин
ne-devil@mail.ru;Дмитрий
karakan77@yandex.ru;бахарев сергей
pavel.anix@gmail.com;Токарев Павел Анатольевич
bakeevsa@gmail.com;Станислав Бакеев
remenyuk79@gmial.com;Ременюк Валерий
iterus@rambler.ru;Khogoeva Tatiana
sss-74@bk.ru;Сидоренко Сергей
Abdimalik777@yandex.kz;Абдималик
8student8@gmail.com;Владимир
shevanov@gmail.com;Евгений Шеванов
ekbpotok@gmail.com;Игорь
copymi@gmail.com;Саша
yurinbu@mail.ru;Бушенков Юрий
r_dauranov@mail.ru;Ренат Дауранов
Paa186@mail.ru;Алексей
rabmit@yandex.ru;Ярослав Митин
89091635474@mail.ru;Дудин Андрей
adrianobuon@mail.ru;dmitriy
danikanisa@gmail.com;Давид
allanoy@yandex.ru;Alla
# 20
PREYZON@mail.ru;Кирилл
ponamarev_89@bk.ru;Юрий
Pvlniko@gmail.com;Павел
sergeioff@mail.ru;Сергей Погорелов
Instinct975@gmail.com;Илья
nikulinag@gmail.com;Андрей Никулин
e.b.j_99@mail.ru;Baktybek
supana1976@gmail.com;Павел
ipereyma@yandex.ru;игорь
kvasha.oleg1962@gmail.com;Квашин Олег Леонидович
epolshakova@ya.ru;Екатерина
d.koganovsky@gmail.com;Дмитрий
didrojon@gmail.com;2урок
job.76@bk.ru;Сергей
my.777@mail.ru;Екатерина
dvinnik@yahoo.com;deividas vinnik
vlad_rym@mail.ru;Влад Римский
nils1968@gmail.com;Виктор
an_var@smtp.ru;Вараксин Андрей
maxrusgm@yandex.ru;Максим
dimkut@bk.ru;Кутный Дмитрий
mity282@gmail.com;Макаров Дмитрий
infdev@yandex.ru;Казинская Надежда
yakovbeng@gmail.com;Николай
zulkarnaev_sergei@mail.ru;Сергей
natzero@mail.ru;Головков Сергей
mysample@rambler.ru;Магазеев Александр
igor_kravchenko@live.ru;Игорь
kudriashov.art@yandex.ru;Артемий
chitinski86@gmail.com;Антон
cut-throat2008@yandex.ru;Филипп Кузнецов
ilya_korchagin_90@mail.ru;Корчагин Илья
Kerby@inbox.ru;Андрей
evg2369@yandex.ru;Евгений Похожаев
bele.niente@gmail.com;Светлана Грибанова
input_chet@rambler.ru;Евгений Мосияченко
smirnovm84@gmail.com;Смирнов Михаил Сергеевич
appppppple@gmail.com;Александр
zoom-zoom555@mail.ru;Ирина
wirelines@yandex.ru;Бикчентаев Шамиль
ulitinigor@yandex.ru;Игорь
ivan@mymediagroup.ru;Иван
vetarak@gmail.com;Дмитрий Каратеев
aptem240@mail.ru;Кирпичев Артем
jnss2013ks@gmail.com;Евгения Ступникова
vadmirr@yandex.ru;Вадим Mугинов
artemshchurev@gmail.com;Щурев Артем
w3orks@mail.ru;Станислав
# 21
gordjelin14@gmail.com;Антон
yungamm@yandex.ru;Андрей
iglatypov2010@yandex.ru;Ильнур
all4me4@gmail.com;Александр Петров
kardv@yandex.ru;Владимир Кардашин
ffiirreeffooxx@gmail.com;Иванников Игорь Александрович
alex-bedev@ozero.net;Александр Соколов
phantomx@yandex.ru;Андрей
step1383@gmail.com;Дмитрий Степанов
svettlantik@rambler.ru;Svetlana Telepina
rivo551@rambler.ru;Татьяна
istubb@me.com;Андрей Приходько
4-mi@bk.ru;Андрей
aleks_mihalev@list.ru;Алексей Михалев
mbk_88@mail.ru;Болат
vladejkee@gmail.com;Владислав
stalevs@gmail.com;Станислав
cesc0717@gmail.com;Антон Говоров
asavlukov@maxus.ru;Александр
omegaprime@live.ru;Дмитрий
ushac@mail.ru;Алексей
lena_as_sister@mail.ru;Тюнина Елена
valorml@gmail.com;Вячеслав
albert@gestiv.ru;Альберт
baktybekergabyl@gmail.com;Baktybek
jys.naturoil@yandex.ru;Сабельникова Юлия
at_alex@bk.ru;Алексей
mb2043@yandex.ru;Василий
igrix@mail.ru;Погодин Игорь
klaus_83@mail.ru;Павел Афанасьев
rsbk73@gmail.com;Андрей
palik777@gmail.com;Павел Минин
novosib_2009@mail.ru;Алексей
varaksinandrey@yandex.ru;Андрей
romik1985@gmail.com;Роман
dymov33@ya.ru;Эльмар Мирзабаев
ksd921020@yandex.ru;Сергей
symchuk.andriy@gmail.com;Сымчук Андрей
n-samoilov@mail.ru;Никита
urself2015@yandex.ru;Алексеенко Юрий
zshoo@mail.ru;Заурбек
infiniticiti@gmail.com;Oleg Chernivetsky
e.p.aleksandrov@yandex.ru;Евгений
abulhanof@yandex.kz;Шаукат
levis84@mail.ru;Виктор
kochevnik01@mail.ru;Павел
mara-777@bk.ru;Tamara
algamazov@yandex.ru;Александр Гамазов
a.kyrov@gmail.com;Кыров Андрей
remenyuk79@gmail.com;Ременюк Валерий
mirik49@yandex.ru;Иван Белоусов
yorv@mail.ru;Иван
coldinc@rambler.ru;Иван
alp1@list.ru;Владимир Полинский
ld1995@tut.by;Леонид
midda7@mail.ru;Антон
# 22
la-verne@mail.ru;Иван Фомин
safarov-ar@yandex.ru;Сафаров Алексей Расимович
kimonnick@mail.ru;Александр
madinaxyt@mail.ru;Мадина
iglatypov2010@yandex.ru;Латыпов Ильнур
krrera@mail.ru;Арсен
jackf31@mail.ru;Игорь
alexz1983@mail.ru;Захаров Александр
netbooks@mail.ru;Геннадий
ShoarR@gmail.com;Ульяна Джумок
mad-dimon@mail.ru;Дмитрий
dmitriy.mosolov@gmail.com;Дмитрий Мосолов
pabls@yandex.ru;Павел
sergey@794979.ru;Сергей
Elvis97rus@gmail.com;Артем
cprof777@gmail.com;Алексей Язьков
aeugeniy@gmail.com;Евгений
soft-bi@mail.ru;Сергей
pverbatim@mail.ru;Петр Андреев
alex@titul-spb.ru;Александр Целищев
asavlukov@maxus.ru;Саша
cyberfancool@yandex.ru;Виталий
zamaev.aydrus@yandex.ru;Айдрус
edwd.mkrv@gmail.com;Эдуард Макаров
brmoney@ya.ru;Сергей
# 23
chabakvolodya@gmail.com;Володимир
grandger@mail.ru;Степанов Александр
ma1m2@mail.ru;Светлана Мажайкина
madinaxyt@mail.ru;Мдина
rm7m@mail.ru;Виталий Дорофеев
andrey.poprotsky@gmail.com;Андрей
public-mail@mail.ru;Тураев Константин
diadiasash@mail.ru;Александр
makoron@mail.ru;Евгений Тимофеев
oglekler@gmail.com;Глеклер Ольга
mbr0969@gmail.com;Михаил
nvladislavn@gmail.com;Нечаев Владислав
vilislac@gmail.com;Григорий
alion.dim@yandex.ru;Людмила
mansur.by@gmail.com;Abilmansur
aspushkin2395@gmail.com;Кирилл
Assarkhaddon@gmail.com;Чупов Александр
i.zaria@yandex.ru;Игорь
pushkinan@yandex.ru;Александр
tsarevvs@bk.ru;Владимир
dmitry.mamonov@gmail.com;Дмитрий Мамонов
avduckart@gmail.com;Дукарт Андрей
kgv63@mail.ru;Геннадий
infdev@yandex.ru;Надежда
mail4bsf@gmail.com;Станислав Быльченко
svirepyi@mail.ru;Вадим Измайлов
# 24
texcomvit@gmail.com;Виталий
alekskolr@gmail.com;Алексей
d77dk@mail.ru;Дмитрий
mas.proekt@mail.ru;Маслёнок Андрей
prusove@gmail.com;Евгений
misha41192@mail.ru;Михаил Скафенко
sglvzom@gmail.com;Николай
# 26
malov.alexsander@yandex.ru;Александр
9284330043@mail.ru;Дмитрий
baltport@mail.ru;Илья Агафонов
kaa-work@yandex.ru;Антон
alex.v.andreev@gmail.com;Александр Васильевич Андреев
kutsko.v.v@yandex.ru;Василий
# iOS
# 43
ivan.infbez@yandex.ru;Иван
igor.dyachkov89@gmail.om;Игорь
iyaroslav@yandex.ru;Ярослав
meres28032000@gmail.com;Евгений
malenkaya.grafinya@mail.ru;Mikhaylova Lyubov
# 44
2909763@gmail.com;Михаил Палкин
bayaliev.mar@yandex.ru;Мар
rozental.igor@gmail.com;Игорь Розенталь
for_new_job@bk.ru;Абрамян Сергей
Malkolm063@yandex.ru;Андрей
# 45
mail@greatcoach.ru;Денис
paveldance@mail.ru;павел лонкин
tsomuk@yandex.ru;Никита
bayaliev.mar@yandex.ru;Mar
19871010@mail.ru;Мкртумян Нарек
oleg@pendurov.com;Олег Пендуров
dan98l@mail.ru;Даниил Голубятников
diroy1287@gmail.com;Егор
for_new_job@bk.ru;Сергей Абрамян
zopa_gopa@mail.ru;Ренат
# 46
bogdanofandrey@gmail.com;Андрей
malkolm063@yandex.ru;Андрей
arzt2001@mail.ru;Михаил Смолиговец
stas_shoshkin@rambler.ru;Шошкин Станислав
AnatoliiAndreev19@gmail.com;Анатолий
dmitry@senashenko.ru;Дмитрий Сенашенко
# 47
za-alex@yandex.ru;Алексей
wins00k@gmail.com;Андрей Тищенко
bubnyshev@lanit.ru;Бубнышев Сергей
# 48
o.kubyshkin@gmail.com;Олег
gkrasnoshlyk@gmail.com;Геннадий
asylbekzhardekov@gmail.com;Асылбек
# 50
alexeyra2010@gmail.com;Alexey Redkin
roman@proskurnin.ru;Роман Проскурнин
madjaw@mail.ru;Андрей
rozental.igor@gmail.com;Игорь
skripkin2410@gmail.com;Дмитрий
# 51
artbataev@gmail.com;Владимир
nns7@inbox.ru;Nikolay
# Web
# 1
jeged22@gmail.com;Виталий
secalol@gmail.com;ТЕСТ
8wicx@msgos.com;testJC
vlyagusha@justclick.ru;Вячеслав
dvsvaran@mail.ru;Виталий
mainfilter@ya.ru;Сергей
polkovnik51@vail.ru;Владимир
nivshina@mail.ru;Анастасия Ившина
aksay_sayt@mail.ru;Татьяна Велмакина
nserogoskaya@bk.ru;Серогодская Н.
nestetion@ya.ru;Анастасия
afeldus@mail.ru;Anatoly Feldman
test@test.ru;тест
alexeidavljatov3@mail.ru;алексей
kazzak2008@rambler.ru;задание №1 Алексей Казаков
alvk3@yandex.ru;Алексей Кочанов
vgric@mail.ru;Виктория Гриценко
opti72@ukr.net;Александр
deltaz1@mail.ru;Николай Матюшов
mari.kravchuk78@mail.ru;Мария Кравчук
apishvanov@gmail.com;Александр Пишванов
233868@gmail.com;Николай
yoga@satvasamui.com;Черемикин Александр
edwardb@ngs.ru;Эдуцард Бурлаков
vip.alex113@mail.ru;Александр Андросов
vre@mail.ru;Kalinin
aivis@ukr.net;Щербаков Роман
nadvas0910@gmail.com;Nadezda
teamaks@mail.ru;Maksym
tyapushkina1976@gmail.com;Светлана
dmn@isida.com.ru;Димитрий Милакин
sadness.sv@gmail.com;Vyacheslav
d6232@bugmir.net;Дмитрий Теслюк
Gralle@yandex.ru;Инна Овчинникова
yusupowa.alfia2017@yandex.ru;Альфия Юсупова
homevent@gmail.com;Константин Черепанов
skop.1984@mail.ru;Юлия
ekarniymamay@mil.ru;Анастасия
p_orlov@list.ru;Pavel Orlov
tehfoxen@yandex.ru;Алехина Татьяна
sveta250694@mail.ru;Светлана Спорынина
shevchuka@gmail.com;Алексей
zhuklevich87@gmail.com;Stanislav Zhuklevich
karpov.g777@mail.ru;Карпов Евгений
gnk413666@yandex.ru;Алексей Щукин
a.rassmagin@mail.ru;Алексей
pyosha@yandex.ru;Коваленко Наталья
adik69@list.ru;Алексанр Адеев
# 2
gotcha10@yandex.ru;Андрей
saliq.ilshat@gmail.com;Ильшат
gyrka@yandex.ru;Андрей Гирка
evgwar@yandex.ru;Евгений
veneta83@inbox.ru;Венета
optimizup@yandex.ru;Роман Марков
alexeidavljatov3@mail.ru;алексей давлятов
kazzak2008@rambler.ru;задание №2 Алексей Казаков
unitbox@mail.ru;Бобух Эдуард
martaw75@mail.ru;Мартыненко Анна
k.erofeew@gmail.com;Кирилл Ерофеев
ksenija.petriv@gmail.com;Ksenia
belokrylov.al@mail.ru;Алексей
strekozec12@gmail.com;Алексей
ua67850@yandex.ru;алексей
Ft_inferno@mail.ru;Евгений
Umi-chan_1992@mail.ru;Марина Куксова
vanologvin@gmail.com;Иван
sirius1991dav_asa@mail.ru;Анастасия Дойникова
akaymanov@yandex.ru;Андрей Кайманов
ghoul666@gmail.com;Дмитрий Алексеенко
# 3
MAXYTA22@yandex.ru;Ирина
yandexru@icloud.com;Олег
lexinfox@mail.ru;Алексей Анциферов
denis3753@yandex.ru;Денис
kazzak2008@rambler.ru;задание №3 Алексей Казаков
mikhail_efimov@mail.ru;Михаил Ефимов
insait07@mail.ru;Багаутдинов Сергей
igorkudenko1@gmail.com;Игорь Куденко
bb-klub@mail.ru;Алексей Федотов
aleksandr-a-2014@mail.ru;Алексей Федотов
maruta-danil@mail.ru;Марута Даниил
otdeda@gmail.com;Федор Усков
lev0315@mail.ru;Лев Каменев
dsolomennikova@gmail.com;Daria Solomennikova
# 4
lanarich@mail.ru;Касьянова Руслана
strategybz@mail.ru;Александр
kazzak2008@rambler.ru;задание №4 Алексей Казаков
a.v.kurlovich@gmail.com;Александр
hotmustang@mail.ru;Лебедь Алексей
sovalianna@gmail.com;Natalia Nosanova
mislavsky@yandex.ru;Максим Миславский
adrinalin17@yandex.ru;Сергей
trippleyes@gmail.com;Roman Izotov
sj22@ya.ru;Ольга Белова
Alexander97@inbox.ru;Александр
elena_polyakova84@mail.ru;Полякова Елена
nagval07@mail.ru;Сергей
# 5
bestway305@yandex.ru;Артур
obraztsova.che@yandex.ru;Екатерина
filchenkov.dima@mail.ru;Дмитрий
wkmstr@mail.ru;Мераб
olgeraski@gmail.com;Ольга Гераськина
skorshuns@mail.ru;Сергей
vorona_1992@bk.ru;Валерия
0964600@gmail.com;Oksana Popova
servaredecaelo@gmail.com;Алина Гайбель
t.natalia_66@mail.ru;Мади
vikraokna@gmail.com;Дмитрий
a05@list.ru;Углев Владимир
vlg81@mail.ru;Галашев Вадим
manamaha@mail.ru;Николай Дёров
tusrb@mail.ru;Тарасов Иван Григорьевич
gnatenko.pavel@gmail.com;Павел Гнатенко
Serenya21@yandex.ru;Сергей
o.lif@gmx.de;Olena Lif
kazzak2008@rambler.ru;задание №5 Алексей Казаков
nabelka@ya.ru;Ната
o.gricenko@yandex.ru;Олег
alpe@b2bresearch.com;Александр Петросян
79296628851@yandex.ru;Дмитрий
creps92@yandex.ru;Максим Гамаюнов
vitaliy.a.2015@mail.ru;Виталий Анищенко
videograf2007@yandex.ru;Андрей
web-school-voicehovich@yandex.ru;Михаил Войцехович
tyapushkina1976@gmail.com;Светлана Cмирнова
Ddinamit.i@gmail.com;Илья Облогин
yusupova.alfia2014@yandex.ru;Альфия Юсупова
evgenia_litvina@mail.ru;Евгения Литвина
npg2009@rambler.ru;Павло Галамейко
julia210384otto@yandex.ru;Юлия Ванина
# 6
igorevich70@gmail.com;Игорь
alberto.man@mail.ru;Альберт
espoirquebec@gmail.com;Мария Кравчук
d.work2011@yandex.ru;Светлана
indrs@rambler.ru;Сергей
VIP-Dantist@yandex.ru;Вячеслав
vufer@inbox.ru;Сурен Вердиян
acvyatin@mail.ru;Александр
pavel.bosko@gmail.com;Павел
carrera91167@inbox.ru;Елена
otik_kurdgelia@mail.ru;инна
markovskaya_88@mail.ru;Наталья
rorbah91@yandex.ru;Рорбах Олег
nestetion@yandex.ru;Анастасия
Kasyan12@mail.ru;Касьянов Александр
undead.koroleva2012@yandex.ru;Юлия
uvladz@gmail.com;Влад Ущаповский
deniskhig@yandex.ru;Денис
avkan@meta.ua;Андрей Кандыба
dine77e@gmail.com;Роман
romanov.hk@gmail.com;Илья
kazzak2008@rambler.ru;задание №6 Алексей Казаков
anik4366@mail.ru;Анна Борисенко
fom_iv@list.ru;Игорь Фоменко
gak.anya@mail.ru;Ашатhttp://payment.mokselle.ru/training/file/t0vxFP7PL88KC7I50Ij7cROqIuF47J4l/
katerium@mail.ru;Екатерина
barchakov@gmail.com;Берс
elabuga-dar@yandex.ru;Ольга Шапоренко
konstantinov2006@yandex.ru;Константинов Евгений
elgus2007@yandex.ru;Гусельников Сергей
stacyinner@gmail.com;Анастасия Сергейчук
ansierra@mail.ru;Анна Губарева
ivan_smelkov@mail.ru;Иван
ahnuria@mail.ru;Нурия
edwardb@ngs.ru;Эдуард Бурлаков
kvon@list.ru;Ольга Колодкина
baigulova.indira@bk.ru;Индира Байгулова
codemaster74@mail.ru;Марат Абдуллин
naurale@yandex.ru;Илья
kvn0910@yandex.ru;Nadezda
idval@imedia.ru;Валерий
lapinanatalya@mail.ru;Наталья
vktmb@mail.ru;Валерий Каныгин
harleyhp@mail.ru;Александр
olypash-alians@yandex.ru;Ольга Пашкова
# 7
pugachiov.serezha@yandex.ru;сергей
danil.kdo1@gmail.com;Даниил
vladsemuk@gmail.com;Владислав
remikont@inbox.ru;Михаил
torgbuk@mail.ru;Hromenko Nikolay
mainfilter@yandex.ru;Сергей
m.b.oper@Gmail.com;Кирилл
sheniachiglazki@gmail.com;Филь Юлия
A.MAILME@YANDEX.RU;Александра Скобелева
9186532244@mail.ru;Кирилл Воронков
s.s.shuvalova@gmail.com;Светлана Шувалова
igor.kiyashchenko@mail.ru;Игорь Киященко
shaspir@mail.ru;Хоха Илья
alxsrtv@gmail.com;Александр
newstas11@mail.ru;Станислав
turist2015@ya.ru;Артем
ks2007a@yandex.ru;Константин
evseev@dubna.ru;Юрий Евсеев
biznice@yandex.ru;Леонид
galapub@ya.ru;Галина Бутенко
artis72@ya.ru;Артем Исаев
petrsushko@mail.ru;Петр Сушко
amberleyley@gmail.com;Софья Прокофьева
vlkuprianov@gmail.com;Владимир Куприянов
akoziy@ya.ru;Андрей Козий
komichok@mail.ru;Андрей Комаров
andreidem4enko@yandex.ru;Демченко Андрей
Germanjuk-artm@rambler.ru;Артём Германюк
# 8
igorevich70@gmail.com;Игорь Чуркин
romankox1973@gmail.com;Роман
a.silyaev@yandex.ru;Анвер Силяев
okonogray@yahoo.com;Олеся Конограй
sekvenseralex@mail.ru;Вдовин Алексей Сергеевич
lrv92@mail.ru;Лукьянов Роман
galkov@mokselle.com;Максим
skostin@mail.ru;Сергей Костин
pashtynov@mail.ru;Дмитрий Паштынов
korovina_natasha@mail.ru;Наталья Коровина
rkrivtsov@gmail.com;Роман Кривцов
gp@bipon.ru;Геннадий
gabeda@yandex.ru;Юлия Габеда
d.tiganov@yandex.ru;Дмитрий Тиганов
sokol-judo92@mail.ru;Кирилл Соколов
bet-ekaterina@mail.ru;Бетина Екатерина
vasiliy.moiseenko.64@mail.ru;Василий Моисеенко
teacoffee@i.ua;Максим
geogrii-cobolev@mail.ru;Юрий Соболев
svtbiz@inbox.ru;Светлана Титова
promenergo.ch@gmail.com;Андрей Медведев
# 9
PhilatovEvgeny@mail.ru;Евгений Филатов
strix1985@mail.ru;Анна
k.rachimov@mail.ru;Кирилл Рахимов
nastusha1995is@gmail.com;Анастасия
IVTsygankov@gmail.com;Иван
bkr1@yandex.ru;Карэн
mobils100@yandex.ru;Максим Сурков
ganin-va@yandex.ru;Василий Ганин
iborzik@gmail.com;Ирина Борзик
romagrog@gmail.com;Роман
regione-2000@ya.ru;Калугина Ольга Анатольевна
megafabr@yandex.ru;Николай Беляев
vladvolod@yandex.ru;Владислав Володин
tsvetkovaai@yandex.ru;Цветкова Анна
qman_2@mail.ru;Василий Вдовин
Dron84@gmail.com;Андрей Шарунов
nikitakozh@ukr.net;Кожевников Никита
polikor-n@yandex.ru;Олег Радаев
euro2@yandex.ru;Александр Блохинов
dron_andr_2007@mail.ru;Анлрей
tatyana.best@list.ru;Татьяна Авдеева
# 10
anton.alyoshin@hotmail.com;Антон Алешин
artem.panteleev@aol.com;Артём
strig_elena@mail.ru;Новикова Елена Владимировна
djsergeykovanin@mail.ru;Кованин Сергей
kviva@yandex.ru;Виктор
Evgeni2007@yandex.ru;Евгений
afonin123@bk.ru;Александр
chel200807@yandex.ru;Анатолий Емельянов
pipopka@bk.ru;Тепляшина Евгения Сергеевна
green2536@yandex.ru;Сергей
dmitriylarin@bk.ru;Дмитрий Ларин
ziv1@yandex.ru;Игорь Золотарев
sheptun_marina@mail.ru;Marina Ovchinnikova
sveta.utemova@bk.ru;Света
ann_posh@rambler.ru;Анна Сысоева
edwardb@mail.ru;Эдуард Бурлаков
valero_sv@mail.ru;Валерий Сорока
artsfabrica@gmail.com;Игорь Донцов
# 11
5001010@bk.ru;Шемет Дмитрий
lexx59@gmail.com;Александр Пленкин
irina.kisik@gmail.com;Ирина
okislyakov@gmail.com;Олег Кисляков
julia_dea@mail.ru;Юлия Белоусова
adastra.m@yandex.ru;Мокрушин Вячеслав
Usov_88@mail.ru;Сергей
lipsuke@mac.com;Дмитрий Фадеев
andrey777@maryno.net;Улякин Андрей Юрьевич
p0v13@mail.ru;Павел Погодин
kindaleks@gmail.com;Алексей
ngpk_lysenko@mail.ru;Виталий Лысенко
anika2006@yandex.ru;Алексей Аникин
zel-mirra@bk.ru;Вадим
office@eskd72.ru;Дмитрий
peters2004@yandex.ru;Соловьёв Пётр
# 12
iguar.k@ya.ru;Игорь Кузнецов
hakimov65@inbox.ru;Ринат
Yuriy1357@mail.ru;Юрий
1ckaz@mail.ru;Асет
felix.80808@mail.ru;Евгений
maks2546@mail.ru;Максим
zefaa@mail.ru;Елена Зинченко
sokol4eg@mail.ru;Михаил Соколов
artur.mandrich.99@mail.ru;Мандрич Артур
yglazy@mail.ru;Юрий
sanzhiku@gmail.com;Sanzhar Urazaliyev
# 13
kira09051987@mail.ru;Гузель
9713943@mail.ru;Леонид
kuznetsovaelena1@mail.ru;Кузнецова Елена
savax@rambler.ru;Дмитрий Савченко
aksay_sayt@mail.ru;Татьяна Вельмакина
vic.bandura@yandex.ru;Виктор Бандура
itshepard57574@gmail.com;Руслан
senior.perfiliew@ya.ru;Иван Перфильев
terraincod@gmail.com;Сергей
galyna.pon@gmail.com;Galina Ponomarenko
polet2107@ya.ru;Вадим
vavilov_alex@mail.ru;alex
# 14
edwantoshin@rambler.ru;Эдуард Антошин
niki-1@yandex.ru;Сачков Денис
igvassor@gmail.com;Игорь Сорокин
2013ekaterina@mail.ru;Олег Ляшенко
sir.oberst@yandex.ru;сергей
khaaan@mail.ru;Алексей
stas_ravskiy-95@mail.ru;Равский Станислав
dmitroff197@yandex.ru;Дмитрий
brolya@bk.ru;Бражинская Ольга
taurus19901@mail.ru;Вячеслав Скрыпник
makr1975@yandex.ru;Максим
oly_armavir@mail.ru;Ольга
j.haustov@gmail.com;Евгений
# 15
oleg.akimov@mail.ru;Олег Акимов
ritaces@inbox.lv;Rita Cevere
nikita-ftf@Mail.ru;Nikita Veselov
mkenes_2@mail.ru;Мадияр
blackrum@yandex.ru;Роман Платонов
polkovnik51@mail.ru;Владимир
xaba578@mail.ru;Хава Куркиева
dontsurrender@ya.ru;Сергей Терехов
ci4rovik@mail.ru;Эдуард Фадеев
2906300@inbox.ru;Ильсур
royline@mail.ru;Шаронова Ольга
Slava666-2008@ya.ru;Вячеслав
host510@mail.ru;Михаил Гостищев
osmusic17@gmail.com;Александр Богданович
utk1@list.ru;Владимир Макеев
faridweb23@gmail.com;Фарид
svmc@ya.ru;Владимир
aamlhv@yandex.ru;Малахов Антон
aselya.bekenova@gmail.com;Асель Бекенова
# 16
mf915@mail.ru;Антон
guipago@mail.ru;Dmitry
profiservic2@yandex.ru;Михаил
zlata.reznickova@yandex.ru;злата резникова
artyomzykov@yandex.ru;Артём
vladimir_glight@mail.ru;Владимир
zev3b@yandex.ru;Евгений Зеленько
Minigalin.nail.M@yandex.ru;Наиль
Dron84@gmail.com;Андрей Шарнуов
# 25
kylych1@yandex.ru;Кылыч
Yoooda1989@mail.ru;Максим Петров
saski@mail.ru;Сергей Малкин
gisstyle@yandex.ru;Анастасия Гофман
belous.maria@gmail.com;Мария
mk@bagur.su;Кирилл Мещерин
riseagain@inbox.ru;Лина
artyomzykov@gmail.com;Артем
ale-xey76@yandex.ru;Алексей
r61boff@mail.ru;Григорий Шевцов
volnov_mv@mail.ru;Максим
ekbregionetrader@gmail.com;Валентин
shelbyblack37@gmail.com;Екатерина
# 59
nikolletss@gmail.com;Марина
bestway305@yandex.ru;Артур Нурахметов
puzach@mail.ru;Пузач Влад
makguseff@yandex.ru;Максим Гусев
vadzimbelsky@rambler.ru;Вадим Бельский
my-post@mail.ru;Татьяна
alvar63@mail.ru;Лариса Варавина
# 17
pertik@list.ru;Александр
ebortnikov@mail.ru;Евгений Бортников
kkvkk@mail.ru;Кирилл
omsterkhova@rambler.ru;Ольга
chiganu@gmail.com;Евгения Гороха
gennadiy1983@ya.ru;Геннадий
tutmos3@yandex.ru;Павел Орловский
artyomzolotykh@gmail.com;Артем
ssprava@ukr.net;Галина Стриженко
dyrnoj@bk.ru;Максим
ob080270@voliacable.com;Олег
marinemaks@yandex.ru;Мария Максимова
kborodavko2009@yandex.ru;Константин Бородавко
blackghost58@mail.ru;Илья
susenko_a@ukr.net;Андрей Сусенко
mahneva-mariya@mail.ru;Мария
a.michurin1783@mail.ru;Артем Мичурин
lcf-84@mail.ru;Сергей Калинкин
flintl@bk.ru;Кулаков Александр
kovalev.home@mail.ru;Владимир Ковалев
alexweb85@yandex.ru;Александр
vmiretskaya@gmail.com;Viktoriia Miretska
irena.kostina@mail.ru;ирина
MAXYTA22@yandex.ru;Максим
bengard@yandex.ru;Наталья
alexatro@yandex.ru;Александра Троянова
walerock@mail.ru;Валерий
www.Rifma@mail.ru;Сергей Мудряков
Vals_0791@mail.ru;Волкова Алиса
ruslan71@bmail.ru;Руслан Мордачев
serzhpodkolzin@yandex.ru;Сергей
webprogrammer77@gmail.com;Прохоров Игорь
hazhaev@gmail.com;Рашид Хажаев
ansserg@yandex.ru;Сергей
klu_lena@list.ru;Елена
serggovs@yandex.ru;Говердовский Сергей
kalina81@list.ru;Анна
donder@yandex.ru;Пастухов Данил
vip.samosadov@mail.ru;Алексей
coop01@mail.ru;Андрей
msp081152@mail.ru;Сергей Малахов
vladislav-avdeev@mail.ru;Владислав
serge-meb@mail.ru;Сергей
nadin12233@mail.ru;Надежда
lysenko.mi@gmail.com;Марк Лысенко
stepanuk1987@yandex.ru;Алексей
rock_n_vladok@mail.ru;Дурин Владислав
threed@rsgc.ru;Дмитрий Панфилов
gamer1648@yandex.ru;Виктор
choodick@gmail.com;Амелин Артем
kostgr@rambler.ru;Константин Гребенюков
vadigoryache@yandex.ru;вадим горячев
kirillrumyantsev1971@gmail.com;Кирилл Румянцев
anton_semenchuk@rambler.ru;Антон
orloff.eg@yandex.ru;Данил
vvuch@ya.ru;Вячеслав Волков
andru_45@list.ru;Андрей
tsubasa@tut.by;Валера
kira.kostenko@gmail.com;Кира Костенко

File diff suppressed because it is too large Load Diff

@ -1,56 +0,0 @@
# coding=utf-8
import datetime
import os
import django
import sys
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Lesson
from lms.tools import show_progress
result = open('lessons_comments_hc.xml', 'w')
result.write('<?xml version="1.0" encoding="UTF-8"?>\n')
result.write('<hc>\n')
all = 0
n = 0
for l in Lesson.objects.all():
all += l.comments.count() if l.comments.exists() else 0
print('Количество комментариев: %s' % all)
for lesson in Lesson.objects.all():
if lesson.comments.exists():
result.write('<post>\n')
result.write('<title>{0} / {1}</title>\n'.format(lesson.course.get_title(), lesson.get_title()))
result.write('<url>http://go.skillbox.ru/courses/lesson/{0}</url>\n'.format(lesson.id))
result.write('<comments>\n')
for comment in lesson.comments.all():
result.write('<comment>\n')
result.write('<id>{0}</id>\n'.format(comment.id))
result.write('<parent_id>{0}</parent_id>\n'.format(comment.parent_id))
result.write('<root_id>{0}</root_id>\n'.format(comment.get_root_id() if comment.get_root_id() else ''))
result.write('<text>{0}</text>\n'.format(comment.get_text()))
result.write('<nick>{0}</nick>\n'.format(comment.owner.get_name()))
result.write('<time>{0}</time>\n'.format(''))
result.write('<ip>{0}</ip>\n'.format(comment.owner.get_ip()))
result.write('<account_id>{0}</account_id>\n'.format(comment.owner.id))
result.write('<topic>{0}</topic>\n'.format('true' if comment.owner.is_admin else 'false'))
result.write('<avatar>{0}</avatar>\n'.format(comment.owner.get_image_url()))
result.write('</comment>\n\n')
show_progress(all, n)
n += 1
result.write('</comments>\n')
result.write('</post>\n')
result.write('</hc>')
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish-start).seconds)

@ -1,42 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course as C
from journals.models import TeacherJ, CourseThemeJ, HomeworkJ, HomeworkTry, LessonJ, ExamTry, ExamJ
from access.models import User
s = User.objects.get(email='alvar63@mail.ru')
c = C.objects.get(id=4)
for ht in HomeworkTry.objects.filter(student__email='varavina@bk.ru', material__course=c):
ht.student = s
ht.save()
for hj in HomeworkJ.objects.filter(student__email='varavina@bk.ru', material__course=c):
hj.student = s
hj.save()
for et in ExamTry.objects.filter(student__email='varavina@bk.ru', material__course=c):
et.student = s
et.save()
for et in ExamJ.objects.filter(student__email='varavina@bk.ru', material__course=c):
et.student = s
et.save()
for et in CourseThemeJ.objects.filter(student__email='varavina@bk.ru', material__course=c):
et.student = s
et.save()
for et in LessonJ.objects.filter(student__email='varavina@bk.ru', material__course=c):
et.student = s
et.save()
tj = TeacherJ.objects.get(student__email='varavina@bk.ru', course=c)
tj.student = s
tj.save()

@ -1 +0,0 @@
{'petrichv@gmail.com', 'skovalska@mail.ru', 'irina_z_z@mail.ru irina.huchak@gmail.com', 'a@tkachenko.in', '146133@gmail.com', 'Flyshtein@gmail.com', 'nik-black-dragon@mail.ru', 'ikey0172@mail.ru', 'gb.gayane@gmail.com', 'andrievskiydmitriy@gmail.com', 'zfalevich@gmail.com', 'nava011235@gmail.com', 'anastasy.petrenko87@gmail.com', 'vd@wearewowagency.com', 'sasha.melbourne@gmail.com', 'bobafas@gmail.com', 'egor@studiofact.ru', 'km@colary.ru', 'einzheev@itl.com.kz', 'zvetaan@gmail.com', 'dmitrij.pastushenko@gmail.com', 'smiley1776@gmail.com', 'ek.design11@gmail.com', 'lepon@bk.ru', 'mtsalka@scnsoft.com', 'baho9208@mail.ru', 's.shtukaturka@gmail.com', 'pobiz@inbox.ru', 'Nikolebedev@mail.ru', 'bershonok@gmail.com', 'waximov@gmail.com', 'dsukhanova@gmail.com', 'kira.yakuhina@gmail.com', 'info@wbest.ru', 'ap@ds-p.ru', 'dinozavrix@gmail.com', 'a.reznichenko@clientlab.ru', 'mmaslennikov@mail.ru', 'ishulga86@gmail.com', 'vovkakunts@gmail.com', 'wRUSha@yandex.ru', 'sanzharsurshanov@gmail.com', 'makspirogov@gmail.com', 'yuri.a.k.design@gmail.com', 'Dmitry.eremin7@gmail.com', 'eco.pun@gmail.com', 'dmytriy.suslov@gmail.com', 'arthur.subbota@gmail.com', 'A.dobrian@gmail.com', 'trjyfel@mail.ru', 'mikhail.a.gusev@gmail.com', 'ilyuha86@gmail.com', 'den.volchkevich@gmail.com', 'i.shymanskyi@gmail.com', 'jalalovna@yandex.ru'}

@ -1,321 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<hc>
<post>
<title>Веб-разработчик / Javascript — знакомство, концепция, логика выполнения скриптов браузером</title>
<url>http://go.skillbox.ru/courses/lesson/6</url>
<comments>
<comment>
<id>1766</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><br />Вот когда Вы говорите одно, а на доске печатается совсем другое (слишком большая задержка от того, когда Вы набираете текст, до того, как он набирается на доске) не очень хорошо. прям взрыв мозга.<br /><br /><br /></text>
<nick>Игорь</nick>
<time></time>
<ip>109.254.49.199</ip>
<account_id>152</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/dad49cb914ac438eb98db95eca7faa81.jpg</avatar>
</comment>
<comment>
<id>1857</id>
<parent_id>4328</parent_id>
<root_id></root_id>
<text><br />Поддерживаю! Крайне не удобно!<br /></text>
<nick>Сергей</nick>
<time></time>
<ip>None</ip>
<account_id>144</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/be41478e389f431a9540c4f99705323d.jpg</avatar>
</comment>
<comment>
<id>2138</id>
<parent_id>4328</parent_id>
<root_id></root_id>
<text><br />И, кажется, что с каждым видео эта задержка всё больше и больше :( Крайне неудобно смотреть<br /></text>
<nick>Ольга</nick>
<time></time>
<ip>94.25.171.19</ip>
<account_id>159</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_iYBxnlP</avatar>
</comment>
<comment>
<id>2301</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><br />Как оказалось,я не один обратил внимание на факт отсутсвия синхронизации текста с изображением.Теряется нить восприятия материала .<br /><br /><br /><br />Может быть было бы лучше,если бы лектор комментировал написание кода на экране,а не наоборот.<br /><br /><br /><br />Полность согласен с авторами сообщений .<br /><br /><br /><br />С уважением ко всем.<br /><br /><br /><br />Леонид Филатов.<br /><br /><br /><br /><br /></text>
<nick>Леонид</nick>
<time></time>
<ip>89.146.80.154</ip>
<account_id>169</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/2f161e7a744b4e7caabfbd2fcc973c13.jpg</avatar>
</comment>
<comment>
<id>2678</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><br />Да логики как-то нет!!!! Получается что тупо читают лекцию... ((((( Ожидал большего. В начале была в лекциях жизнь, интерес... желание... А сейчас как-то это напоминает вебинар, на котором рассказывают обо всем, но не о чем. Хотя где-то и затрагиваться моменты и логика работы скрипта. Я понимаю что нельзя все рассказать за 1,5 часа, но можно было бы тогда хоть материал дать, шпаргалку в которой бы написано было все что надо знать.<br /></text>
<nick>Иван</nick>
<time></time>
<ip>None</ip>
<account_id>177</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/8c596fd013a646d39e50c84f5b940868.jpg</avatar>
</comment>
<comment>
<id>2805</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><br />Очень не удобно просматривать видео , Во первых иногда нет на доске ,о чем говорят. Во вторых очень мелко , Нельзя ли убрать лектора и сделать доску больше.Соглашаюсь с написанным выше.<br /></text>
<nick>Харсан</nick>
<time></time>
<ip>None</ip>
<account_id>140</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/37161c700fae4c9abc05dd04b5ac2da9.jpg</avatar>
</comment>
<comment>
<id>3602</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Я уже писал об этом и после четвёртого урока, и после пятого,&nbsp; но рассинхронизация становится всё хуже и хуже. Что-то понять, когда ты видишь одно, а слышишь совсем другое - это просто взрыв мозга.</p>
<p>Кроме того, не было ни слова сказано о</p>
<ul>
<li>Вопросы кроссбраузерности &ndash; логика введения новых компонентнов Javascript ведущими браузерами</li>
<li>Практическая сторона процесса стандартизации,</li>
</ul>
<p>хотя это было анонсировано в описании урока. Или только я этого не услышал?</p>
</text>
<nick>Михаил</nick>
<time></time>
<ip>None</ip>
<account_id>168</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_NYTYW1A</avatar>
</comment>
<comment>
<id>3841</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>К сожалению, на 30 минуте просто взял и закрыл. и стал смотреть подобные видео уроки на ютубе. Просто невозможно смотреть из-за этого рассинхрона. Очень жаль. Писали выше &quot;Да логики как-то нет!!!! Получается что тупо читают лекцию... ((((( Ожидал большего. В начале была в лекциях жизнь, интерес... желание... А сейчас как-то это напоминает вебинар, на котором рассказывают обо всем, но не о чем. Хотя где-то и затрагиваться моменты и логика работы скрипта. Я понимаю что нельзя все рассказать за 1,5 часа, но можно было бы тогда хоть материал дать, шпаргалку в которой бы написано было все что надо знать.&quot; - полностью с этим согласен :(</p>
</text>
<nick>Кирилл</nick>
<time></time>
<ip>None</ip>
<account_id>244</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/bda12f186fd04a4f9c46106b00e6ec12.jpg</avatar>
</comment>
<comment>
<id>3948</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>- полностью с этим согласен :( s vami siwu В начале была в лекциях жизнь, интерес... желание... А сейчас как-то это напоминает вебинар, на котором рассказывают обо всем, но не о чем.</p>
</text>
<nick>Без имени</nick>
<time></time>
<ip>None</ip>
<account_id>203</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_2lldj1S</avatar>
</comment>
<comment>
<id>4439</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>На многих бесплатных курсах на ютубе и то доходчивее обьясняют и видео от звука не отстаёт:((&nbsp;</p>
</text>
<nick>Роман</nick>
<time></time>
<ip>None</ip>
<account_id>234</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/352052e572e9464fa0bc14a2f3568722.jpg</avatar>
</comment>
<comment>
<id>4593</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Всем привет!</p>
<p>Мне то-же не понравилась рассинхронизация звука и видео, просто монтаж видео делался не программистом :)</p>
<p>Преподаватель дает материал компактно и доходчиво. Мне нравится.</p>
<p>Предлагаю перередактировать видео всего курса с нормальной синхронизацией, убрать <a href="http://ssmaker.ru/af6cd7d1.png" target="_blank">косяки</a> и добавить оптимизацию пространства картинки&nbsp;как на <a href="http://ssmaker.ru/884e4a79.png" target="_blank">рисунке (ссылка)</a>. Готов выполнить.</p>
</text>
<nick>Сергей</nick>
<time></time>
<ip>95.52.232.200</ip>
<account_id>283</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/fd54983362be4a43a76c8ac03e4bbdcb.jpg</avatar>
</comment>
<comment>
<id>5494</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Я просто возмущена тем, что в таком режиме (рассинхронизации) невозможно учиться и что-то вообще понять... А главное, рассказывает преподаватель доходчиво... и очень обидно, что просто кто-то слепил все тяп-ляп, испортив хорошую вещь... А еще - переделать всё это элементарно, имея исходники... Почему ничего не меняется как минимум месяц, судя по первым комментариям?&nbsp; Кто-нибудь кроме недовольных учеников вообще их читает?</p>
</text>
<nick>Анастасия</nick>
<time></time>
<ip>217.118.78.38</ip>
<account_id>324</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_ScyRJWj</avatar>
</comment>
<comment>
<id>5495</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Интересно, а у всех получается повторить, что демонстрируется на лекции, у меня уже на предыдущей и этой лекции некоторые элементы не работают как у лектора. Делал все как и лектор, на прошлом занятии даже сравнивал с &quot;рыбой&quot; присланной к заданию - визуально всё правильно, но у меня, в отличие от &quot;рыбы&quot; не все работает!</p>
</text>
<nick>Сергей</nick>
<time></time>
<ip>None</ip>
<account_id>249</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/2db827adf76f4cbca66e6ee036bf7f0f.jpg</avatar>
</comment>
<comment>
<id>5653</id>
<parent_id>8096</parent_id>
<root_id></root_id>
<text><p>Пару раз за прошлую лекцию он делал опечатки и у него тоже не работало.&nbsp;Потом их поправлял &quot;незаметно&quot;, по ходу рассказа о других вещах. А еще попробуйте пропустить Ваш код через HTML-валидатор, вот этот:&nbsp;<a href="https://validator.w3.org/#validate_by_upload">https://validator.w3.org/#validate_by_upload</a>&nbsp;. Возможно выдаваемые им ошибки подскажут, где Вы ошиблись. А так обычное для программирования дело: опечатки в одной букве, пропущенная точка с запятой и т.п.</p>
</text>
<nick>Вячеслав</nick>
<time></time>
<ip>94.29.71.153</ip>
<account_id>368</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/310119aed6a2495397c7c868ced03ba3.jpg</avatar>
</comment>
<comment>
<id>5654</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>P.S. Если Вы так и не сможете найти почему не работает, попробуйте еще открыть текст в &quot;умном&quot; текстовом редакторе, например Notepad++. Он подсвечивает синтаксис, возможно заметите опечатку или незакрытый тег. Еще есть средства разработчика во &nbsp;всех популярных&nbsp;браузерах, тоже полезны для поиска ошибок.</p>
</text>
<nick>Вячеслав</nick>
<time></time>
<ip>94.29.71.153</ip>
<account_id>368</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/310119aed6a2495397c7c868ced03ba3.jpg</avatar>
</comment>
<comment>
<id>5940</id>
<parent_id>8256</parent_id>
<root_id></root_id>
<text><p>&quot; Потом их поправлял &quot;незаметно&quot;, по ходу рассказа о других вещах. &quot; - тоже подметил. Правильнее,&nbsp;грамотнее и полезнее для новичков было бы, если б лектор указывал на ошибки, опечатки и их исправление, а не делал бы это&nbsp;молча, как бы тайком.&nbsp;</p>
</text>
<nick>Константин</nick>
<time></time>
<ip>5.167.79.248</ip>
<account_id>362</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/65b3123d0c664635af0dfd34599ab803.jpg</avatar>
</comment>
<comment>
<id>6181</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Запись уже невозможно открыть. Может быть на ремонте?</p>
</text>
<nick>ANATOLY</nick>
<time></time>
<ip>None</ip>
<account_id>288</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/8980c1dc14364eba9ef0872384d6200d.jpg</avatar>
</comment>
<comment>
<id>7719</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Вторая часть лекции - очень сумбурная и непонятная. Похоже, что чем сложнее тема - тем хуже объяснение!</p>
<p>Кто-нибудь, кроме студентов, видит, что изображение&nbsp;и&nbsp;речь рассинхронизированы!</p>
<p>С уважением,<br />
D</p>
</text>
<nick>Без имени</nick>
<time></time>
<ip>None</ip>
<account_id>226</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_XClkG9G</avatar>
</comment>
<comment>
<id>8843</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Когда с рассинхроном разберётесь?? Вообще теряется нить повествования. Невозможно так обучаться.</p>
</text>
<nick>Вячеслав</nick>
<time></time>
<ip>None</ip>
<account_id>246</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_q6Pgjib</avatar>
</comment>
<comment>
<id>9236</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Сильно раздражает не соответствие лекции&nbsp;и &quot;рыбы&quot;, а так же отставание экрана. Куда теперь отправлять ДЗ тоже не понятно.Подскажите!</p>
</text>
<nick>Ольга</nick>
<time></time>
<ip>95.153.130.117</ip>
<account_id>522</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru/media/personal_files/076604222a9c424eac05253820d91670.png</avatar>
</comment>
<comment>
<id>9345</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Мое предложение - подать совместную жалобу и запросить возврат средств. Никакой обратной связи, обучаться невозможно изза недостатка информации, услуга оказывается не должным образом. Кто за - пишите whatsapp 79251879198 будем придумывать что делать)</p>
</text>
<nick>Леонид</nick>
<time></time>
<ip>None</ip>
<account_id>794</account_id>
<topic>false</topic>
<avatar>http://go.skillbox.ru//media/ava_f5psFo5</avatar>
</comment>
<comment>
<id>9483</id>
<parent_id>0</parent_id>
<root_id></root_id>
<text><p>Вот люди пишут:&quot;Я понимаю что нельзя все рассказать за 1,5 часа&quot;, а за 50 минут? Лекции становятся все короче и сумбурнее, полностью согласна, что качество услуги никак не соответствует цене.</p>
</text>
<nick>Елизавета</nick>

@ -1,14 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from finance.models import Bill
for bill in Bill.objects.filter(status='F'):
if not bill.user.customer:
bill.user.customer = True
bill.user.save()

@ -1,152 +0,0 @@
# coding=utf-8
import os
import django
import sys
from django.core.files import File
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
import openpyxl
from finance.models import Price
from access.models import User
EXEL_PATH = 'data.xlsx'
USERS = {'point': 'id'}
USERS_P = {}
USERS_E = {}
SERVICES = {'point': 'id'}
BOOK = openpyxl.load_workbook(filename=EXEL_PATH)
SHEET = BOOK.active
def check_exists_row(index):
columns = ['A', 'B', 'C', 'D', 'E', 'F', 'J', 'H', 'I', 'J']
for i in columns:
if SHEET['%s%i' % (i, index)].value:
return True
return False
def get_user_name(id):
result = u''
try:
user = User.objects.get(id=id)
except User.DoesNotExist:
return u'Пользователь не найден'
except ValueError:
return u'Студент'
else:
result = user.get_full_name()
return result
def get_user_email(id):
result = u''
try:
user = User.objects.get(id=id)
except User.DoesNotExist:
return u'Пользователь не найден'
except ValueError:
return u'Студент'
else:
result = user.email
return result
def get_user_phone(id):
result = u''
try:
user = User.objects.get(id=id)
except User.DoesNotExist:
return u'Пользователь не найден'
except ValueError:
return u'Студент'
else:
result = user.get_phone()
return result
def get_service_data(id):
result = u''
try:
service = Price.objects.get(id=id)
except Price.DoesNotExist:
return u'Пользователь не найден'
except ValueError:
return u'Услуга'
else:
result = service.get_name()
return result
#######
def read_users():
i = 1
while check_exists_row(i):
box = 'I%i' % i
USERS[box] = SHEET[box].value
USERS_P['J%s' % i] = USERS[box]
USERS_E['K%s' % i] = USERS[box]
print u'Читаю'
print box
print USERS[box]
i += 1
def read_services():
i = 1
while check_exists_row(i):
box = 'H%i' % i
SERVICES[box] = SHEET[box].value
print u'Читаю'
print box
print SERVICES[box]
i += 1
def write_users():
for box, value in USERS.items():
data = get_user_name(value)
try:
SHEET[box] = data
except openpyxl.utils.exceptions.CellCoordinatesException:
print u'Ошибка'
print u'Пишу'
print box
print data
for box, value in USERS_P.items():
data = get_user_phone(value)
try:
SHEET[box] = data
except openpyxl.utils.exceptions.CellCoordinatesException:
print u'Ошибка'
for box, value in USERS_E.items():
data = get_user_email(value)
try:
SHEET[box] = data
except openpyxl.utils.exceptions.CellCoordinatesException:
print u'Ошибка'
def write_services():
for box, value in SERVICES.items():
data = get_service_data(value)
try:
SHEET[box] = data
except openpyxl.utils.exceptions.CellCoordinatesException:
print u'Ошибка'
print u'Пишу'
print box
print data
read_users()
write_users()
read_services()
write_services()
BOOK.save(EXEL_PATH)

@ -1,67 +0,0 @@
# coding=utf-8
import os
import django
import sys
import simplejson
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from courses.models import Course, CourseTheme, Lesson, Exam, Homework
excludes = ['teachers', 'image', 'big_image', 'token', 'public', 'comments', 'materials', ]
data = simplejson.load(open('courses_dump.json'))
_map = {}
results = []
def get_kwargs(fields):
result = {}
for key, value in fields.items():
print(key, value)
if key not in excludes:
if key in _map:
if type(value) == list:
_result = []
for _tmp in value:
_result.append(_map[key][_tmp])
value = _result
else:
value = _map[key][value] if key in _map else value
result[key] = value
results.append(result)
return result
def add_in_map(model, key, value):
if model not in _map:
_map[model] = {}
_map[model][key] = value
for model in data:
if model['model'] == 'courses.course':
course, c = Course.objects.get_or_create(**(dict(get_kwargs(model['fields']))))
add_in_map('course', model['pk'], course)
elif model['model'] == 'courses.coursetheme':
course, c = CourseTheme.objects.get_or_create(**(dict(get_kwargs(model['fields']))))
add_in_map('theme', model['pk'], course)
elif model['model'] == 'courses.lesson':
course, c = Lesson.objects.get_or_create(**(dict(get_kwargs(model['fields']))))
add_in_map('lesson', model['pk'], course)
elif model['model'] == 'courses.exam':
course, c = Exam.objects.get_or_create(**(dict(get_kwargs(model['fields']))))
add_in_map('exam', model['pk'], course)
elif model['model'] == 'courses.homework':
course, c = Homework.objects.get_or_create(**(dict(get_kwargs(model['fields']))))
add_in_map('homework', model['pk'], course)
print(results)
#print(data[0])

@ -1,55 +0,0 @@
# coding=utf-8
# Загрузить в задачу модального окна пользователей
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import ModalTask
from access.models import User
users = ['artem.kudra@func.ru',
'aaa_rostov@rambler.ru',
'delo@jet-mix.ru',
'artemaminov@gmail.com',
'gresmik@yandex.ru',
'dimpolozkov@gmail.com',
'visualart@mail.ru',
'vr8853@gmail.com',
'makini@ya.ru',
'katyami90@mail.ru',
'rolandvermin@mail.ru',
'9990405@gmail.com',
'andrey732@gmail.com',
'goha@kiosov.com',
'dmitry@shaludin.ru',
'alyans911@mail.ru',
'zkorall@gmail.com',
'me@flexure.ru',
'natazkondra@gmail.com',
'dvb@dextra.ru',
'sherdog@list.ru',
'romagrog@gmail.com',
'a.cherniak@dexme.by',
'cyberspacedee@gmail.com',
'almazzar@gmail.com',
'pavlova-yb@bisys.ru',
'soloveev@yandex.ru',
'asta219@gmail.com',
'allmam@ya.ru',
'civanov@multicharts.com',
'hellonasnas@gmail.com',
'webidea19@gmail.com',
'a@tickets.ai', 'bez.b.unix@gmail.com']
m = ModalTask.objects.get(id=18)
for i in users:
try:
m.user.add(User.objects.get(email=i))
except User.DoesNotExist:
print(i)
m.save()

@ -1,35 +0,0 @@
# coding=utf-8
from __future__ import print_function
from __future__ import print_function
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import ReportDepth as RD, HomeworkJ as HJ, LessonJ as LJ, ExamJ as EJ
from courses.models import CourseMap
for les in LJ.objects.exclude(student=None):
if les.date:
print(les)
RD.objects.get_or_create(token=CourseMap.objects.get(token=les.material.token), student=les.student, course=les.material.course,
s_date=les.date, f_date=les.f_date)
for hw in HJ.objects.exclude(student=None):
if hw.date:
print(hw)
RD.objects.get_or_create(token=CourseMap.objects.get(token=hw.material.token), student=hw.student,
course=hw.material.course,
teacher=hw.teacher,
s_date=hw.date, f_date=hw.f_date)
for ex in EJ.objects.exclude(student=None):
if ex.date:
print(ex)
RD.objects.get_or_create(token=CourseMap.objects.get(token=ex.material.token), student=ex.student,
course=ex.material.course,
teacher=ex.teacher,
s_date=ex.date, f_date=ex.f_date)

@ -1,26 +0,0 @@
bravo.johnny@ya.ru
emilekeilbach@gmail.com
dmitry.sedov@inbox.ru
ivanpokalyuk@gmail.com
mbf23tb@gmail.com
nikonorov@labizum.ru
kuzzzal@gmail.com
y.robocopov@gmail.com
alex.dntv@gmail.com
timakova@fistashki.org
geiz@yandex.ru
alexandersvinin@gmail.com
juniperland@gmail.com
niozuki@mail.ru
sahem@mail.ru
kiselev_s_l@mail.ru
frostoffman@gmail.com
hello@aokunev.com
i.flinn@yandex.ru
alevtina.i.danilova@gmail.com
dsgn.shots@gmail.com
person.ira@gmail.com
leo55506@gmail.com
gausf2@gmail.com
Kornblumchen@yandex.ru
abrakadavr@gmail.com

@ -1,49 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from finance.models import Price, Bill
users ={'kirillcapote@gmail.com', 'skyfallorigin@gmail.com', 'sadovnikoff@yandex.ru', 'grondarrin@gmail.com', 'fkaterina82@mail.ru', 'frtwork@gmail.com', 'yury.matskevich@gmail.com', 'ecoprint@mail.ru', 'yana1330@yandex.ru', 'rivera1985@mail.ru', 'paul.glukhov@gmail.com', 'elena.markina@xpage.ru', 'polinakomolova@gmail.com', 'etartakovskiy@gmail.com', 'p.jakubovskiy@gmail.com', 'malivanov@bk.ru', 'timplay@mail.ru', 'hello.kurban@gmail.com', 'ovm@aplayweb.ru', 'ux.dozer@gmail.com', 'pk.common@gmail.com', 'annapoluektova@yahoo.ca', 'nasti.vv@gmail.com', 'l4bor@protonmail.com', 'bogdashow@gmail.com', 'zhuck182@gmail.com', 'smannic@yandex.ru', 'victoriabutova@gmail.com', 'designprojectt@gmail.com', 'gartibald@gmail.com', 'alimova.lira@ya.ru', 'zaharenkoaleksey@yandex.ru', 'nataliannovgorod@gmail.com', 'kravtsova.kateryna@gmail.com', 'andrerm@ya.ru'}
no_exists = []
no_active = []
no_bill = set()
service = list(Price.objects.filter(course__id=20).values_list('id', flat=True))
for i in users:
try:
user = User.objects.get(email=i)
except User.DoesNotExist:
no_exists.append(i)
else:
if not user.is_active:
no_active.append(i)
else:
if Bill.objects.filter(user=user, service__id__in=service).exists():
for bill in Bill.objects.filter(user=user, service__id__in=service):
if bill and bill.status != 'F':
bill.status = 'F'
bill.save()
print(u'Смена статуса заказа: {0}'.format(bill.id))
else:
no_bill.add(user.email)
print('u===============')
print(u'Не существует:')
print(no_exists)
print('u===============')
print(u'Не активен')
print(no_active)
print('u================')
print(u"Нет счета")
print(no_bill)

@ -1,16 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from management.models import Comment
for comment in Comment.objects.all():
comment.closed = False
comment.save()

@ -1,199 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
sys.path.append("/var/www/skillbox")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import CourseMap, LessonJ, TeacherJ, HomeworkTry
from lms.tools import show_progress
_NEED_OPEN = LessonJ.objects.get(material__id='1154', student__email='parabellum07@gmail.com')
_TEACHERJ_FILTER = {'progress__gte': 0}
_TEACHERJ_EXCLUDE = {'teacher': None}
_READL_FILTER = {'f_date': None}
_READL_EXCLUDE = {'date': None}
_SUCCESSL_FILTER = {'success': True}
_SUCCESSL_EXCLUDE = {'date': None}
def get_all_journals(course_id):
return TeacherJ.objects.filter(**_TEACHERJ_FILTER, course__id=course__id).exclude(**_TEACHERJ_EXCLUDE).order_by('id')
def get_all_journals_count():
return TeacherJ.objects.filter(**_TEACHERJ_FILTER).exclude(**_TEACHERJ_EXCLUDE).count()
def get_last_lessons(__journal):
# Получить последний читаемый уроки и выполненный
_READL_FILTER['student'] = __journal.student
_READL_FILTER['material__course'] = __journal.course
_SUCCESSL_FILTER['student'] = __journal.student
_SUCCESSL_FILTER['material__course'] = __journal.course
return (LessonJ.objects.filter(**_READL_FILTER).exclude(**_READL_EXCLUDE).order_by('id').last(),
LessonJ.objects.filter(**_SUCCESSL_FILTER).exclude(**_SUCCESSL_EXCLUDE).order_by('id').last())
def open_lesson_befor_this(_lessonJ):
# Погружается объект последнего журнала урока
# Получаем все уроки этого журнала
_map = CourseMap.objects.get(lesson=_lessonJ.material)
for i in CourseMap.objects.filter(course=_map.course).exclude(lesson=None):
if i.sort < _map.sort:
try:
_j = LessonJ.objects.get(
material__token=i.token,
student=_lessonJ.student,
material__course=i.course
)
except LessonJ.DoesNotExist as e:
print(e)
else:
check_to_success(_j)
def check_to_access(_journal):
# Проверка материала на доступ в прохождению
_journal.open_material()
def check_to_success(_journal):
# Проверка материала на завершенность
_journal.saw_this()
def check_lesson_after_hw(__journal, _target):
# Проверить - доступны ли уроки до ДЗ со статусом success
# Проверить - доступны ли видео до ДЗ не блокированного или пройденного
_last = HomeworkTry.objects.filter(
student=__journal.student,
material__course=__journal.course
).order_by('id').last()
# Если стутс - success
_candidate = None
if _last:
try:
_candidate = CourseMap.objects.get(
sort=int(CourseMap.objects.get(token=_last.material.token).sort)+1,
course=__journal.course
)
except CourseMap.DoesNotExist:
print('Ошибка получения карты журнала')
else:
# Проверить - доступен ли журнал для чтения
if _candidate.lesson:
__candidate = LessonJ.objects.get(
material__token=_candidate.token,
student=_target.student,
material__course=__journal.course
)
check_to_access(__candidate)
if _candidate and _candidate.lesson and \
int(CourseMap.objects.get(
token=_target.material.token,
course=__journal.course).sort) \
< int(_candidate.sort):
_target = LessonJ.objects.get(
material__token=_candidate.token,
student=_target.student,
material__course=__journal.course)
print('Цель изменена: %s' % _target.material.title)
return _target
def main(course_id):
start = datetime.datetime.now()
_ERRORS = set()
_WARNING = set()
#for i in open('error.log'):
# _ERRORS.add(i.strip())
_GOOD = 0
_now = 0
big = []
if _NEED_OPEN:
open_lesson_befor_this(_NEED_OPEN)
else:
if not _ERRORS:
_journals = get_all_journals(course_id)
_jcount = get_all_journals_count()
print('Количество журналов на проверку: %s' % _jcount)
else:
_journals = list([i for i in TeacherJ.objects.filter(student__email__in=_ERRORS)])
_jcount = len(_journals)
print('Журналы с ошибками: %s' % _jcount)
for __journal in _journals:
_start = datetime.datetime.now()
show_progress(_jcount, _now)
print('\nЖурнал: %s' % __journal.student.email)
try:
read, success = get_last_lessons(__journal)
except Exception as e:
print('!!! Ошибка обработки')
print(e)
if __journal.course.id == 20:
_WARNING.add(__journal.student.email)
_ERROR_MAILS = open('error.log', 'a+')
_ERROR_MAILS.write('%s\n' % __journal.student.email)
_ERROR_MAILS.close()
else:
print('%s // %s' % (read.material.title if read else ' - ', success.material.title if success else ' - '))
if not success and read:
_target = read
elif read and (int(CourseMap.objects.get(lesson=read.material).sort) > int(CourseMap.objects.get(lesson=success.material).sort)):
_target = read
elif success:
_target = success
else:
_target = None
if _target:
open_lesson_befor_this(check_lesson_after_hw(__journal, _target))
_GOOD += 1
_now += 1
_finish = datetime.datetime.now()
_time_result = (_finish - _start).seconds
print('\nTIME: %s seconds' % _time_result)
if int(_time_result) > 1:
big.append(__journal.student.email)
print('Добавлено на проверку')
print('===========\n')
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)
print('Нужно обратить внимание:')
for i in _WARNING:
print(i)
#print('Самые длительные записи:')
#print(big)
if _ERRORS:
if _GOOD == _now:
print('Все ошибки исправлены')
else:
print('Количество ошибок: %s' % int(_now - _GOOD))
if __name__ == '__main__':
course_id = sys.argv[1]
main(course_id)

@ -1,57 +0,0 @@
# coding=utf-8
import datetime
import os
import django
import sys
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from courses.models import Course
from journals.models import TeacherJ, check_journal, CourseThemeJ, LessonJ, HomeworkJ, ExamJ
user = User.objects.get(email='mosru@skillbox.ru')
print(user)
course = Course.objects.get(id=25)
print(course)
journal, created = TeacherJ.objects.get_or_create(course=course, student=user)
print(journal)
while True:
if check_journal(journal):
break
print('Журнал обновлен')
now = datetime.datetime.now()
for journal in CourseThemeJ.objects.filter(parent=journal).order_by('material__sort'):
print(journal)
print('== Обновление темы %s' % journal.material.sort)
for lesson in LessonJ.objects.filter(parent=journal):
print(lesson)
lesson.date = now
lesson.f_date = now
lesson.success = True
lesson.save()
print('==')
for homework in HomeworkJ.objects.filter(parent=journal):
print(homework)
homework.date = now
homework.f_date = now
homework.success = True
homework.save()
print('==')
for exam in ExamJ.objects.filter(parent=journal):
print(exam)
exam.date = now
exam.f_date = now
exam.success = True
exam.save()
print('================')
print('Задача выполнена')

@ -1,198 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import CourseMap, LessonJ, TeacherJ, HomeworkTry
from lms.tools import show_progress
_NEED_OPEN = None#LessonJ.objects.get(material__id='1154', student__email='parabellum07@gmail.com'.lower())
_TEACHERJ_FILTER = {'progress__gte': 0}
_TEACHERJ_EXCLUDE = {'teacher': None}
_READL_FILTER = {'f_date': None}
_READL_EXCLUDE = {'date': None}
_SUCCESSL_FILTER = {'success': True}
_SUCCESSL_EXCLUDE = {'date': None}
def get_all_journals():
return TeacherJ.objects.filter(**_TEACHERJ_FILTER).exclude(**_TEACHERJ_EXCLUDE).order_by('id')
def get_all_journals_count():
return TeacherJ.objects.filter(**_TEACHERJ_FILTER).exclude(**_TEACHERJ_EXCLUDE).count()
def get_last_lessons(__journal):
# Получить последний читаемый уроки и выполненный
_READL_FILTER['student'] = __journal.student
_READL_FILTER['material__course'] = __journal.course
_SUCCESSL_FILTER['student'] = __journal.student
_SUCCESSL_FILTER['material__course'] = __journal.course
return (LessonJ.objects.filter(**_READL_FILTER).exclude(**_READL_EXCLUDE).order_by('id').last(),
LessonJ.objects.filter(**_SUCCESSL_FILTER).exclude(**_SUCCESSL_EXCLUDE).order_by('id').last())
def open_lesson_befor_this(_lessonJ):
# Погружается объект последнего журнала урока
# Получаем все уроки этого журнала
_map = CourseMap.objects.get(lesson=_lessonJ.material)
for i in CourseMap.objects.filter(course=_map.course).exclude(lesson=None):
if i.sort < _map.sort:
try:
_j = LessonJ.objects.get(
material__token=i.token,
student=_lessonJ.student,
material__course=i.course
)
except LessonJ.DoesNotExist as e:
print(e)
else:
check_to_success(_j)
def check_to_access(_journal):
# Проверка материала на доступ в прохождению
_journal.open_material()
def check_to_success(_journal):
# Проверка материала на завершенность
_journal.saw_this()
def check_lesson_after_hw(__journal, _target):
# Проверить - доступны ли уроки до ДЗ со статусом success
# Проверить - доступны ли видео до ДЗ не блокированного или пройденного
_last = HomeworkTry.objects.filter(
student=__journal.student,
material__course=__journal.course
).order_by('id').last()
# Если стутс - success
_candidate = None
if _last:
try:
_candidate = CourseMap.objects.get(
sort=int(CourseMap.objects.get(token=_last.material.token).sort)+1,
course=__journal.course
)
except CourseMap.DoesNotExist:
print('Ошибка получения карты журнала')
else:
# Проверить - доступен ли журнал для чтения
if _candidate.lesson:
__candidate = LessonJ.objects.get(
material__token=_candidate.token,
student=_target.student,
material__course=__journal.course
)
check_to_access(__candidate)
if _candidate and _candidate.lesson and \
int(CourseMap.objects.get(
token=_target.material.token,
course=__journal.course).sort) \
< int(_candidate.sort):
_target = LessonJ.objects.get(
material__token=_candidate.token,
student=_target.student,
material__course=__journal.course)
print('Цель изменена: %s' % _target.material.title)
return _target
def main():
start = datetime.datetime.now()
_ERRORS = set()
_WARNING = set()
#for i in open('error.log'):
# _ERRORS.add(i.strip())
_GOOD = 0
_now = 0
big = []
if _NEED_OPEN:
open_lesson_befor_this(_NEED_OPEN)
else:
if not _ERRORS:
_journals = get_all_journals()
_jcount = get_all_journals_count()
print('Количество журналов на проверку: %s' % _jcount)
else:
_journals = list([i for i in TeacherJ.objects.filter(student__email__in=_ERRORS)])
_jcount = len(_journals)
print('Журналы с ошибками: %s' % _jcount)
for __journal in _journals:
_start = datetime.datetime.now()
show_progress(_jcount, _now)
print('\nЖурнал: %s' % __journal.student.email)
try:
read, success = get_last_lessons(__journal)
except Exception as e:
print('!!! Ошибка обработки')
print(e)
if __journal.course.id == 20:
_WARNING.add(__journal.student.email)
_ERROR_MAILS = open('error.log', 'a+')
_ERROR_MAILS.write('%s\n' % __journal.student.email)
_ERROR_MAILS.close()
else:
print('%s // %s' % (read.material.title if read else ' - ', success.material.title if success else ' - '))
if not success and read:
_target = read
elif read and (int(CourseMap.objects.get(lesson=read.material).sort) > int(CourseMap.objects.get(lesson=success.material).sort)):
_target = read
elif success:
_target = success
else:
_target = None
if _target:
open_lesson_befor_this(check_lesson_after_hw(__journal, _target))
_GOOD += 1
_now += 1
_finish = datetime.datetime.now()
_time_result = (_finish - _start).seconds
print('\nTIME: %s seconds' % _time_result)
if int(_time_result) > 1:
big.append(__journal.student.email)
print('Добавлено на проверку')
print('===========\n')
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish - start).seconds)
print('Нужно обратить внимание:')
for i in _WARNING:
print(i)
#print('Самые длительные записи:')
#print(big)
if _ERRORS:
if _GOOD == _now:
print('Все ошибки исправлены')
else:
print('Количество ошибок: %s' % int(_now - _GOOD))
if __name__ == '__main__':
main()

@ -1,85 +0,0 @@
# coding=utf-8
import os
import datetime
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import HomeworkTry, HomeworkJ
all_ht = set()
def good(tr, comment):
if not tr.success:
tr.success = True
if not tr.f_date:
tr.f_date = comment.date
if not tr.date:
tr.date = comment.date
tr.save()
all_ht.add(tr.id)
tr.comments.add(comment)
def fail(tr, comment):
if tr.success:
tr.success = False
if not tr.f_date:
tr.f_date = comment.date
if not tr.date:
tr.date = comment.date
tr.save()
all_ht.add(tr.id)
tr.comments.add(comment)
def append_comment(tr, comment):
if not tr.date:
tr.date = comment.date
tr.save()
all_ht.add(tr.id)
tr.comments.add(comment)
def get_comments(journal):
comments = {}
for tr in HomeworkTry.objects.filter(parent=journal):
for i in tr.comments.all():
comments[i.date] = i
sort_list = list(comments.keys())
sort_list.sort()
return comments, sort_list
def create_ht(journal):
return HomeworkTry.objects.create(student=journal.student, parent=journal, material=journal.material)
for i in HomeworkJ.objects.all():
comments, sort_list = get_comments(i)
if comments:
ht = create_ht(i)
for n in sort_list:
if not ht: ht = create_ht(i)
if comments[n].owner.in_role == 'T':
if u'Задача принята!' in comments[n].text:
good(ht, comments[n])
elif u'Отправлено на доработку!' in comments[n].text:
fail(ht, comments[n])
ht = None
else:
print comments[n].text
result = raw_input(u'Сдано? Y/N: ')
if result in ['y', 'Y', 'н', 'Н']:
good(ht, comments[n])
elif result in ['n', 'N', 'т', 'Т']:
fail(ht, comments[n])
ht = None
else:
append_comment(ht, comments[n])
HomeworkTry.objects.all().exclude(id__in=all_ht).delete()

@ -1,35 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from django.db.models import Q
from journals.models import TeacherJ, LessonJ, HomeworkJ
from lms.tools import show_progress
all = TeacherJ.objects.exclude(Q(teacher=None)|Q(student=None)).count()
print('Количество журналов на проверку: %s' % all)
n = 0
for tj in TeacherJ.objects.exclude(Q(teacher=None)|Q(student=None)):
if LessonJ.objects.filter(success=True, parent__parent=tj).exclude(date=None).exists():
tj.lesson = LessonJ.objects.filter(success=True, parent__parent=tj).exclude(date=None).order_by('f_date').last().material
else:
tj.lesson = None
if HomeworkJ.objects.filter(success=True, parent__parent=tj).exclude(Q(date=None)|Q(f_date=None)).exists():
tj.homework = HomeworkJ.objects.filter(success=True, parent__parent=tj).exclude(Q(date=None)|Q(f_date=None)).order_by('f_date').last().material
else:
tj.homework = None
tj.save()
show_progress(all, n)
n += 1
finish = datetime.datetime.now()
print('\nTIME: %s seconds' % (finish-start).seconds)

@ -1,29 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/projects/lms/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from finance.models import Price
from courses.models import CourseMap
for price in Price.objects.filter(included=None):
if not price.included.exists():
inc_type = []
if price.m_type == 'B':
inc_type = ['B']
elif price.m_type == 'E':
inc_type = ['B', 'E']
elif price.m_type == 'P':
inc_type = ['B', 'E', 'P']
for m in CourseMap.objects.filter(course=price.course):
if m.get_obj().theme.price_type in inc_type:
price.included.add(m)
l=0
for price in Price.objects.filter(included=None):
l += 1
print l

@ -1,27 +0,0 @@
# coding=utf-8
import os
import django
import sys
import datetime
start = datetime.datetime.now()
sys.path.append("/var/www/projects/codemy/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from journals.models import HomeworkJ
f = open('4.txt')
users = set()
for email in f.readlines():
users.add(email.strip())
result = set()
for user in users:
if HomeworkJ.objects.filter(material__id=83, student__email=user).exclude(f_date=None).exists():
result.add(user)
print(result)

@ -1,16 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
print('## Формирование списка почт всех студентов системы')
from access.models import User
_f = open('all_users', 'w')
for i in {_user.email for _user in User.objects.all()}:
_f.write('%s\n' % i)
_f.close()

@ -1,641 +0,0 @@
uasam@mail.ru
asiri.unholy@gmail.com
alexpallid@gmail.com
vladimirprasoloff@gmail.com
jayalila108@mail.ru
Hlebb@mail.ru
o.tibirkova@yandex.ru
proschebud@gmail.com
blckg0re@gmail.com
hannakulikovast@gmail.com
pavelulitin@fmf.ru
89226890628.sda@gmail.com
annavolkova@at-consulting.ru
appsdao@ya.ru
lampardromanov@yandex.ru
yuri.sablatazh@gmail.com
me@leonidpotapov.com
ilya@iskros.com
kupa0611@gmail.com
smaslenikov@zeptolab.com
Andreysh@zeptolab.com
eugened@zeptolab.com
irinash@zeptolab.com
juliag@zeptolab.com
kaiyoo@yandex.ru
dirubis@gmail.com
Pvashkeba@mail.ru
artem.kudra@func.ru
d.lugansky@gmail.com
Aka@make.st
e.baranova@make.st
anastasiyabd@zeptolab.com
ekaterinasch@zeptolab.com
tanyas@zeptolab.com
ivans@zeptolab.com
egora@zeptolab.com
ipashkov93@yandex.ru
perepelkin.serge@gmail.com
singlegreywolf@mail.ru
cornelldesign@mail.ru
nazarova-evg@yandex.ru
vetldi@gmail.com
andrej.fin@gmail.com
vaynberg.a@gmail.com
axnaf@list.ru
evgeneva@gmail.com
kk.to-art@yandex.ru
markina108@gmail.com
giggslegenda@mail.ru
delo@jet-mix.ru
hellodrw@gmail.com
chaocharly@gmail.com
merabella00@yandex.ru
miragann@gmail.com
rodina-vera@inbox.ru
tingaevva@mail.ru
Kozingleb73@gmail.com
s.zorin@artsofte.ru
zukoznik@mail.ru
shavcat@ya.ru
olga@adt.ru
supreme1609@yandex.ru
artemaminov@gmail.com
azalmazal1@mail.ru
mihail@kucherenko.tel
qq-brand@rambler.ru
nasgul@bk.ru
gresmik@yandex.ru
contrnik@yandex.ru
neo-quake@yandex.ru
sidenkowow@mail.ru
ottomy@bk.ru
j4gg3rnaut@gmail.com
ninon.sh@yandex.ru
d.p.voropay@gmail.com
lllil@yandex.ru
alik.vayner@gmail.com
litazavr@gmail.com
akonovalov108@gmail.com
denis.mazaev@mail.ru
freesleeper@gmail.com
reachi73@ya.ru
dimpolozkov@gmail.com
anton.m.gook@gmail.com
Grondarrin@gmail.com
alexander.samofalov@gmail.com
strekozka_l@mail.ru
mister.ak90@mail.ru
asylov@gmail.com
bebeeper@gmail.com
tteya@mail.ru
el_spirito@bk.ru
bara-bord@yandex.ru
designprojectt@gmail.com
rozzuvaeva@gmail.com
azatdraw@gmail.com
meetstone@yandex.ru
chavrikovev@gmail.com
igor.n.tomko@gmail.com
vr8853@gmail.com
anastasia.lednik@gmail.com
chriswao@gmail.com
ggsurkov@gmail.com
bvdesign@mail.ru
agnosst@gmail.com
hiirinasheveleva@gmail.com
ikarp84@gmail.com
julia.fedyaeva@mail.ru
o.slava@gmail.com
e.vanchugova@ya.ru
tiano_taurus747@mail.ru
mydarlingcat@gmail.com
rozhkovad@gmail.com
gesigner@yandex.ru
ldvmake@gmail.com
deni.ottoy@gmail.com
manzhulov@gmail.com
rolandvermin@mail.ru
web@semiryakov.ru
Enrich-Tov@yandex.ru
deni.ottoy@gmail.com
verbinegor@gmail.com
burunin@gmail.com
jeniagirl@yandex.ru
yakovlev.alex.o@gmail.com
vvooster@gmail.com
mezhina2@gmail.com
onemoreamore@gmail.com
makini@ya.ru
afedyaev@esphere.ru
asuhoverhova@esphere.ru
niker8@yandex-team.ru
polina1304@gmail.com
fenpics@gmail.com
A.Burakov@modulbank.ru
polgolovy@gmail.com
lu-33@yandex.ru
yugofx@gmail.com
nika.galkina20@gmail.com
rufe41@gmail.com
mydarlingcat@gmail.com
starkov.igor@gmail.com
stevgen@gmail.com
kmogutova@mail.ru
k.pavljukov@gmail.com
ermolova_zaya@mail.ru
andrey732@gmail.com
i.k.borisova@gmail.com
FAbramov@expertsolutions.ru
9990405@gmail.com
voron86618@gmail.com
ilushasafin@gmail.com
elshen.hesenov@gmail.com
dmitry@shaludin.ru
y.foot@yandex.ru
konstantinkovrik@yandex.ru
merim.t@mail.ru
dilyaasanova@gmail.com
Daniely@yandex.ru
goryayeva@gmail.com
alyans911@mail.ru
elizavetachernaya@gmail.com
a-cheap@yandex.ru
zkorall@gmail.com
mary@ihome.ru
zonaform@gmail.com
site-911@yandex.ru
ek_8@mail.ru
natazkondra@gmail.com
mail@parfyonov.com
Fridays365@gmail.com
hello.nastasy@gmail.com
missymary@mail.ru
gawanna.ru@mail.ru
nnbsnt@gmail.com
z.ilnurri@gmail.com
tim.phey@gmail.com
alevova@gmail.com
ogalin@aevrika.ru
aytigor@gmail.com
uryukovv@gmail.com
agarzaeva@yandex.ru
kononenko.e.p@gmail.com
aplusp@yandex.ru
ugarova@magora-systems.ru
skoryk.yulia@gmail.com
skorodymov@mail.ru
xnia.nik@gmail.com
yuliyahil@gmail.com
alex@space-o.ru
pae1@europlan.ru
stasya1004@mail.ru
design@spaceapp.ru
alexey.g.demchuk@gmail.com
ovodesign82@gmail.com
nushamenshikova@gmail.com
am@bonoagency.ru
il@bvdp.ru
ss@bvdp.ru
makarichev.aa@gmail.com
kombikovdamir@gmail.com
khakifeva@croc.ru
AParshikov@croc.ru
info@d-element.ru
lesiawuss@gmail.com
iskan153@gmail.com
era.gromov@gmail.com
ya@rl.ru
ysmirnovy@gmail.com
gavrylov88@gmail.com
alexandrshum@gmail.com
raceoffer@ya.ru
yuri.froloff@gmail.com
siv11@mail.ru
vpetrova21@yandex.ru
13malix@gmail.com
execer@mail.ru
itsarenko@gmail.com
segavosegag@gmail.com
kolos.natasha@gmail.com
limosiaya@gmail.com
andrayvelitchko@gmail.com
lina.savenkova@gmail.com
stanislav.vir@gmail.com
lentyaev.m@yandex.ru
artemich92@mail.ru
89169113911@mail.ru
marina.kavetskaya@gmail.com
mobester@gmail.com
fedotov@tyr24.ru
zyabra@gmail.com
todanilin@gmail.com
pplahov@gmail.com
sokwork@gmail.com
kukva@me.com
ilyaa77@mail.ru
krutolapova@mail.ru
alekseyskrobot@gmail.com
godortneo@gmail.com
volkova78@bk.ru
mako731@ya.ru
denisbryuhanov@gmail.com
alexsteptlt@mail.ru
abcdesign1@mail.ru
veronikavick87@gmail.com
jeneva7@gmail.com
as.kretinin@gmail.com
skp_15@mail.ru
k-pastukhova@yandex.ru
onimfa@mail.ru
alla.sukhostavskaya@gmail.com
kirsti-b@yandex.ru
babyas@yandex.ru
kosan81@yandex.ru
beruchie@yandex.ru
petrusevich-vladimir@yandex.ru,
shama2004@bk.ru
alex@hcube.ru
sens11even@gmail.com
fessdew@gmail.com
skorodymov@mail.ru
ageewa@gmail.com
sokolov.maksim92@yandex.ru
shtrudle@yandex.ru
tooob52@gmail.com
sonicmails@yandex.ru
ezavodchikova@me.com
alinarlova@gmail.com
artteq@gmail.com
azazello@inbox.ru
rasulmhk@gmail.com
serglookas@yandex.ru
edgecrasher@gmail.com
a.isakov@ruslink.pro
tuna1706@yandex.ru
jekashohirev@gmail.com
nazarov.design@gmail.com
alpmats@gmail.com
sarosekml@yandex.ru
norkensdrommar@yandex.ru
andrei_gavrilenko@inbox.ru
galadriel2007@mail.ru
protchenkova_dar@mail.ru
dseliverstov@yandex.ru
priymakdmitry@gmail.com
empaher3@yandex.ru
m.chelyadenkov@gmail.com
natfaga@yahoo.de
yakorolevaleksei@yandex.ru
zi_zind@hotmail.com
lileklive@mail.ru
pavelvch@gmail.com
shashnia@gmail.com
nifakt1@gmail.com
andreyy2010@ya.ru
pravo@roskvartal.ru
pervushin@avis-dc.ru
ag@lab.ag
hitzen88@gmail.com
yuriy.chetverikov@gmail.com
atree2010@gmail.com
jamadharma13@gmail.com
spolaspola@gmail.com
ok.msaavedra@gmail.com
Kitt.diz@gmail.com
goto.darya@gmail.com
mbf23tb@gmail.com
letterca@gmail.com
mary@ihome.ru
info@legacystudio.ru
lens2002@gmail.com
susannafeisal6@gmail.com
alexmname@gmail.com
petrichv@gmail.com
dmitrij.pastushenko@gmail.com
juniperland@gmail.com
einzheev@itl.com.kz
j.tolkova@yandex.ru
irina_z_z@mail.ru irina.huchak@gmail.com
a.reznichenko@clientlab.ru
e.taychenachev@gmail.com
waximov@gmail.com
dina@vega.nsk.ru
andrii.dev@gmail.com
vasukhina_av@mail.ru
millie.mk5@gmail.com
goto.darya@gmail.com
vova@vovavova.ru
Loki2d@gmail.com
ilya.tymofeev@gmail.com
alpha5@yandex.ru
Sepeda.rafael@gmail.com
zionll@yandex.ru
strife88@mail.ru
ele-bulavinceva@yandex.ru
jack@creo.od.ua
d.lexand@gmail.com
captainanch@ya.ru
denisgorbunovmsc@gmail.com
goshamanasyan@gmail.com
katerina.musinova@gmail.com
dmokichev@gmail.com
andr@andr.kz
tingmann@gmail.com
romazzz@me.com
egysakova@gmail.com
portnova.ok@yandex.ru
vtoryanik@livemaster.ru
alinazoryna@gmail.com
wellkin@gmail.com
noc-engineer@outlook.com
denis.kryukov@cyberiada.com
tonyavec@gmail.com
artemzig@gmail.com
asvdesign@yandex.ru
1ngeneer@mail.ru
fynart@gmail.com
pnz_08@mail.ru
a@cdnvideo.ru
sokdis@gmail.com
blood4085@inbox.ru
goryayeva@gmail.com
vlkitov@gmail.com
aveelik@gmail.com
lida.pihora@gmail.com
yanchus@mail.ru
olgarafikova00@mail.ru
lena@mura-show.com
wm5soft@gmail.com
torus.andrey@gmail.com
romameteva@azoft.com
dim@gifts.ru
9nkags@gmail.com
iandrew80@gmail.com
irynagillis@gmail.com
evgenia.deg@gmail.com
tarshis.d@gmail.com
art.filkov@gmail.com
connect@me.com
emelyanova.olena@gmail.com
pd4774@yandex.ru
wizzzart@gmail.com
tuhachevski@gmail.com
fazeful@gmail.com
molot877@mail.ru
vklimovs@mail.ru
slavinanm@gmail.com
diems@mail.ru
efomina@msk.vtb.ru
xnata.d@gmail.com
avmakarov@asuproject.ru
corvinun@gmail.com
navelis@mail.ru
glebkost.dev@gmail.com
nicknatochiev@me.com
romagrog@gmail.com
d.letko@articul.ru
batovd@gmail.com
nikolay.stanislavchuk@gmail.com
iamkonev@gmail.com
zaroman1989@gmail.com
cat.kubasova@yandex.ru
same.tea@gmail.com
irina.medyanceva@gmail.com
kattia2592@gmail.com
olya.zp@ya.ru
olgasnbrd@gmail.com
Dhopkins@ya.ru
yulenka26@gmail.com
anton.tmur@gmail.com
egodyston@gmail.com
bel.art@mail.ru
evgeniy@le-de.ru
yakimova.design@gmail.com
olga@le-de.ru
ereshko.igor@gmail.com
tn@bitek.ru
gafurovt@gmail.com
dv@ilab.kz
tahir.muraev@gmail.com
rozhkovad@gmail.com
ypolyakova1@yandex.ru
enjoydezign@gmail.com
nali9@mail.ru
cooryliof@gmail.com
romqa.guard@gmail.com
ksenia.vitkova@gmail.com
dennis.loboda@gmail.com
redkuk@gmail.com
ek.design11@gmail.com
whysecondjuly@gmail.com
deniskondrashov@yahoo.com
ivanpokalyuk@gmail.com
bravo.johnny@ya.ru
me@flexure.ru
i.flinn@yandex.ru
yuzik.74@gmail.com
hello@aokunev.com
polgolovy@gmail.com
b2sty@yandex.ru
mtsalka@scnsoft.com
abrakadavr@gmail.com
info@darneo.ru
dmitry.sedov@inbox.ru
frostoffman@gmail.com
smiley1776@gmail.com
elizaveta.bandalet@gmail.com
alex.dntv@gmail.com
makspirogov@gmail.com
velesart@gmail.com
pavlov@complexsys.ru
ceo@pride-m.ru
spinngewebex@gmail.com
an_b@inbox.ru
ilyuha86@gmail.com
egor@yugs.ru
kashlatch@gmail.com
niozuki@mail.ru
Gnatovych@gmail.com
sahem@mail.ru
zfalevich@gmail.com
lalaviva@yandex.ru
mmaslennikov@mail.ru
info@wbest.ru
arthur.subbota@gmail.com
goha@kiosov.com
Igorfedorenko@mail.ru
annazayidova@gmail.com
es@vipro.ru
km@colary.ru
kiselev_s_l@mail.ru
soldakov.p@yandex.ru
ap@ds-p.ru
702752@gmail.com
shpakova@sebbia.com
skugarov@sebbia.com
taranov@sebbia.com
rusakovevgen@gmail.com
frostoffman@gmail.com
a.khadeko@gmail.com
trogatyuk@gmail.com
Alexpozdnyakof@gmail.com
korobajr@ya.ru
elizaveta.bandalet@gmail.com
prokosha10@gmail.com
s.darbaidze@inostudio.com
zhurakoff@gmail.com
krylya@inbox.ru
146133@gmail.com
sasha.melbourne@gmail.com
hip-hop-org@yandex.ru
jaglin@itsoft.ru
den.volchkevich@gmail.com
yakimov.dmitriy@gmail.com
994677@mail.ru
rumbeshta@userstory.ru
ylkin_list@mail.ru
salofoot@fermastudio.ru
smiley1776@gmail.com
info@darneo.ru
egor@studiofact.ru
alevtina.i.danilova@gmail.com
puponina.irina@gmail.com
yevseev@mail.ru
corpas@gmail.com
nitrohlorid@gmail.com
kayl24brof@gmail.com
skovalska@mail.ru
Dmitry.eremin7@gmail.com
Nikolebedev@mail.ru
ishulga86@gmail.com
bobafas@gmail.com
kalina531345@gmail.com
dsgn.shots@gmail.com
dsukhanova@gmail.com
kizilov.s@gmail.com
zlk.marjana@gmail.com
nava011235@gmail.com
i.shymanskyi@gmail.com
anastasy.petrenko87@gmail.com
dinozavrix@gmail.com
yana.berezhnaya999@gmail.com
person.ira@gmail.com
bershonok@gmail.com
vivi_bvo@mail.ru
ohmeinkot@gmail.com
d22s@ya.ru
masha49@yandex.ru
biz.trp@gmail.com
leo55506@gmail.com
e.poberezhnik@artw.ru
alexzarkov@gmail.com
ekde@wide-web.spb.ru
vemelin@gmail.com
gausf2@gmail.com
vd@wearewowagency.com
va@wearewowagency.com
domrachv@gmail.com
ad@wearewowagency.com
jalalovna@yandex.ru
mohov-g@yandex.ru
st.wasp@yandex.ru
Irina.lisofa@gmail.com
Kornblumchen@yandex.ru
albytime@gmail.com
as.plyaskin@gmail.com
trunovaon@gmail.com
yuri.a.k.design@gmail.com
fkaterina82@mail.ru
natasha.skulskaia@gmail.com
dubnyak404@gmail.com
felixbag@gmail.com
lemma.ka@gmail.com
nikita.nadzharov@gmail.com
Pserook@gmail.com
petrova@ydarnic.ru
sites@ukr.net
nik-black-dragon@mail.ru
m.n.podkopaev@gmail.com
kittydiz@mail.ru
maksimov.design@gmail.com
info@sibirix.ru
denisov.s.s@yandex.ru
oleksandrgumeniuk@gmail.com
alivo4ka1244@yandex.ru
mamarinna@yandex.ru
felisarmis@gmail.com
pavelspetrov@ya.ru
A.dobrian@gmail.com
katepainter@yandex.ru
pobiz@inbox.ru
9990405@gmail.com
vovkakunts@gmail.com
kronos2k4@gmail.com
sasha_amelina@mail.ru
wRUSha@yandex.ru
snoorge@mail.ru
marketolog@webelement.ru
onoffbass@yandex.ru
mifwind@gmail.com
artur.saakoff@gmail.com
emilekeilbach@gmail.com
a@tkachenko.in
str-ibz@inbox.ru
dmitry.sedov@inbox.ru
baho9208@mail.ru
feyorz@gmail.com
alvo_05@mail.ru
tagfelix500@gmail.com
ikey0172@mail.ru
gb.gayane@gmail.com
eco.pun@gmail.com
sanzharsurshanov@gmail.com
webar4i@gmail.com
zvetaan@gmail.com
svelavs@gmail.com
art@magicdesign.ru
kuzzzal@gmail.com
andrievskiydmitriy@gmail.com
pulya7@gmail.com
mikhail.a.gusev@gmail.com
elena@citrus-soft.ru
kropev@rarus.ru
nikonorov@labizum.ru
gulin@labizum.ru
vladfedorovich@gmail.com
Gfgaliya@gmail.com
srfedotov@gmail.com
vinjuli4ka2008@rambler.ru
lepon@bk.ru
y.robocopov@gmail.com
enchervinskaya@gmail.com
volokos@gmail.com
a.nikiforov@uplab.ru
dmytriy.suslov@gmail.com
s.shtukaturka@gmail.com
alex.dntv@gmail.com
timur.shulgin@infocraft.ru
sp.rusanov@gmail.com
timakova@fistashki.org
aknoraz@deloitte.ru
sesyunin@realweb.ru
bravo.johnny@yandex.ru
didenko@braind.agency
art@amado-id.ru
9330733@mail.ru
danila.zarechnev@gmail.com
kira.yakuhina@gmail.com
geiz@yandex.ru
tuning_a@mail.ru
suonarama@gmail.com
ha@brightstudio.ru
alexandersvinin@gmail.com
trjyfel@mail.ru
d.pogodin@itech-group.ru
designervs@mail.ru
smorozov@qsoft.ru
a.reva@qsoft.ru
semashko@yandex.ru
art.magomaev@gmail.com
imickaa@gmail.com

@ -1,34 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
print('## Отчет по распределению слушателей по курсу')
from courses.models import Course, CourseTheme
from finance.models import Bill
from journals.models import TeacherJ, HomeworkJ, CourseThemeJ
_courses = Course.objects.filter(public=True).order_by('id')
for _c in _courses:
print('{0}: {1}'.format(_c.id, _c.get_title()))
_c = input('Выберите курс: ')
_course = Course.objects.get(id=int(_c))
print('======')
print('# Курс: {0}'.format(_course.get_title()))
print('Оплеченых счетов: {0}'.format(Bill.objects.filter(service__course=_course, status='F').count()))
_journals = TeacherJ.objects.filter(course=_course, progress__gt=10).exclude(progress=100)
print('Студентов: {0}'.format(_journals.count()))
print('======')
# Получить количество ДЗ в статусе прохождения
_homeworks = HomeworkJ.objects.filter(f_date=None, parent__parent__in=_journals).exclude(date=None)
print('ДЗ в статусе прохождения: {0}'.format(_homeworks.count()))
for i in CourseTheme.objects.filter(course=_course).order_by('sort'):
print('{0}: {2} [{1}]'.format(i.sort, i.get_title(), HomeworkJ.objects.filter(f_date=None, parent__material=i).exclude(date=None).count()))

@ -1,37 +0,0 @@
# coding=utf-8
# Получить почты пользователей с темой в статусе сдано
import os
import django
import sys
BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from courses.models import Course, CourseTheme
from journals.models import HomeworkTry, HomeworkJ, CourseThemeJ
print('## Почты пользователей в статусе сдано по теме')
_courses = Course.objects.filter(public=True).order_by('id')
for _c in _courses:
print('{0}: {1}'.format(_c.id, _c.get_title()))
_c = input('Выберите курс: ')
_course = Course.objects.get(id=int(_c))
_themes = CourseTheme.objects.filter(course=_course).order_by('sort')
for _t in _themes:
print('{0}: {2}/{1}'.format(_t.id, _t.get_title(), _t.sort))
_t = input('Выберите тему: ')
_theme = CourseTheme.objects.get(id=int(_t))
_result = CourseThemeJ.objects.filter(material=_theme).exclude(date=None, f_date=None).values_list('student__email', flat=True)
for i in _result:
print(i)
print('Количество пользователей: {0}'.format(len(_result)))

@ -1,45 +0,0 @@
# coding=utf-8
import os
import django
import sys
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
print('## Отчет по распределению слушателей по курсу')
from courses.models import Course, CourseTheme
from finance.models import Bill
from journals.models import TeacherJ, HomeworkJ, CourseThemeJ, HomeworkTry
_courses = Course.objects.filter(public=True).order_by('id')
for _c in _courses:
print('{0}: {1}'.format(_c.id, _c.get_title()))
_c = input('Выберите курс: ')
_course = Course.objects.get(id=int(_c))
print('======')
print('# Курс: {0}'.format(_course.get_title()))
print('Оплеченых счетов: {0}'.format(Bill.objects.filter(service__course=_course, status='F').count()))
_journals = TeacherJ.objects.filter(course=_course, progress__gt=10).exclude(progress=100)
print('Студентов: {0}'.format(_journals.count()))
print('======')
def check_hj(hj):
if hj:
if HomeworkTry.objects.filter(parent=hj).exists():
return hj
return False
for i in CourseTheme.objects.filter(course=_course).order_by('sort'):
hj = map(check_hj, HomeworkJ.objects.filter(parent__material=i).exclude(f_date=None))
_hj = set()
for r in hj:
if r:
_hj.add(r)
print('{0}: {2} [{1}]'.format(i.sort, i.get_title(), len(_hj)))

@ -1,641 +0,0 @@
uasam@mail.ru
asiri.unholy@gmail.com
alexpallid@gmail.com
vladimirprasoloff@gmail.com
jayalila108@mail.ru
Hlebb@mail.ru
o.tibirkova@yandex.ru
proschebud@gmail.com
blckg0re@gmail.com
hannakulikovast@gmail.com
pavelulitin@fmf.ru
89226890628.sda@gmail.com
annavolkova@at-consulting.ru
appsdao@ya.ru
lampardromanov@yandex.ru
yuri.sablatazh@gmail.com
me@leonidpotapov.com
ilya@iskros.com
kupa0611@gmail.com
smaslenikov@zeptolab.com
Andreysh@zeptolab.com
eugened@zeptolab.com
irinash@zeptolab.com
juliag@zeptolab.com
kaiyoo@yandex.ru
dirubis@gmail.com
Pvashkeba@mail.ru
artem.kudra@func.ru
d.lugansky@gmail.com
Aka@make.st
e.baranova@make.st
anastasiyabd@zeptolab.com
ekaterinasch@zeptolab.com
tanyas@zeptolab.com
ivans@zeptolab.com
egora@zeptolab.com
ipashkov93@yandex.ru
perepelkin.serge@gmail.com
singlegreywolf@mail.ru
cornelldesign@mail.ru
nazarova-evg@yandex.ru
vetldi@gmail.com
andrej.fin@gmail.com
vaynberg.a@gmail.com
axnaf@list.ru
evgeneva@gmail.com
kk.to-art@yandex.ru
markina108@gmail.com
giggslegenda@mail.ru
delo@jet-mix.ru
hellodrw@gmail.com
chaocharly@gmail.com
merabella00@yandex.ru
miragann@gmail.com
rodina-vera@inbox.ru
tingaevva@mail.ru
Kozingleb73@gmail.com
s.zorin@artsofte.ru
zukoznik@mail.ru
shavcat@ya.ru
olga@adt.ru
supreme1609@yandex.ru
artemaminov@gmail.com
azalmazal1@mail.ru
mihail@kucherenko.tel
qq-brand@rambler.ru
nasgul@bk.ru
gresmik@yandex.ru
contrnik@yandex.ru
neo-quake@yandex.ru
sidenkowow@mail.ru
ottomy@bk.ru
j4gg3rnaut@gmail.com
ninon.sh@yandex.ru
d.p.voropay@gmail.com
lllil@yandex.ru
alik.vayner@gmail.com
litazavr@gmail.com
akonovalov108@gmail.com
denis.mazaev@mail.ru
freesleeper@gmail.com
reachi73@ya.ru
dimpolozkov@gmail.com
anton.m.gook@gmail.com
Grondarrin@gmail.com
alexander.samofalov@gmail.com
strekozka_l@mail.ru
mister.ak90@mail.ru
asylov@gmail.com
bebeeper@gmail.com
tteya@mail.ru
el_spirito@bk.ru
bara-bord@yandex.ru
designprojectt@gmail.com
rozzuvaeva@gmail.com
azatdraw@gmail.com
meetstone@yandex.ru
chavrikovev@gmail.com
igor.n.tomko@gmail.com
vr8853@gmail.com
anastasia.lednik@gmail.com
chriswao@gmail.com
ggsurkov@gmail.com
bvdesign@mail.ru
agnosst@gmail.com
hiirinasheveleva@gmail.com
ikarp84@gmail.com
julia.fedyaeva@mail.ru
o.slava@gmail.com
e.vanchugova@ya.ru
tiano_taurus747@mail.ru
mydarlingcat@gmail.com
rozhkovad@gmail.com
gesigner@yandex.ru
ldvmake@gmail.com
deni.ottoy@gmail.com
manzhulov@gmail.com
rolandvermin@mail.ru
web@semiryakov.ru
Enrich-Tov@yandex.ru
deni.ottoy@gmail.com
verbinegor@gmail.com
burunin@gmail.com
jeniagirl@yandex.ru
yakovlev.alex.o@gmail.com
vvooster@gmail.com
mezhina2@gmail.com
onemoreamore@gmail.com
makini@ya.ru
afedyaev@esphere.ru
asuhoverhova@esphere.ru
niker8@yandex-team.ru
polina1304@gmail.com
fenpics@gmail.com
A.Burakov@modulbank.ru
polgolovy@gmail.com
lu-33@yandex.ru
yugofx@gmail.com
nika.galkina20@gmail.com
rufe41@gmail.com
mydarlingcat@gmail.com
starkov.igor@gmail.com
stevgen@gmail.com
kmogutova@mail.ru
k.pavljukov@gmail.com
ermolova_zaya@mail.ru
andrey732@gmail.com
i.k.borisova@gmail.com
FAbramov@expertsolutions.ru
9990405@gmail.com
voron86618@gmail.com
ilushasafin@gmail.com
elshen.hesenov@gmail.com
dmitry@shaludin.ru
y.foot@yandex.ru
konstantinkovrik@yandex.ru
merim.t@mail.ru
dilyaasanova@gmail.com
Daniely@yandex.ru
goryayeva@gmail.com
alyans911@mail.ru
elizavetachernaya@gmail.com
a-cheap@yandex.ru
zkorall@gmail.com
mary@ihome.ru
zonaform@gmail.com
site-911@yandex.ru
ek_8@mail.ru
natazkondra@gmail.com
mail@parfyonov.com
Fridays365@gmail.com
hello.nastasy@gmail.com
missymary@mail.ru
gawanna.ru@mail.ru
nnbsnt@gmail.com
z.ilnurri@gmail.com
tim.phey@gmail.com
alevova@gmail.com
ogalin@aevrika.ru
aytigor@gmail.com
uryukovv@gmail.com
agarzaeva@yandex.ru
kononenko.e.p@gmail.com
aplusp@yandex.ru
ugarova@magora-systems.ru
skoryk.yulia@gmail.com
skorodymov@mail.ru
xnia.nik@gmail.com
yuliyahil@gmail.com
alex@space-o.ru
pae1@europlan.ru
stasya1004@mail.ru
design@spaceapp.ru
alexey.g.demchuk@gmail.com
ovodesign82@gmail.com
nushamenshikova@gmail.com
am@bonoagency.ru
il@bvdp.ru
ss@bvdp.ru
makarichev.aa@gmail.com
kombikovdamir@gmail.com
khakifeva@croc.ru
AParshikov@croc.ru
info@d-element.ru
lesiawuss@gmail.com
iskan153@gmail.com
era.gromov@gmail.com
ya@rl.ru
ysmirnovy@gmail.com
gavrylov88@gmail.com
alexandrshum@gmail.com
raceoffer@ya.ru
yuri.froloff@gmail.com
siv11@mail.ru
vpetrova21@yandex.ru
13malix@gmail.com
execer@mail.ru
itsarenko@gmail.com
segavosegag@gmail.com
kolos.natasha@gmail.com
limosiaya@gmail.com
andrayvelitchko@gmail.com
lina.savenkova@gmail.com
stanislav.vir@gmail.com
lentyaev.m@yandex.ru
artemich92@mail.ru
89169113911@mail.ru
marina.kavetskaya@gmail.com
mobester@gmail.com
fedotov@tyr24.ru
zyabra@gmail.com
todanilin@gmail.com
pplahov@gmail.com
sokwork@gmail.com
kukva@me.com
ilyaa77@mail.ru
krutolapova@mail.ru
alekseyskrobot@gmail.com
godortneo@gmail.com
volkova78@bk.ru
mako731@ya.ru
denisbryuhanov@gmail.com
alexsteptlt@mail.ru
abcdesign1@mail.ru
veronikavick87@gmail.com
jeneva7@gmail.com
as.kretinin@gmail.com
skp_15@mail.ru
k-pastukhova@yandex.ru
onimfa@mail.ru
alla.sukhostavskaya@gmail.com
kirsti-b@yandex.ru
babyas@yandex.ru
kosan81@yandex.ru
beruchie@yandex.ru
petrusevich-vladimir@yandex.ru,
shama2004@bk.ru
alex@hcube.ru
sens11even@gmail.com
fessdew@gmail.com
skorodymov@mail.ru
ageewa@gmail.com
sokolov.maksim92@yandex.ru
shtrudle@yandex.ru
tooob52@gmail.com
sonicmails@yandex.ru
ezavodchikova@me.com
alinarlova@gmail.com
artteq@gmail.com
azazello@inbox.ru
rasulmhk@gmail.com
serglookas@yandex.ru
edgecrasher@gmail.com
a.isakov@ruslink.pro
tuna1706@yandex.ru
jekashohirev@gmail.com
nazarov.design@gmail.com
alpmats@gmail.com
sarosekml@yandex.ru
norkensdrommar@yandex.ru
andrei_gavrilenko@inbox.ru
galadriel2007@mail.ru
protchenkova_dar@mail.ru
dseliverstov@yandex.ru
priymakdmitry@gmail.com
empaher3@yandex.ru
m.chelyadenkov@gmail.com
natfaga@yahoo.de
yakorolevaleksei@yandex.ru
zi_zind@hotmail.com
lileklive@mail.ru
pavelvch@gmail.com
shashnia@gmail.com
nifakt1@gmail.com
andreyy2010@ya.ru
pravo@roskvartal.ru
pervushin@avis-dc.ru
ag@lab.ag
hitzen88@gmail.com
yuriy.chetverikov@gmail.com
atree2010@gmail.com
jamadharma13@gmail.com
spolaspola@gmail.com
ok.msaavedra@gmail.com
Kitt.diz@gmail.com
goto.darya@gmail.com
mbf23tb@gmail.com
letterca@gmail.com
mary@ihome.ru
info@legacystudio.ru
lens2002@gmail.com
susannafeisal6@gmail.com
alexmname@gmail.com
petrichv@gmail.com
dmitrij.pastushenko@gmail.com
juniperland@gmail.com
einzheev@itl.com.kz
j.tolkova@yandex.ru
irina_z_z@mail.ru irina.huchak@gmail.com
a.reznichenko@clientlab.ru
e.taychenachev@gmail.com
waximov@gmail.com
dina@vega.nsk.ru
andrii.dev@gmail.com
vasukhina_av@mail.ru
millie.mk5@gmail.com
goto.darya@gmail.com
vova@vovavova.ru
Loki2d@gmail.com
ilya.tymofeev@gmail.com
alpha5@yandex.ru
Sepeda.rafael@gmail.com
zionll@yandex.ru
strife88@mail.ru
ele-bulavinceva@yandex.ru
jack@creo.od.ua
d.lexand@gmail.com
captainanch@ya.ru
denisgorbunovmsc@gmail.com
goshamanasyan@gmail.com
katerina.musinova@gmail.com
dmokichev@gmail.com
andr@andr.kz
tingmann@gmail.com
romazzz@me.com
egysakova@gmail.com
portnova.ok@yandex.ru
vtoryanik@livemaster.ru
alinazoryna@gmail.com
wellkin@gmail.com
noc-engineer@outlook.com
denis.kryukov@cyberiada.com
tonyavec@gmail.com
artemzig@gmail.com
asvdesign@yandex.ru
1ngeneer@mail.ru
fynart@gmail.com
pnz_08@mail.ru
a@cdnvideo.ru
sokdis@gmail.com
blood4085@inbox.ru
goryayeva@gmail.com
vlkitov@gmail.com
aveelik@gmail.com
lida.pihora@gmail.com
yanchus@mail.ru
olgarafikova00@mail.ru
lena@mura-show.com
wm5soft@gmail.com
torus.andrey@gmail.com
romameteva@azoft.com
dim@gifts.ru
9nkags@gmail.com
iandrew80@gmail.com
irynagillis@gmail.com
evgenia.deg@gmail.com
tarshis.d@gmail.com
art.filkov@gmail.com
connect@me.com
emelyanova.olena@gmail.com
pd4774@yandex.ru
wizzzart@gmail.com
tuhachevski@gmail.com
fazeful@gmail.com
molot877@mail.ru
vklimovs@mail.ru
slavinanm@gmail.com
diems@mail.ru
efomina@msk.vtb.ru
xnata.d@gmail.com
avmakarov@asuproject.ru
corvinun@gmail.com
navelis@mail.ru
glebkost.dev@gmail.com
nicknatochiev@me.com
romagrog@gmail.com
d.letko@articul.ru
batovd@gmail.com
nikolay.stanislavchuk@gmail.com
iamkonev@gmail.com
zaroman1989@gmail.com
cat.kubasova@yandex.ru
same.tea@gmail.com
irina.medyanceva@gmail.com
kattia2592@gmail.com
olya.zp@ya.ru
olgasnbrd@gmail.com
Dhopkins@ya.ru
yulenka26@gmail.com
anton.tmur@gmail.com
egodyston@gmail.com
bel.art@mail.ru
evgeniy@le-de.ru
yakimova.design@gmail.com
olga@le-de.ru
ereshko.igor@gmail.com
tn@bitek.ru
gafurovt@gmail.com
dv@ilab.kz
tahir.muraev@gmail.com
rozhkovad@gmail.com
ypolyakova1@yandex.ru
enjoydezign@gmail.com
nali9@mail.ru
cooryliof@gmail.com
romqa.guard@gmail.com
ksenia.vitkova@gmail.com
dennis.loboda@gmail.com
redkuk@gmail.com
ek.design11@gmail.com
whysecondjuly@gmail.com
deniskondrashov@yahoo.com
ivanpokalyuk@gmail.com
bravo.johnny@ya.ru
me@flexure.ru
i.flinn@yandex.ru
yuzik.74@gmail.com
hello@aokunev.com
polgolovy@gmail.com
b2sty@yandex.ru
mtsalka@scnsoft.com
abrakadavr@gmail.com
info@darneo.ru
dmitry.sedov@inbox.ru
frostoffman@gmail.com
smiley1776@gmail.com
elizaveta.bandalet@gmail.com
alex.dntv@gmail.com
makspirogov@gmail.com
velesart@gmail.com
pavlov@complexsys.ru
ceo@pride-m.ru
spinngewebex@gmail.com
an_b@inbox.ru
ilyuha86@gmail.com
egor@yugs.ru
kashlatch@gmail.com
niozuki@mail.ru
Gnatovych@gmail.com
sahem@mail.ru
zfalevich@gmail.com
lalaviva@yandex.ru
mmaslennikov@mail.ru
info@wbest.ru
arthur.subbota@gmail.com
goha@kiosov.com
Igorfedorenko@mail.ru
annazayidova@gmail.com
es@vipro.ru
km@colary.ru
kiselev_s_l@mail.ru
soldakov.p@yandex.ru
ap@ds-p.ru
702752@gmail.com
shpakova@sebbia.com
skugarov@sebbia.com
taranov@sebbia.com
rusakovevgen@gmail.com
frostoffman@gmail.com
a.khadeko@gmail.com
trogatyuk@gmail.com
Alexpozdnyakof@gmail.com
korobajr@ya.ru
elizaveta.bandalet@gmail.com
prokosha10@gmail.com
s.darbaidze@inostudio.com
zhurakoff@gmail.com
krylya@inbox.ru
146133@gmail.com
sasha.melbourne@gmail.com
hip-hop-org@yandex.ru
jaglin@itsoft.ru
den.volchkevich@gmail.com
yakimov.dmitriy@gmail.com
994677@mail.ru
rumbeshta@userstory.ru
ylkin_list@mail.ru
salofoot@fermastudio.ru
smiley1776@gmail.com
info@darneo.ru
egor@studiofact.ru
alevtina.i.danilova@gmail.com
puponina.irina@gmail.com
yevseev@mail.ru
corpas@gmail.com
nitrohlorid@gmail.com
kayl24brof@gmail.com
skovalska@mail.ru
Dmitry.eremin7@gmail.com
Nikolebedev@mail.ru
ishulga86@gmail.com
bobafas@gmail.com
kalina531345@gmail.com
dsgn.shots@gmail.com
dsukhanova@gmail.com
kizilov.s@gmail.com
zlk.marjana@gmail.com
nava011235@gmail.com
i.shymanskyi@gmail.com
anastasy.petrenko87@gmail.com
dinozavrix@gmail.com
yana.berezhnaya999@gmail.com
person.ira@gmail.com
bershonok@gmail.com
vivi_bvo@mail.ru
ohmeinkot@gmail.com
d22s@ya.ru
masha49@yandex.ru
biz.trp@gmail.com
leo55506@gmail.com
e.poberezhnik@artw.ru
alexzarkov@gmail.com
ekde@wide-web.spb.ru
vemelin@gmail.com
gausf2@gmail.com
vd@wearewowagency.com
va@wearewowagency.com
domrachv@gmail.com
ad@wearewowagency.com
jalalovna@yandex.ru
mohov-g@yandex.ru
st.wasp@yandex.ru
Irina.lisofa@gmail.com
Kornblumchen@yandex.ru
albytime@gmail.com
as.plyaskin@gmail.com
trunovaon@gmail.com
yuri.a.k.design@gmail.com
fkaterina82@mail.ru
natasha.skulskaia@gmail.com
dubnyak404@gmail.com
felixbag@gmail.com
lemma.ka@gmail.com
nikita.nadzharov@gmail.com
Pserook@gmail.com
petrova@ydarnic.ru
sites@ukr.net
nik-black-dragon@mail.ru
m.n.podkopaev@gmail.com
kittydiz@mail.ru
maksimov.design@gmail.com
info@sibirix.ru
denisov.s.s@yandex.ru
oleksandrgumeniuk@gmail.com
alivo4ka1244@yandex.ru
mamarinna@yandex.ru
felisarmis@gmail.com
pavelspetrov@ya.ru
A.dobrian@gmail.com
katepainter@yandex.ru
pobiz@inbox.ru
9990405@gmail.com
vovkakunts@gmail.com
kronos2k4@gmail.com
sasha_amelina@mail.ru
wRUSha@yandex.ru
snoorge@mail.ru
marketolog@webelement.ru
onoffbass@yandex.ru
mifwind@gmail.com
artur.saakoff@gmail.com
emilekeilbach@gmail.com
a@tkachenko.in
str-ibz@inbox.ru
dmitry.sedov@inbox.ru
baho9208@mail.ru
feyorz@gmail.com
alvo_05@mail.ru
tagfelix500@gmail.com
ikey0172@mail.ru
gb.gayane@gmail.com
eco.pun@gmail.com
sanzharsurshanov@gmail.com
webar4i@gmail.com
zvetaan@gmail.com
svelavs@gmail.com
art@magicdesign.ru
kuzzzal@gmail.com
andrievskiydmitriy@gmail.com
pulya7@gmail.com
mikhail.a.gusev@gmail.com
elena@citrus-soft.ru
kropev@rarus.ru
nikonorov@labizum.ru
gulin@labizum.ru
vladfedorovich@gmail.com
Gfgaliya@gmail.com
srfedotov@gmail.com
vinjuli4ka2008@rambler.ru
lepon@bk.ru
y.robocopov@gmail.com
enchervinskaya@gmail.com
volokos@gmail.com
a.nikiforov@uplab.ru
dmytriy.suslov@gmail.com
s.shtukaturka@gmail.com
alex.dntv@gmail.com
timur.shulgin@infocraft.ru
sp.rusanov@gmail.com
timakova@fistashki.org
aknoraz@deloitte.ru
sesyunin@realweb.ru
bravo.johnny@yandex.ru
didenko@braind.agency
art@amado-id.ru
9330733@mail.ru
danila.zarechnev@gmail.com
kira.yakuhina@gmail.com
geiz@yandex.ru
tuning_a@mail.ru
suonarama@gmail.com
ha@brightstudio.ru
alexandersvinin@gmail.com
trjyfel@mail.ru
d.pogodin@itech-group.ru
designervs@mail.ru
smorozov@qsoft.ru
a.reva@qsoft.ru
semashko@yandex.ru
art.magomaev@gmail.com
imickaa@gmail.com

@ -1,74 +0,0 @@
# coding=utf-8
# Получить количество попыток сдачи ДЗ и статус ДЗ по студентам из файла
import os
import django
import sys
BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append("/var/www/skillbox/")
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
django.setup()
from access.models import User
from courses.models import Course, CourseTheme
from journals.models import HomeworkTry, HomeworkJ
print('## Отчет по теме курса')
_mails = [i.strip().lower() for i in open(os.path.join(BASEDIR, 'reports/get_theme_try_len')).readlines()]
_users = []
_no_exist = []
_result = {} # Пользователь: Попыток, статус
result_file = open('get_theme_try_len_result', 'w')
_courses = Course.objects.filter(public=True).order_by('id')
for _c in _courses:
print('{0}: {1}'.format(_c.id, _c.get_title()))
_c = input('Выберите курс: ')
_course = Course.objects.get(id=int(_c))
_themes = CourseTheme.objects.filter(course=_course).order_by('sort')
for _t in _themes:
print('{0}: {2}/{1}'.format(_t.id, _t.get_title(), _t.sort))
_t = input('Выберите тему: ')
_theme = CourseTheme.objects.get(id=int(_t))
for i in _mails:
try:
u = User.objects.get(email=i)
except User.DoesNotExist:
_no_exist.append(i)
else:
_users.append(u)
print('Не найденные пользователи:')
print(_no_exist)
print('======')
print('# Курс: {0}'.format(_course.get_title()))
print('# Тема: {0}'.format(_theme.get_title()))
print('# Пользователей в отчете: {0}'.format(len(_users)))
_average = []
for _u in _users:
_count = HomeworkTry.objects.filter(material__theme=_theme, student=_u).count()
_result[_u.email] = _count
if _count > 0:
_average.append(_count)
_result = sorted(_result.items(), key=lambda x: x[1], reverse=True)
_n = 0
for key, value in _result:
if value > 0:
_n += 1
result_file.write('{0} / {1} {2} \n'.format(key, value, HomeworkJ.objects.filter(material__theme=_theme, student__email=key).last().get_status()['title'] if HomeworkJ.objects.filter(material__theme=_theme, student__email=key).exists() else 'Не преступил'))
result_file.close()
print('Пользователей в отчете: {0}'.format(_n))
print('Среднее количество попыток, исключая нулевые: {0:4.2}'.format(sum(_average) / len(_average)))

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save