From 16fc78b19ce07a1ecddb5db01145e196ed559d0e Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 3 Feb 2024 23:22:00 +0530 Subject: [PATCH 01/10] Updated scripts to modules to use in populate.py --- scripts/acc.xlsx | Bin 5729 -> 0 bytes scripts/add_batch.py | 16 +++++++-- scripts/add_data.py | 77 ++++++++++++++++++++++++++++++++++-------- scripts/add_degree.py | 12 +++++-- scripts/add_pass.py | 20 +++++++---- scripts/add_reg.py | 24 ------------- scripts/data_acc.xlsx | Bin 0 -> 8690 bytes 7 files changed, 99 insertions(+), 50 deletions(-) delete mode 100644 scripts/acc.xlsx delete mode 100644 scripts/add_reg.py create mode 100644 scripts/data_acc.xlsx diff --git a/scripts/acc.xlsx b/scripts/acc.xlsx deleted file mode 100644 index bf15a7b73d5a22ca6b14be31543a0f4ba52ff268..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5729 zcmai2bzD?yw;mb&gpMnIZD8U%C*32BfRLP}6tX{iBekdlxTq!9tB zp_HyWbI$z^9>06eedeE;{o8BJ-p^X^ibq==3!4IfkB<-V;{$5~egQ4&yO$Hl+#TxV z0fM=@J6gHAI`VlrJMp2fl*Vf~e&8nx+dijMKI~M*vyK*Pik2%sKf>tJSsdyRNf@uW z^yi~9xdz=FN*tQ_(X6t+E*!HS(V;+uTa<$x+Sd65zv-Z3MstMWFOv%lIsqp0d z)h0G8iw`o|A}zf!a*VbB2; zj__^2Yq_UZ-MmJIi`C)ILm&8ZeF4_ok&sIQglK*3Yfvzy4+n)i#mU-exOT0iqQQH2@7YbRm z;e*nz@qAW|RS~x)j=2O5ne%^?BaFZ^#S*{h_ac-e3f4KIA4^eqU0#xsntWXw8 zFF@!v@`WCe@tJs93K=6{)G(-4)O*x2W-_F-u$&>_WB<%dbh$5WJPs*cu(1sG?%NWW z)$w|`7h3{*lN13;V~_8qv;Uh=G9Y3DWj-X z$-?=VwQoJz+Sln#+8QyN9O)fZegKEk#lC4Eh0-&-#V2eBZDiDawGG?6vSkHK&C6*u zozdjR{Z6h6Q&fDnXcMi3s$^u!{9k^dqJA5pqf97Ob(lKMw9*2GB}xCFu(rgIZF~5H zOVN8vOiJxh>``EHUEqt5N_v7i8@limqTKtlNe^SU>si?E<-KzZ@i?F*N@rzlSEn@) z=TjtZcMHSL8`RTv_q}UCx|R9@4z@Um?1DcD5{$JhRirx$?EJ1<`uv^`Uf739q1O@v z13&D+%t1DtR$^(B)N{uYNsPT;wSr)cKV}y>XG@s}xfIR-Z=xa59TR!27L+9p(TAS3 zS(CJ10E-QT0hY=pSS&9o1RJ{|?QY`u__P9Jv11z!XAN%!Gn1U2McVSpMw9D9xoK8*S19jqO{6O~%CQ+{nt z^roL)&v5G{!Od`uo@~ygrG0}7YFl=V{sm;Jw4?m1v_7Kt*V+Z&Prhb{&uqU~A3HBj z_ld+#*8`P5el6@an78&^uh{a9HX*^Iu!HW*-^Xo9ysx9T z>cb)`Hrlb{ivt!Ga3CrFmTk#%O7p7V7>ZnkjR0dGn2-8F0V5B}i1>_MOEmIN%Z!r0 z()9@n_b$fV8Iieu3UwfEraAE3t-fwftL5L=XZoB%#t4=l%MB|WeX%);Uy16UNF z(=cxWuzhe@T1XZ=2{?hA9nOVe8r-3~#05*=>T1Pfed=+PKOJbq3+~AiKC8q5ze{~= zwr4>^&AJW}+n+fhs33mUnnsI1+vX*B{UztF7lB6-?Kg#hnTxh$pB&5sxczMdy;V}? zY<PK4V8X?_?F_V`o*Nc zs@oGHRZv%lgKOa^go*t&-rqJQi69K0C`=0&^$HYqq^_nYS!p7mkhv=sB=AVi<9Hg7 zLhgcri2C;8RVH6&CF>4HN+`XsnDH%RvJynoCVS_&+9T}QL{?Poq__~s4?Y%&1=V&3 zJKfEH^nm322aE$W4;s6KnR9c^$t2KwY~XH}_@?JBPWUz!3U;h3Eq^~=|7NvLZ^>$v z*?*~!lyQIkG&9KgUDk%=<96t&@+n~SQvQ|Wl$-BF+IVPB}V;Y|_3 z`C4zBJGBb4fjKIL8Uyj*svpkQfz$}hR^t<$8{qSF!cK{h&|@Yd)8t#>F`r28aBRvF zsl;~78Rk?t)$oLdyeYdGCpz%Zj2s!#mvLMSnKF+_*?k&dr`sEA^f4dDp?c&EXcE>F zFR`dASiXS&Rf^`2GeFiZ56q?TX?&M;!6u;FWc22oJ&RejJYVhmVcjmGfv?6f5jj1V zl#_^HpQSWp=J$u$*ZiV@rK@`@{_YbGbu5$!Gh%JO&B5@jAeQ~MU!|-V_cpT`^!wQ` zq`5;YR-?oyG&AX+t=CZ9S!!A9L6*o!FXOJ8h4C6lY!eo3dInKQT;mp0jUJHKZk?fy zSJwQ$#*(?=E(Gz7H*5=!XT zgZx$R&F5shE@AW{Lk)emSP@T>p7yR^FbK6kI@YPtIrH302ziJaSzP|L{SyC~GajDa zPS8JQMP#a}>q~x$u<I3n_SKs^tQ7qhNT8F4l}b96~VF*z;$J~+ZsQqOR5d*M%GHH zvm<=Az};lEB*CtTrLe#i_37YTseo&V)x!Vrs0AIG1g9V|KCsj!H(w8eGX?{>iaeBG{40XifC!J5s6G$8FAVMnUK zbD=8YhH-!92|l#8l}hz)>;L5I$S;%%>?g9t6>3OLqu&|@E!$K>T-bb*G%u=v zW75qHAD(`v52)J^@K3u7o7?}Pys?c0&vQ@PG*q595CjAmyuAJ#X#iE&Z$_Sp&TV}K zZoX~xU&CL3oH|E7=7QB`f%VJ|7efU}+_$PV%QX5!Ij+rUD~~d+xTzBzt(`mQR53ar za2#&l{<>Rqn_*ui5veL|-Yq>fykS2d5j_xHo0Z6DcOqza?k|$~e0-kw!#w&J$enCN z^rN<>Gt_eQ&zln=>KOdFQ2x0@CJd@!3EV(U=uvQA7=lvKrm87o=%tEZU~2z`rDz&I z@Ufq7FurkNK3<%v|BnGth4fi6+x@7Fdr``+MaJCGv1c^Cxv#GuZqPM3LIzkq8LF|8 zSoao^C4xIOpLm4F0NUAlcsArHxtJ&ZLf*t#6;&Y6fR4hb1%B<6` zicW2LEcHIzJyVAKdq~-Zhj<;na@<8@g2q~(-RIU}b~_mq5qS8vMM1R-sMnVK*Ol@H z>JA%MYi)N|HxH1do7*4jBwP!$6ZBjzc@&%r2}4!f9y`?p9}eC*{Vzpd`yOv#{`vF@#FClCf>u9qRf�-~g>)B25!)K!KV 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 KS)20y+y4NFh})w8 literal 0 HcmV?d00001 From 02441554cfff9dffce34ec907f82abbaa9c9509a Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 3 Feb 2024 23:23:01 +0530 Subject: [PATCH 02/10] Added populate command to be used directly with django env commands --- .../adminportal/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/populate.py | 40 +++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 applications/adminportal/management/__init__.py create mode 100644 applications/adminportal/management/commands/__init__.py create mode 100644 applications/adminportal/management/commands/populate.py diff --git a/applications/adminportal/management/__init__.py b/applications/adminportal/management/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/applications/adminportal/management/commands/__init__.py b/applications/adminportal/management/commands/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/applications/adminportal/management/commands/populate.py b/applications/adminportal/management/commands/populate.py new file mode 100644 index 00000000..098f53e1 --- /dev/null +++ b/applications/adminportal/management/commands/populate.py @@ -0,0 +1,40 @@ +from django.core.management.base import BaseCommand +from scripts.add_batch import add_batch +from scripts.add_data import add_data +from scripts.add_degree import add_degree +from scripts.add_pass import add_pass + + +class Command(BaseCommand): + help = 'Populates the database with initial data' + + def handle(self, *args, **options): + self.stdout.write("Starting the population process") + + + try : + add_batch() + self.stdout.write(self.style.SUCCESS("Batches added successfully")) + except : + self.stdout.write(self.style.ERROR("An error occured while adding batches")) + + try : + add_degree() + self.stdout.write(self.style.SUCCESS("Degrees added successfully")) + except : + self.stdout.write(self.style.ERROR("An error occured while adding degrees")) + + try : + add_data() + self.stdout.write(self.style.SUCCESS("Data added successfully")) + except : + self.stdout.write(self.style.ERROR("An error occured while adding data")) + + try : + add_pass() + self.stdout.write(self.style.SUCCESS("Passwords added successfully")) + except : + self.stdout.write(self.style.ERROR("An error occured while adding passwords")) + # ... call other functions ... + + self.stdout.write(self.style.SUCCESS("Population process completed successfully")) From 6b07a423d2acd0dd0428f21cf1f05a1d7c9d731d Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 3 Feb 2024 23:26:34 +0530 Subject: [PATCH 03/10] removed unused deps --- scripts/add_data.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/add_data.py b/scripts/add_data.py index 4b11fc65..5807182d 100644 --- a/scripts/add_data.py +++ b/scripts/add_data.py @@ -1,4 +1,3 @@ -import datetime, xlrd from openpyxl import load_workbook from django.contrib.auth.models import User from applications.alumniprofile.models import Profile, Batch From 08afc5eb9c00c2d4a9dbd3f8619dd6fd075da4ad Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 3 Feb 2024 23:26:50 +0530 Subject: [PATCH 04/10] Updated requirements.txt --- requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 37eea0a3..482073d7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -66,5 +66,6 @@ vine==5.1.0 wcwidth==0.2.13 webencodings==0.5.1 wrapt==1.16.0 -xlrd==1.2.0 zipp==0.6.0 +openpyxl==3.0.9 + From d1260029dc9e800b7f0469241758fdc5af4be853 Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 12:47:30 +0530 Subject: [PATCH 05/10] Moved directory for management --- .../adminportal => AlumniConnect}/management/__init__.py | 0 .../management/commands/__init__.py | 0 .../management/commands/populate.py | 0 AlumniConnect/settings/common.py | 3 ++- 4 files changed, 2 insertions(+), 1 deletion(-) rename {applications/adminportal => AlumniConnect}/management/__init__.py (100%) rename {applications/adminportal => AlumniConnect}/management/commands/__init__.py (100%) rename {applications/adminportal => AlumniConnect}/management/commands/populate.py (100%) diff --git a/applications/adminportal/management/__init__.py b/AlumniConnect/management/__init__.py similarity index 100% rename from applications/adminportal/management/__init__.py rename to AlumniConnect/management/__init__.py diff --git a/applications/adminportal/management/commands/__init__.py b/AlumniConnect/management/commands/__init__.py similarity index 100% rename from applications/adminportal/management/commands/__init__.py rename to AlumniConnect/management/commands/__init__.py diff --git a/applications/adminportal/management/commands/populate.py b/AlumniConnect/management/commands/populate.py similarity index 100% rename from applications/adminportal/management/commands/populate.py rename to AlumniConnect/management/commands/populate.py diff --git a/AlumniConnect/settings/common.py b/AlumniConnect/settings/common.py index 60be5331..db4df0d5 100644 --- a/AlumniConnect/settings/common.py +++ b/AlumniConnect/settings/common.py @@ -36,7 +36,8 @@ 'applications.chapter', 'ckeditor', 'ckeditor_uploader', - 'tempus_dominus' + 'tempus_dominus', + 'AlumniConnect', ] MIDDLEWARE = [ From a721fc1f7996572cd7239978617f9687566ee6ed Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 12:48:51 +0530 Subject: [PATCH 06/10] updated requirements.txt --- requirements.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 482073d7..2f3ba94d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ amqp==5.2.0 astroid==2.1.0 async-timeout==4.0.3 +backports.zoneinfo==0.2.1 beautifulsoup4==4.6.0 billiard==4.2.0 cachetools==3.1.0 @@ -12,7 +13,7 @@ click-didyoumean==0.3.0 click-plugins==1.1.1 click-repl==0.3.0 colorama==0.4.4 -defusedxml==0.5.0 +defusedxml==0.7.1 Django==2.2.28 django-allauth==0.32.0 django-anymail==6.0 @@ -29,6 +30,7 @@ django-semanticui-forms==1.6.5 django-tempus-dominus==5.1.2.13 django-widget-tweaks==1.4.3 easy-thumbnails==2.6 +et-xmlfile==1.1.0 google-auth==1.6.3 html5lib==1.0b10 httplib2==0.12.3 @@ -42,6 +44,7 @@ Markdown==3.0.1 mccabe==0.6.1 more-itertools==8.0.2 oauthlib==3.0.1 +openpyxl==3.1.2 pilkit==3.0 Pillow==9.5.0 prompt-toolkit==3.0.43 @@ -66,6 +69,7 @@ vine==5.1.0 wcwidth==0.2.13 webencodings==0.5.1 wrapt==1.16.0 +xlrd==1.2.0 zipp==0.6.0 openpyxl==3.0.9 From 21dbd6f1d41f56d1c0d59187adebd306b23f5b8b Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 12:52:13 +0530 Subject: [PATCH 07/10] updated requirements.txt --- requirements.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index 2f3ba94d..5c50964c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -71,5 +71,3 @@ webencodings==0.5.1 wrapt==1.16.0 xlrd==1.2.0 zipp==0.6.0 -openpyxl==3.0.9 - From 385abfade93ec8e8d2d4e53ad79e2ad527ab6ff4 Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 13:00:14 +0530 Subject: [PATCH 08/10] Refactore populate.py --- AlumniConnect/management/commands/populate.py | 42 ++++++++----------- 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/AlumniConnect/management/commands/populate.py b/AlumniConnect/management/commands/populate.py index 098f53e1..447ede20 100644 --- a/AlumniConnect/management/commands/populate.py +++ b/AlumniConnect/management/commands/populate.py @@ -10,31 +10,25 @@ class Command(BaseCommand): def handle(self, *args, **options): self.stdout.write("Starting the population process") - - try : - add_batch() - self.stdout.write(self.style.SUCCESS("Batches added successfully")) - except : - self.stdout.write(self.style.ERROR("An error occured while adding batches")) - - try : - add_degree() - self.stdout.write(self.style.SUCCESS("Degrees added successfully")) - except : - self.stdout.write(self.style.ERROR("An error occured while adding degrees")) + operations = [ + (add_batch, "Batches added successfully", "An error occured while adding batches"), + (add_degree, "Degrees added successfully", "An error occured while adding degrees"), + (add_data, "Data added successfully", "An error occured while adding data"), + (add_pass, "Passwords added successfully", "An error occured while adding passwords") + ] - try : - add_data() - self.stdout.write(self.style.SUCCESS("Data added successfully")) - except : - self.stdout.write(self.style.ERROR("An error occured while adding data")) + error_occured = False - try : - add_pass() - self.stdout.write(self.style.SUCCESS("Passwords added successfully")) - except : - self.stdout.write(self.style.ERROR("An error occured while adding passwords")) - # ... call other functions ... + for operation, success_message, error_message in operations: + try: + operation() + self.stdout.write(self.style.SUCCESS(success_message)) + except: + error_occured = True + self.stdout.write(self.style.ERROR(error_message)) - self.stdout.write(self.style.SUCCESS("Population process completed successfully")) + if error_occured: + self.stdout.write(self.style.ERROR("Some data could not be added. Please check the error messages above.")) + else: + self.stdout.write(self.style.SUCCESS("Population process completed successfully.")) From 71426bb01dc7f7ea1edd464faf66f26395004810 Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 13:05:33 +0530 Subject: [PATCH 09/10] Suggested changes and added direct imports --- scripts/add_batch.py | 5 ----- scripts/add_data.py | 11 +---------- 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/scripts/add_batch.py b/scripts/add_batch.py index 65450c7b..2db05e4d 100644 --- a/scripts/add_batch.py +++ b/scripts/add_batch.py @@ -1,8 +1,3 @@ -import os -import django -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "AlumniConnect.settings.development") -django.setup() - from applications.alumniprofile.models import Batch def add_batch() : diff --git a/scripts/add_data.py b/scripts/add_data.py index 5807182d..1f1332ad 100644 --- a/scripts/add_data.py +++ b/scripts/add_data.py @@ -2,16 +2,7 @@ from django.contrib.auth.models import User from applications.alumniprofile.models import Profile, Batch from django.db import transaction - -def reg_no_gen(degree_, spec_, year): - degree = {"B.Tech": "1", "B.Des": '2', "M.Tech": '3', "M.Des": '4', "PhD": '5'} - spec = {"NA": '00', "CSE": "01", "ECE": "02", "ME": "03", "MT": "04", "NS": "05", "DS": "06"} - last_reg_no = Profile.objects.filter(year_of_admission=year).order_by('user__date_joined').last() - new_reg_no = (int(str(last_reg_no.reg_no)[-4:]) + 1) if last_reg_no else 1 - return degree[degree_] + spec[spec_] + str(year)[2:] + str(convert_int(new_reg_no, 4)) - -def convert_int(number, decimals): - return str(number).zfill(decimals) +from AlumniConnect.views import reg_no_gen def add_data() : From a2c1f07495a4f9a96e7f864b8741030b8f25efb3 Mon Sep 17 00:00:00 2001 From: Priyansh61 <21bec080@iiitdmj.ac.in> Date: Sat, 17 Feb 2024 13:11:45 +0530 Subject: [PATCH 10/10] updated add batch and data script --- scripts/add_batch.py | 2 +- scripts/add_data.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/add_batch.py b/scripts/add_batch.py index 2db05e4d..a8518066 100644 --- a/scripts/add_batch.py +++ b/scripts/add_batch.py @@ -2,7 +2,7 @@ def add_batch() : try : - batch_list = [Batch(batch = year) for year in range(2000, 2024)] + batch_list = [Batch(batch = year) for year in range(2009, 2024)] Batch.objects.bulk_create(batch_list, ignore_conflicts=True) print("Batch added successfully") except Exception as e : diff --git a/scripts/add_data.py b/scripts/add_data.py index 1f1332ad..48f13724 100644 --- a/scripts/add_data.py +++ b/scripts/add_data.py @@ -18,9 +18,15 @@ def add_data() : roll_no = str(int(roll_no)) email = str(email) + first_name, last_name = name.split(' ', 1) + # User creation logic - user, user_created = User.objects.get_or_create(username=roll_no, defaults={'email': email}) + user, user_created = User.objects.get_or_create( + username=roll_no, + first_name=first_name, + last_name=last_name, + defaults={'email': email}) if user_created: user.set_password(roll_no) user.save()