From 770044a24a59aad99095b4118d78cc1c3d834583 Mon Sep 17 00:00:00 2001 From: FArthur-cmd <613623@mail.ru> Date: Thu, 7 May 2020 17:21:49 +0300 Subject: [PATCH 1/6] first iteration --- .gitignore | 1 + Readme.md | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 9f11b75..2483976 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea/ +__pycache__/ diff --git a/Readme.md b/Readme.md index 5a61563..1d3f5d7 100644 --- a/Readme.md +++ b/Readme.md @@ -2,3 +2,5 @@ Команда для запуска: python3 manage.py runserver (в консоли находясь в папке, в которой находится manage.py) + +Сайт отображает валюты на определенный период(используются данный центробанка) From 7fa8fbdba6adb522dfb0a2a572b7c7cd19fbfe8b Mon Sep 17 00:00:00 2001 From: FArthur-cmd <613623@mail.ru> Date: Thu, 7 May 2020 17:27:14 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B5=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=BD=D0=B5=D1=83=D0=B4=D0=BE=D0=B1=D1=81=D1=82?= =?UTF-8?q?=D0=B2=D0=B0=20=D0=B2=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B5=20?= =?UTF-8?q?=D1=81=20=D1=81=D0=B0=D0=B9=D1=82=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Wallet/__pycache__/urls.cpython-36.pyc | Bin 508 -> 491 bytes .../Wallet/__pycache__/views.cpython-36.pyc | Bin 1891 -> 1904 bytes WebPython/Apps/Wallet/urls.py | 8 ++++---- WebPython/Apps/Wallet/views.py | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/WebPython/Apps/Wallet/__pycache__/urls.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/urls.cpython-36.pyc index d1232dd8714d6c48ae67b95c508033a7243a7f66..bdb785327c38606aa0fa06e4aee3c44b7c08a00b 100644 GIT binary patch delta 84 zcmeyv{F<55n3tEUM`}ylmWiD68HFdVQ{}(KaEmiHF*7f|ATd3)N`B%ST}GqH@{H~Z jMH~za3`HzJ;uc3@K|y?8Vs2^?8%T^3L~u=RW~>ANb|4sf delta 101 zcmaFO{D+y-n3tF9k>HlN6B9Y-vq|J8X6ETnT&XHq#R_KL;sjCg1&QgYRVon4ySi-V pVAf=AMt9j;3`Hyq3=Fq85(^6A^AdAYi`anNA`TG2Ik||j5&-LVAQb=r diff --git a/WebPython/Apps/Wallet/__pycache__/views.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/views.cpython-36.pyc index 4899ca68b6fff80ff8a122701906a2f7989afb9f..1ca7984fc8826a709837c50619f9a86264b31241 100644 GIT binary patch delta 454 zcmaFN_koYon3tEUM`}yltBst@jErfMc^S1iQW#QLTbU#oCR;Enira)UlyKHCq_EX6 z)v%2m2U{gy57rAC;$WU2st%)$n4L%Y1? zu+W?_U!N&6&F8nuwR*s81E|}Iuhiq6oK!`g zzzHTnA*d3zE{ZglBqH7S!oU?766%D?5>>P`8#=hB-K1AZr7TgyPpuqBH810ZHL2RB zXpq??v Q7NJW>cH*guyM_h%Uvvgr/', views.get_date, + path('/', views.get_date, name='get_date'), - path('main/', views.main_page, name='main_page'), - path('main//show_wallet/', + path('', views.main_page, name='main_page'), + path('/show_wallet/', views.show_wallet, name='show_wallet'), - path('main///show_wallet/', + path('//show_wallet/', views.show_wallet, name='show_wallet') ] diff --git a/WebPython/Apps/Wallet/views.py b/WebPython/Apps/Wallet/views.py index 1e3cf5c..1fc6362 100644 --- a/WebPython/Apps/Wallet/views.py +++ b/WebPython/Apps/Wallet/views.py @@ -9,7 +9,7 @@ def get_date(request, wallet_name_): print('get_date') wallet = Wallet_indentificator.objects.get(wallet_name=wallet_name_) wallet_values = Wallet_value.objects.filter(wallet=wallet).order_by( - '-date') + '-date')[:10] dates = [] for i in wallet_values: dates += [str(i.date)] @@ -43,7 +43,6 @@ def show_wallet(request, wallet_name_, wallet_date_=None): return add_date(request, wallet_name_) - def main_page(request): wallet_names = [] wallets_list = Wallet_indentificator.objects.all() From 3221d7358e776fafa9043425844af22c3a6743b0 Mon Sep 17 00:00:00 2001 From: FArthur-cmd <613623@mail.ru> Date: Thu, 7 May 2020 17:29:43 +0300 Subject: [PATCH 3/6] removing pycache --- WebPython/__pycache__/__init__.cpython-36.pyc | Bin 125 -> 0 bytes WebPython/__pycache__/settings.cpython-36.pyc | Bin 2376 -> 0 bytes WebPython/__pycache__/urls.cpython-36.pyc | Bin 960 -> 0 bytes WebPython/__pycache__/wsgi.cpython-36.pyc | Bin 533 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 WebPython/__pycache__/__init__.cpython-36.pyc delete mode 100644 WebPython/__pycache__/settings.cpython-36.pyc delete mode 100644 WebPython/__pycache__/urls.cpython-36.pyc delete mode 100644 WebPython/__pycache__/wsgi.cpython-36.pyc diff --git a/WebPython/__pycache__/__init__.cpython-36.pyc b/WebPython/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index e457c7649c1292e827b55c8d045fe515e8afdc3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmXr!<>ivvy)ljf2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUt0PZ`MIh3rNya5 r`r)Zb0hJ{g`FTjJ`1s7c%#!$cy@JYH95%W6DWy57b|5o~ftUdRufH5z diff --git a/WebPython/__pycache__/settings.cpython-36.pyc b/WebPython/__pycache__/settings.cpython-36.pyc deleted file mode 100644 index 68e357cd908cac6fd06175d3ca35d94ca5a13800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2376 zcmb7FTXWM!6t-l=c1#j(0Yady3N6HGkx4>n=oA`Zi{RqhSTbq#fJWA??Hv))@>&HwZ3?{EHENu~Zs%{@7w z4`5P(OQldsPazKR4ySX;o7Z{F9jA|lxpfI=PPusK*)bQs^&I9wZy9k3FOPF5eafHm zTnY*L1+=8E*eQJ#Wl$F7&@#%S3uwj8>T75ft)YwP61t48psT>Sh}QK>=-L$J`YCU7 zXbIgw8|Wt5M7L~#aOn02!RGYK=o9@4`V@UO*3KgFlt-U`;0dQ+MR(9$(7c1bNY*ct z^&a7DL0?Dr^=oKLzYcNTfVlzlCMxKgh*wjEZF3h=kuM*cp6!biGe$g{id{btk8r0s zWIf*#`+!ZjHIc=)j%0jI>lUqcKy-(###zbh7zZ&7LFWfFtsyG863W5^=&`^2Kf zNz}y=KI>tzJ8&G)A(V-JceX3jL*NOMKzwgH15E#yvjBJJJpCD0RXq~qexHWBj}8vr zTJNoIw)TePxO4FS@$lXoyVHBK|Iq4phfjBhbcpx2n0xo(!FJ)vKIuKx!i^)-aWIoi zK#)ds$@jX%4%bIJmMq_60qICde#5Ja+yU!_w-%VO3HBHp_Aw1_EC?y46!Lvm;DW%k z!D4gKg24${@ww3O!C2-JgdBWg23Vrl8U%z5C3Q^Hrn2zSBGlNqG-t1lcym^Tvrgc^ zUEh;R$?HEGHiJCXAjgmKK_4p&3 zaESHx*tFh4S4cm-2uv3@`f>5oIlHxK$4P_0psB!oKyJKR2pW`N&83$gI4vF@~5IZk@G zx1c;t=tm4DvVst0pUb6JO1-QLS0bS<*OXuxdOdu(5PDKXeUs7?KR^at zCGwW1ImT zoEM-zaB)Davj|JU;6bacr`uX7%oXA4hvq33ZbezcfIHhTBHpJ_nht3s^i9@-BOrkX zMIU9&4ox^Y!-(${!_afjWmSofQ(tMe8b2x}&1f|mT9hFkWRgX~u}{1xuPUXMq8YE0 zpQEL+^1OW*t;*GE<47qRFB__+Mr)P2ssRfaP#Ljhm}~rS}DnKDMia=S(D?C)M!I)YcGwatg1(iR@rzhS1TZFKn1Q= z<@#Y;K2(fSqpSd6rKT8q11cuhhRsxV_Uj|6y7RCeWn!MD!yYv7QHtaEEfw5_s!Eo> zw~IaB#l-<^w>YiiIco9;C-sL>?t9lq0|!650OnMOMc{K>E`6I{;WjctTHu8Y&&@_g hn9)3!NecqcukrAVb=ERMHm29}nRGnzIY1bV%)d}ML zUIyjLiC5snI8C5JLfS|fjjj1+zWHYS@Z=;$e+s{GhM_599`kcg z_)}kWrXA0nJ9!|w)2@fO&jQ|I-JQ4d!9U{N&C#Z}^H=_~&wB4r+^1iBgf95v&DO4! z#2?rWD6ejQ`I_l zIOSWe;E!6=^*JwcwIZNnTP|`Jb>1kB!=JFmDE6xW_G?}BnxNRLx|E4bR_JPQLGzs3 z8gbQ|)z{>8e52~k=deQac{OMVJFXh`8EJSmXnON+A691z?Ve5*n9TAjaG})zY`fN9 vksdgtGr#TpvKsHoXr*N(J8`bL z=0$q!xo@ItPkn`+GPY^3K%2iY)7`_&I83;{6NOLl8#7s_dX=oqyB*9)=X8wrnX_%aPw{HOKVu& z*cs$LO_G6Ua93Lgj`QnZkA3p`B&uBFh4`F1*@!Npt){x*~2UN`*F+mvX!x__R<`0z>t*PC+|2f*gHX2$E!v?k=u7$p!-c0Z From 9d5871ce70712d831a82c7f991678b8b63c525a7 Mon Sep 17 00:00:00 2001 From: FArthur-cmd <613623@mail.ru> Date: Sat, 9 May 2020 14:37:02 +0300 Subject: [PATCH 4/6] adding tests and some upgrades in loading data, views --- Readme.md | 4 + .../Wallet/__pycache__/apps.cpython-36.pyc | Bin 397 -> 397 bytes .../__pycache__/load_data.cpython-36.pyc | Bin 1431 -> 1483 bytes .../Wallet/__pycache__/models.cpython-36.pyc | Bin 1308 -> 1308 bytes .../Wallet/__pycache__/views.cpython-36.pyc | Bin 1904 -> 1920 bytes WebPython/Apps/Wallet/apps.pyc | Bin 0 -> 424 bytes WebPython/Apps/Wallet/load_data.py | 17 ++-- WebPython/Apps/Wallet/tests.py | 78 ++++++++++++++++++ WebPython/Apps/Wallet/views.py | 2 +- WebPython/settings.py | 2 - WebPython/settings.pyc | Bin 2753 -> 2753 bytes WebPython/templates/Wallet/choose_date.html | 3 +- WebPython/templates/Wallet/list.html | 12 ++- WebPython/templates/Wallet/wallet.html | 11 ++- WebPython/templates/base.html | 2 +- WebPython/urls.py | 2 +- db.sqlite3 | Bin 151552 -> 155648 bytes 17 files changed, 109 insertions(+), 24 deletions(-) create mode 100644 WebPython/Apps/Wallet/apps.pyc diff --git a/Readme.md b/Readme.md index 1d3f5d7..55d0c32 100644 --- a/Readme.md +++ b/Readme.md @@ -4,3 +4,7 @@ python3 manage.py runserver (в консоли находясь в папке, в которой находится manage.py) Сайт отображает валюты на определенный период(используются данный центробанка) + +Для запуска тестов: + python3 manage.py test Wallet +(тест на корректность добавления в базу данных и на правильное удаление, второй тест на правильную работу загрузки данных) diff --git a/WebPython/Apps/Wallet/__pycache__/apps.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/apps.cpython-36.pyc index 071fd2288748e91d5460bafd1dcf6919d93bf91f..8bf1c465d2d42d2ef62cebfd4d710b3b5d1ec065 100644 GIT binary patch delta 16 XcmeBW?qy~-=H=z$*tvBhdmAGFAhQHC delta 16 XcmeBW?qy~-=H=y5FW$6~y^Rq7AK3&7 diff --git a/WebPython/Apps/Wallet/__pycache__/load_data.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/load_data.cpython-36.pyc index 9152033d128cc8de70e1d55381490f021f1b1c88..e5185e8c817e1cc7ea044d47fc0a836421572c71 100644 GIT binary patch delta 792 zcmYk4&u`N(6vzD>J8hGu>liz%+gO1K7C=LQ#0d!r%9RTeza&;=btW20+c_R=QmP6f zjzvs4Ag)HGv>R3ZoCW<04VnS*kdSPrOGa(Kqyfo@}@s;W6m zoc*7f(_v4(PQ*dW)Dkb@nZT+V=KIQQmFW#iM|(|GN#;vsjuf=l%<&*-cOLa)){l%UhVA4VhmN8a zW@6%IZc@H$cMB~FbK*59c8_`C;$2%Cj3U)7e!%1NRt%%(aR}Cb84U)p>C)2jzOvQc z(@6J5Dh?eT6dy#pIL$kL4e#~$AAG`vV$9d4R;J@Y-&iL#+KQe25DST2+)YbNww2L# z68B7Mg^Bl#6>0P$)&WMeps>>)8Y_3u5yp~He`vk?(O@sWqxDFK6)RO_;;wacyo`hc?bfL)`rN*HF zE!f}hOhHw@UN*&Vt z0^uUz62d~HH)&DgGGhVz_lf9ZoGVu3a`g(v!>Vo-H)Xp;ht#ATD?6$!4&*AV{ROL){zN|NJLOw;p zq63M@NOTnGDCns82Z(>L4K)=l9nAQecr{NmZ)e||UHND5De!N#TK=H>ZRayT_D^~q zA;gEc50Mi}h$ey_|G03ZxpbsklDS_nC=b9AINl9TBOg1s^leq(|BU{MpcH!tw!9lSBT3ygTBV2j5X8bY%3Jijh z;u1~RIAy-D76ex3t&PKo_IoyW3s)|ca0{?;<#KIODx}nF(G&5$n+;+K&}O2|Jl+!*o2;hVOwV6f#RDhUL-ASaqO9b+ONX5~YXn1En$* zdgcZfk&Z{kR`CI}W{1kg85a1YX~@*p^@6eqK50pEape!wdxTc+`9>6 l=+$0BdpEybdl_dRW=ZqOw9~g%qfh`jI~T9EHzBc zj44dnOhpDItdoDS$||#^GnxZc7Mg`Kl(5$@q%fzj)G%f;HZun^XtMehaRW`7Y|5r4 g%2C7tWESxQiCfHxIXOi_Aen5oC`N(F$JkZ@0BMgN#{d8T delta 117 zcmZqR|G>v(%*)HwBef;&75hf63#OwA0nOeM@UOwEibjM+>@ zS|u!#*kt8c(;3ZyN(v3a8A{k{7*d#0m}?j_8Jn4d88lh^COfdH39uJ&01YbQ2NJiK S6LWGVSF=Sia!tO*wh91&$Q#iB diff --git a/WebPython/Apps/Wallet/apps.pyc b/WebPython/Apps/Wallet/apps.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f07d8b344673be8bd8a8c9f967d9f0e2f2f5395d GIT binary patch literal 424 zcmbVHOHRWu6dWg|f)*-{5wWNx)(92YBa|+xc0m-d`$0(@VRz9roS`>qFUA32Y@?Pn zmf!e|{rqNL`gPIU?sw0x_+2T_5yM^)6t_SH)B-aBp%Q3;xqwRX348$4SpwC;I6Gna z>YFPQ%-k8_u5BMoGhZ#-IoYJFD(&LMLCx3RGwgt%;YFy)p7}WT=^lP&-kCck6h%|k zx+q*PklLtq None: + example = Wallet_indentificator( + wallet_name="Testing", + wallet_id="TEST_ID", + wallet_char_code="TestChar" + ) + example.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=1, + wallet_value=3.3, + date="2020-05-05" + ) + example_value.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=2, + wallet_value=5.3, + date="2021-05-05" + ) + example_value.save() + + def test_correct_addition(self): + wallet = Wallet_indentificator.objects.get(wallet_name="Testing") + wallet_array = Wallet_indentificator.objects.filter( + wallet_name="Testing") + self.assertEqual(len(wallet_array), 1) + self.assertEqual(wallet.wallet_name, "Testing") + self.assertEqual(wallet.wallet_id, "TEST_ID") + self.assertEqual(wallet.wallet_char_code, "TestChar") + wallet_value = Wallet_value.objects.filter( + wallet=wallet) + self.assertEqual(len(wallet_value), 2) + Wallet_indentificator.objects.filter( + wallet_name="Testing").delete() + wallet_array = Wallet_indentificator.objects.filter( + wallet_name="Testing") + self.assertEqual(len(wallet_array), 0) + wallet_value = Wallet_value.objects.filter( + wallet=wallet) + self.assertEqual(len(wallet_value), 0) + + +class TestSomeData(TestCase): + def setUp(self) -> None: + load_data("01/05/2020") + wallet = Wallet_indentificator.objects.all()[0] + wallet_value_list = Wallet_value.objects.filter(wallet=wallet) + wallet_value = wallet_value_list[0] + self.date = (str(wallet_value.date)) + date = '/'.join(self.date.split('-')[::-1]) + req = requests.get("http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + + date) + soup = BeautifulSoup(req.content, 'lxml') + self.valutes = soup.find_all('valute') + + def test_date(self): + for valute in self.valutes: + wallet = Wallet_indentificator.objects.get(wallet_name= + valute.find( + 'name').text) + wallet_value = Wallet_value.objects.get(wallet=wallet, + date=self.date) + self.assertEqual(wallet_value.wallet_value, float( + '.'.join(valute.find('value').text.split(',')))) + self.assertEqual(wallet_value.wallet_nominal, int(valute.find( + 'nominal').text)) + + diff --git a/WebPython/Apps/Wallet/views.py b/WebPython/Apps/Wallet/views.py index 1fc6362..8230a78 100644 --- a/WebPython/Apps/Wallet/views.py +++ b/WebPython/Apps/Wallet/views.py @@ -45,7 +45,7 @@ def show_wallet(request, wallet_name_, wallet_date_=None): def main_page(request): wallet_names = [] - wallets_list = Wallet_indentificator.objects.all() + wallets_list = Wallet_indentificator.objects.all().order_by('wallet_name') if len(wallets_list) == 0: load_name() wallets_list = Wallet_indentificator.objects.all() diff --git a/WebPython/settings.py b/WebPython/settings.py index cabf0b7..8411e4d 100644 --- a/WebPython/settings.py +++ b/WebPython/settings.py @@ -24,10 +24,8 @@ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = '4@@kcvc5(3yijb@v6y&^gbh^80cpfy=2ysye8(tm#0@*)98ih=' - # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True - ALLOWED_HOSTS = [] diff --git a/WebPython/settings.pyc b/WebPython/settings.pyc index 28005512d24860c3615d818cafcd4df372d84fa2..c40ece84ee374c80e38b6100ad7f6a08834026a6 100644 GIT binary patch delta 16 YcmX>odQg;|`7`aP05T;7`~Uy| delta 16 YcmX>odQg;|`7`aP05y6BZU6uP diff --git a/WebPython/templates/Wallet/choose_date.html b/WebPython/templates/Wallet/choose_date.html index d08f0e7..4e1a780 100644 --- a/WebPython/templates/Wallet/choose_date.html +++ b/WebPython/templates/Wallet/choose_date.html @@ -4,7 +4,7 @@ {% block content %} -

{{wallet.wallet_name}}({{wallet.wallet_char_code}})

+

{{wallet.wallet_name}}({{wallet.wallet_char_code}})


{% if dates_in_memory %} {% for date in dates_in_memory %} @@ -13,6 +13,7 @@

{{wallet.wallet_name}}({{wallet.wallet_char_code}})

{% else %} Не загружены даты {% endif %} +
diff --git a/WebPython/templates/Wallet/list.html b/WebPython/templates/Wallet/list.html index b634fd3..43d11d6 100644 --- a/WebPython/templates/Wallet/list.html +++ b/WebPython/templates/Wallet/list.html @@ -3,7 +3,9 @@ {% block title %}Главная страница{% endblock %} {% block content %} - +Выберите валюту, чтобы посмотреть информацию о ней
+
+

{% if wallets_list %} {% for a in wallets_list %} {{a}}
@@ -11,13 +13,9 @@ {% else %} Статья не найдена {% endif %} - - -


- +


-
- + (все данные берутся с центробанка. Отсутствие каких либо данных говорит об отсутсвии их на соответствующем сайте) {% endblock %} diff --git a/WebPython/templates/Wallet/wallet.html b/WebPython/templates/Wallet/wallet.html index dccb600..43d8846 100644 --- a/WebPython/templates/Wallet/wallet.html +++ b/WebPython/templates/Wallet/wallet.html @@ -4,9 +4,12 @@ {% block content %} -

{{wallet.wallet_name}}({{wallet.wallet_char_code}})

+

{{wallet.wallet_name}}({{wallet.wallet_char_code}})

+
+

+ Номинал: {{wallet_info.wallet_nominal}}
+ Курс: {{wallet_info.wallet_value}}
+ Дата: {{wallet_info.date}} +


-

Номинал: {{wallet_info.wallet_nominal}}

-

Курс: {{wallet_info.wallet_value}}

- Дата: {{wallet_info.date}} {% endblock %} diff --git a/WebPython/templates/base.html b/WebPython/templates/base.html index e31ff8b..2d59503 100644 --- a/WebPython/templates/base.html +++ b/WebPython/templates/base.html @@ -4,7 +4,7 @@ {% block title %}Это шаблон{% endblock %} - + {% block content %}{% endblock %} diff --git a/WebPython/urls.py b/WebPython/urls.py index 99d9346..0abbefe 100644 --- a/WebPython/urls.py +++ b/WebPython/urls.py @@ -18,5 +18,5 @@ urlpatterns = [ path(r'', include("Wallet.urls")), - path(r'^admin/', admin.site.urls), + path(r'admin/', admin.site.urls), ] diff --git a/db.sqlite3 b/db.sqlite3 index b3875eab883e8173be231a1ebaf4de3cb81f1b3f..a9777461a8d88464df6b652d621a1dcd00d1e596 100644 GIT binary patch delta 7557 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%0A@Ut$C(O~0x{}vS+8V5UI!aes zKlP2zm7HoijUmUosZD5*PQMa3`LL?#bcUk!`x^z$?Q|UzG-+qBzfG0AI&JTf&cAnU zhGyEGVM4go%kV8ka-~l-oz5`0dn6&(d3DuvT0@_}`gspeZRSc(s%fs=P?a_0pL{_8~R>z_WQo$s<>r@Jhef9D1BoCSX~Q$lA>Q_YSvPNy%N zaEzJK%(Wu{83^~#sDWk@_lr*!$U1v%&%RYn{Go{(yb}?p3 zvz@hQ{Y>djK8dvdwslg9F;kjt?90ZODa}mV#h5A0*0zf=Q<|-ubm&N_!#ml{M-G}T z>sx4ynbK_G#KxE@&E}4bF;kiuc1Cojj2bCv|D`jf+02$PW=gZE?PAQ7W)tV^V$76g zeTG}9xYI&F6`W=gYBeQb=G(oC~ciZN4~K_{gcGo`6T0;5Js9lrTOJ!q!t zoL=>~^VvVGeb)UMgU(^8_4!my-Uq+rxR%agDbAYZfr24%2J7|aWP!|28BrC{uSUY~NpKp5JN{?BWyv~qe7%f9h z2h32ZZ)3OHm}`={h&giDHXBV}HW4f*f@XfP&S%97Zbzh)X|~F7%W>J2GG@s(^q+>r z#wf!4kURB{?vh>%BgnHH(RFQ>DDnvKUEZ%>bf@$n2R~2pUR~4e(uDyu@;HZdRkuh7 zlGw^c4(J+Sr$SY zFL0FB^qMS+6Z`lXchia%FA_ZqW%1OFxP=c%zj4Xq9cRquAgvwNjgCv}k3zKE19Ue+H=a9#3q<-R7`MnW|Ne J9dZ<${{dvHkCp%c From 2822e8fa7bda31395e9f031e7a0468126df8c30e Mon Sep 17 00:00:00 2001 From: FArthur-cmd <613623@mail.ru> Date: Mon, 11 May 2020 19:16:00 +0300 Subject: [PATCH 5/6] fixing bugs. Add removing repeating date. Add test of removing repeated date --- WebPython/Apps/Wallet/ClearRepeatedDate.py | 20 ++++++ .../__pycache__/load_data.cpython-36.pyc | Bin 1483 -> 1434 bytes .../Wallet/__pycache__/views.cpython-36.pyc | Bin 1920 -> 2063 bytes WebPython/Apps/Wallet/tests.py | 62 +++++++++++++++++- WebPython/Apps/Wallet/views.py | 17 +++-- db.sqlite3 | Bin 155648 -> 159744 bytes 6 files changed, 93 insertions(+), 6 deletions(-) create mode 100644 WebPython/Apps/Wallet/ClearRepeatedDate.py diff --git a/WebPython/Apps/Wallet/ClearRepeatedDate.py b/WebPython/Apps/Wallet/ClearRepeatedDate.py new file mode 100644 index 0000000..ea815fe --- /dev/null +++ b/WebPython/Apps/Wallet/ClearRepeatedDate.py @@ -0,0 +1,20 @@ +from .models import Wallet_value, Wallet_indentificator + + +def clear_repeated_date(): + wallets = Wallet_indentificator.objects.all() + for wallet in wallets: + list_to_delete = [] + print(wallet.wallet_name) + values_list = Wallet_value.objects.filter(wallet=wallet) + print(len(values_list)) + for i in range(len(values_list)): + for j in range(i + 1, len(values_list)): + if values_list[i].date == values_list[j].date and i != j: + list_to_delete += [values_list[j]] + print(values_list[j].date, i, j) + for i in list_to_delete: + try: + i.delete() + except: + pass diff --git a/WebPython/Apps/Wallet/__pycache__/load_data.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/load_data.cpython-36.pyc index e5185e8c817e1cc7ea044d47fc0a836421572c71..14b4616439a1123b5a311f18fc3f8d76230cd9ff 100644 GIT binary patch delta 615 zcmYk1%W4!+5QeMHrKfv(x@Wv0Gg0FWla?eHBCZ5M-M9&Yf)_B-a)Qt%6Yc4R%4r5{ z1Q!k%4sLu0L0q_S<=!`F_kvHMRcBnJ3qFd!{yO#d&-hauZ6rze>Bnzd8~f3hX^H?9 z6ll=GacHo{N?0tU5sj#Yg+dwGV5O}n0;3u6i{}%9lT^ya|uK z*6P)$3X7;ft7t1Ef7e7ato1z@UqRriLO+}Op;e|k1TVzi+?&Z-TV2ErSs%by+=r@X zb(MHe!X65hnxN==C1r&|^&8|e1JVx!p2synb>yw&A25e!st#;0oS%5HNy$_-c!LJ+ zKz4NV^}2hf*4+hh3w!RlIE}5_7dPS%0RH@?FFWLZi@WZcJdY2ZkxRJZ-pi}U+GuAl zH;+wT&M?jrGF>ilzs$%O7YQxqCC8a#6(E8CX~+5Q_BnT3FI>Mw^DOkoTKQyh h*&l0z-959tGbt5s`+IBLvH8G@{_R!wS)arc{{XNwq^P>}PMp1kF{nx!WAHy&6bp$9t zV}(ewg=WS~XkpSvwQfqgx^QJG#BVQtiwkzlp%32>%~iPj^@Xrw2-B;D(hC{ zdsQnw#T}4-Ec(_mxds|1-bwC74;NnP zTYp*X<=zhDUa|5PHQa;b$dlAVllIO8@oAM%VxJPnpXnayz^v|vn00Ru%XF2Y-QP7BSgzF*}#&^Hu(VTsz z!{{<%Mvst4!;hOjW57aaM!a5Q2*zo~grOK?##zQWLZVE<>r0Hwj4Om1Q?tRF23G+h z_}6uw9_(LmW3_hc8l5LWQ*2j0o!w}P)&9Yu-k;8l$G4k$+@)dju@{%mI;+m$_%8>R BhQI&- diff --git a/WebPython/Apps/Wallet/__pycache__/views.cpython-36.pyc b/WebPython/Apps/Wallet/__pycache__/views.cpython-36.pyc index 627ecb19df1481ef050825a60abcebfaae8a9b8a..d0451edb9ceebfc086cd155ac5c632593ab73580 100644 GIT binary patch delta 1028 zcmZ`%J8#rL5Z?9LKA+F`2zdZ`b9o5UARbZ*0z%3a2#F>XM=XJHZZ}7Q?K{?sl1O(1 zbb%HjOY}6*B05S+{(@U73jP2UGd`3=5qP!Vj(2BgzWHWfR^QeRu9eHSx%c(a<02tH z$cc}EeH&)71HcKVA&IC*DcV}7Ma*MhGp>hvqafe?mA5yQ(E4&I@6<)ee+>xJaL5V+ldqL z?n~na?2WcU5lCN(t_YOiJ_l@RcojYqrUP>gX7U+8K>-6GzrUQGqw}>sYm)dnB{)=J zK+*|XZ}iy)iM0nrSv@wO+<29aQJ>wD8Z)*uhZ`bJMz#h$Ta4``dN zz{#^WO`=Na7FDZGW_0CttYiT)XNAt@j%cYQV{M_NgXVFx zB2FFcE}cx9+RZxdC3OHoEvnH944axT&~k93AGHtDO&A@zgYC z(^ssyflOo-p@v`}AQg#;_>dRNi)9F5u<7 z)Eh6g(2_JUkk$2IV@;8nYa`@&^R5 B!><4U delta 888 zcmZ`$zi-n(6uz^4{uL*&s(=(4+R(HTW+;eOVxS#$lrTJC2U?Vw5a|z=hg*EK$iJd$v^uEZYgGc7>AkKv>?4bmW-QElJ zOuIvy>Wg+`4r8)8077kA!%wyK_pJsT{G^v90~=6TL8D0zjBKbwwxE9L+xIb6))9OJ zY^y9Nu~CVS5iofM{j&fC<54cU(VZ)fp4CjFL}YShR`b+woFp2g-BHvR zt7_Bgz%%u&O9KPx<=ioOVJ1T^;%wS+*{6#H>{BiyTtqm@Tzb>lZ$RkNSlpz*$Z7x{ O^);XRy6xGXTl)?0K&t`( diff --git a/WebPython/Apps/Wallet/tests.py b/WebPython/Apps/Wallet/tests.py index d7aebef..c007a29 100644 --- a/WebPython/Apps/Wallet/tests.py +++ b/WebPython/Apps/Wallet/tests.py @@ -6,6 +6,7 @@ from .load_data import load_data from .models import Wallet_value, Wallet_indentificator +from .ClearRepeatedDate import clear_repeated_date # Create your tests here. @@ -61,8 +62,9 @@ def setUp(self) -> None: wallet_value = wallet_value_list[0] self.date = (str(wallet_value.date)) date = '/'.join(self.date.split('-')[::-1]) - req = requests.get("http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + - date) + req = requests.get( + "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + + date) soup = BeautifulSoup(req.content, 'lxml') self.valutes = soup.find_all('valute') @@ -79,3 +81,59 @@ def test_date(self): 'nominal').text)) +class TestReapeatedDateCleaner(TestCase): + def setUp(self) -> None: + example = Wallet_indentificator( + wallet_name="Testing", + wallet_id="TEST_ID", + wallet_char_code="TestChar" + ) + example.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=2, + wallet_value=5.3, + date="2020-05-05" + ) + example_value.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=2, + wallet_value=5.3, + date="2020-05-05" + ) + example_value.save() + example = Wallet_indentificator( + wallet_name="Testing2", + wallet_id="TEST_ID", + wallet_char_code="TestChar" + ) + example.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=3, + wallet_value=5.3, + date="2020-05-05" + ) + example_value.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=3, + wallet_value=5.3, + date="2020-05-05" + ) + example_value.save() + example_value = Wallet_value( + wallet=example, + wallet_nominal=3, + wallet_value=5.2, + date="2020-05-05" + ) + example_value.save() + + def test_removing(self): + clear_repeated_date() + first = Wallet_indentificator.objects.get(id=1) + second = Wallet_indentificator.objects.get(id=2) + self.assertEqual(len(Wallet_value.objects.filter(wallet=first)), 1) + self.assertEqual(len(Wallet_value.objects.filter(wallet=second)), 1) diff --git a/WebPython/Apps/Wallet/views.py b/WebPython/Apps/Wallet/views.py index 8230a78..70dddbf 100644 --- a/WebPython/Apps/Wallet/views.py +++ b/WebPython/Apps/Wallet/views.py @@ -1,15 +1,24 @@ from django.shortcuts import render -from django.http import HttpResponse, Http404 +from django.http import HttpResponse from .load_data import load_data, load_name from .models import Wallet_indentificator, Wallet_value +from .ClearRepeatedDate import clear_repeated_date def get_date(request, wallet_name_): print('get_date') - wallet = Wallet_indentificator.objects.get(wallet_name=wallet_name_) - wallet_values = Wallet_value.objects.filter(wallet=wallet).order_by( - '-date')[:10] + try: + wallet = Wallet_indentificator.objects.get(wallet_name=wallet_name_) + wallet_values = Wallet_value.objects.filter(wallet=wallet).order_by( + '-date') + except: + clear_repeated_date() + wallet = Wallet_indentificator.objects.get(wallet_name=wallet_name_) + wallet_values = Wallet_value.objects.filter(wallet=wallet).order_by( + '-date') + if len(wallet_values) > 10: + wallet_values = wallet_values[:10] dates = [] for i in wallet_values: dates += [str(i.date)] diff --git a/db.sqlite3 b/db.sqlite3 index a9777461a8d88464df6b652d621a1dcd00d1e596..5b4788509c762e042092ade2065fa4cb03dff8e7 100644 GIT binary patch delta 3955 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 Date: Mon, 11 May 2020 19:24:10 +0300 Subject: [PATCH 6/6] removing unreadable cod --- WebPython/Apps/Wallet/load_data.py | 5 +++-- WebPython/Apps/Wallet/tests.py | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/WebPython/Apps/Wallet/load_data.py b/WebPython/Apps/Wallet/load_data.py index df4729e..c22bce3 100644 --- a/WebPython/Apps/Wallet/load_data.py +++ b/WebPython/Apps/Wallet/load_data.py @@ -12,8 +12,9 @@ def load_data(date_): ids = soup.find_all('valute') for i in ids: try: - wallet = Wallet_indentificator.objects.get(wallet_name=i.find( - 'name').text) + wallet = Wallet_indentificator.objects.get( + wallet_name=i.find('name').text + ) except: wallet = Wallet_indentificator( wallet_name=i.find('name').text, diff --git a/WebPython/Apps/Wallet/tests.py b/WebPython/Apps/Wallet/tests.py index c007a29..32c2317 100644 --- a/WebPython/Apps/Wallet/tests.py +++ b/WebPython/Apps/Wallet/tests.py @@ -63,22 +63,23 @@ def setUp(self) -> None: self.date = (str(wallet_value.date)) date = '/'.join(self.date.split('-')[::-1]) req = requests.get( - "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + - date) + "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + date + ) soup = BeautifulSoup(req.content, 'lxml') self.valutes = soup.find_all('valute') def test_date(self): for valute in self.valutes: - wallet = Wallet_indentificator.objects.get(wallet_name= - valute.find( - 'name').text) + wallet = Wallet_indentificator.objects.get( + wallet_name=valute.find('name').text + ) wallet_value = Wallet_value.objects.get(wallet=wallet, date=self.date) - self.assertEqual(wallet_value.wallet_value, float( - '.'.join(valute.find('value').text.split(',')))) - self.assertEqual(wallet_value.wallet_nominal, int(valute.find( - 'nominal').text)) + self.assertEqual( + wallet_value.wallet_value, + float('.'.join(valute.find('value').text.split(',')))) + self.assertEqual(wallet_value.wallet_nominal, + int(valute.find('nominal').text)) class TestReapeatedDateCleaner(TestCase):