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 %}
+
-
-
+ (все данные берутся с центробанка. Отсутствие каких либо данных говорит об отсутсвии их на соответствующем сайте)
{% 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):