From a492b06e026de7ae97924a928c616ee1cc917835 Mon Sep 17 00:00:00 2001 From: Not-yourCoder <84792472+Not-yourCoder@users.noreply.github.com> Date: Sun, 1 Jan 2023 13:00:42 +0530 Subject: [PATCH] initial commit --- newsAgg/db.sqlite3 | Bin 0 -> 131072 bytes newsAgg/manage.py | 22 ++++ newsAgg/news/__init__.py | 0 .../news/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 185 bytes .../news/__pycache__/admin.cpython-310.pyc | Bin 0 -> 226 bytes newsAgg/news/__pycache__/apps.cpython-310.pyc | Bin 0 -> 460 bytes .../news/__pycache__/models.cpython-310.pyc | Bin 0 -> 223 bytes .../news/__pycache__/views.cpython-310.pyc | Bin 0 -> 892 bytes newsAgg/news/admin.py | 3 + newsAgg/news/apps.py | 6 + newsAgg/news/migrations/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 196 bytes newsAgg/news/models.py | 3 + newsAgg/news/templates/news/index.html | 43 ++++++ newsAgg/news/tests.py | 3 + newsAgg/news/views.py | 34 +++++ newsAgg/newsAgg/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 188 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 2320 bytes .../newsAgg/__pycache__/urls.cpython-310.pyc | Bin 0 -> 1038 bytes .../newsAgg/__pycache__/wsgi.cpython-310.pyc | Bin 0 -> 591 bytes newsAgg/newsAgg/asgi.py | 16 +++ newsAgg/newsAgg/settings.py | 124 ++++++++++++++++++ newsAgg/newsAgg/urls.py | 23 ++++ newsAgg/newsAgg/wsgi.py | 16 +++ 25 files changed, 293 insertions(+) create mode 100644 newsAgg/db.sqlite3 create mode 100644 newsAgg/manage.py create mode 100644 newsAgg/news/__init__.py create mode 100644 newsAgg/news/__pycache__/__init__.cpython-310.pyc create mode 100644 newsAgg/news/__pycache__/admin.cpython-310.pyc create mode 100644 newsAgg/news/__pycache__/apps.cpython-310.pyc create mode 100644 newsAgg/news/__pycache__/models.cpython-310.pyc create mode 100644 newsAgg/news/__pycache__/views.cpython-310.pyc create mode 100644 newsAgg/news/admin.py create mode 100644 newsAgg/news/apps.py create mode 100644 newsAgg/news/migrations/__init__.py create mode 100644 newsAgg/news/migrations/__pycache__/__init__.cpython-310.pyc create mode 100644 newsAgg/news/models.py create mode 100644 newsAgg/news/templates/news/index.html create mode 100644 newsAgg/news/tests.py create mode 100644 newsAgg/news/views.py create mode 100644 newsAgg/newsAgg/__init__.py create mode 100644 newsAgg/newsAgg/__pycache__/__init__.cpython-310.pyc create mode 100644 newsAgg/newsAgg/__pycache__/settings.cpython-310.pyc create mode 100644 newsAgg/newsAgg/__pycache__/urls.cpython-310.pyc create mode 100644 newsAgg/newsAgg/__pycache__/wsgi.cpython-310.pyc create mode 100644 newsAgg/newsAgg/asgi.py create mode 100644 newsAgg/newsAgg/settings.py create mode 100644 newsAgg/newsAgg/urls.py create mode 100644 newsAgg/newsAgg/wsgi.py diff --git a/newsAgg/db.sqlite3 b/newsAgg/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..4ae14dac8d3f890254f4fa99a77f5222d5e4682f GIT binary patch literal 131072 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 literal 0 HcmV?d00001 diff --git a/newsAgg/news/__pycache__/admin.cpython-310.pyc b/newsAgg/news/__pycache__/admin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2ca8ef80a19edb4a5f49b19cd54686e1c81ee7e6 GIT binary patch literal 226 zcmd1j<>g`kf~7_qlbwL{V-N=!FabFZKwK;UBvKes7;_kM8KW2(8B&;n88n$+0!0}# z8E>&BrsQVk`Drpm@ug%X=B4NBCFkdr6lEqAfecv5P{a(Rz{IaeXRDad;?$zzn4rq4 z)V%P-oYWZqyi}K>%(B!Nm;B_?+|<01;+TNSl8pSk7#FZ%vRQxu05@$sQ2+n{ literal 0 HcmV?d00001 diff --git a/newsAgg/news/__pycache__/apps.cpython-310.pyc b/newsAgg/news/__pycache__/apps.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8a47c4bac15c9a7d87f5ca6fac08804fcf4c20b4 GIT binary patch literal 460 zcmYjNy-ve05VqqKh5jt4D^k}i85j{lEv;ZH2!ue9CCk)q2y*OTC!ltPC*U0z7bie-Y{N0(spo>7>4?Y)f;J9v#A(aY6Z>Km>kJ=bz(^CwAXW>FVXSB_q+s(Yj9 ztffai>5_6~3H;$N>UO|HD8vzNYx9^iz3rYJYXeWlqyK1a Vq8`+m=xDRwvA?DB1N&%5egW9|b~*q6 literal 0 HcmV?d00001 diff --git a/newsAgg/news/__pycache__/models.cpython-310.pyc b/newsAgg/news/__pycache__/models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..077fe0a5b82b35e877621d32fa5d1b22cc061d5c GIT binary patch literal 223 zcmd1j<>g`kf~7_qlWl)W=BK3Q6#Hp1-QrBiO3X{o*Gow%0%=~!P{abHz{Ia8XRDad;?$zzn4rq4)V%P- zoYWZqyi}K>%(B!Nm;B_?+|<01;+TNSl8pSk7#FZXF@CA##R`t;=|!pOi6!|(F?m2f fkPD_`Aol7NRNmsS0kTVTQtcRl))j-S7GMAXo(DUX literal 0 HcmV?d00001 diff --git a/newsAgg/news/__pycache__/views.cpython-310.pyc b/newsAgg/news/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b40aa912c2f05bb80c973e1a26735d1cea4d9cc8 GIT binary patch literal 892 zcmYjP!EVz)5Zzrnj_Wv0NDC4-khr80iG=8-LWt6wOGQD5l~LtpC$=NUPIuQ$TX8G= z1&8#=ksshgd_v;XGdC_}b`{aCG_y0Koi}f0wrsZpg6G%vkMTQ)kl)6+dm8AxLQy|a z2_k4tW|UKEY?d?5@OE-%=5m)3V9SPZuPFDx1#j9EjZ4OT@Rw`C!)O2jzHWYH4+#$v z!dnoG$S0qN&|0=3oUUIX?#Y%#@$r2JQ93J>E_9do#F_|1E2CG8_n;?2!7Nq}u{NM* zu{L1?u{Kv&2cj+3zYu<3utU=CTw@QUPis#?Awce<*?tXirL#$uAC}epVk^~pu6Bk) zoy|a%ldKR~Jh0kE2IF!zJeC{6jtUJc|HZ5nRSqxBrqmNuA@ONQ0~dvb%w;}Xr-2vJE=FByywLdv DI{fqX literal 0 HcmV?d00001 diff --git a/newsAgg/news/admin.py b/newsAgg/news/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/newsAgg/news/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/newsAgg/news/apps.py b/newsAgg/news/apps.py new file mode 100644 index 0000000..44db8e5 --- /dev/null +++ b/newsAgg/news/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class NewsConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'news' diff --git a/newsAgg/news/migrations/__init__.py b/newsAgg/news/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/newsAgg/news/migrations/__pycache__/__init__.cpython-310.pyc b/newsAgg/news/migrations/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77e763b4304bd7f0a05f9f6d2a1a9289c1cae1fb GIT binary patch literal 196 zcmd1j<>g`kf~7_qlR@-j5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_|vsFxJacWU< zOi*Q2YF>C^PHK#QUaCt`W?5>COMY@`ZfaghaZEsENk)ENj7wHxUV46vUut==f@6Am zQEGZ(Nq$jG9*_^@g6Wvt%=DtflFa + + + + + + +
+

HackersFriend News Aggregator

+ Refresh News + +
+
+
+
+
+

News from Times of india

+ {% for n in toi_news %} +
- {{n}}
+
+ {% endfor %} +
+
+
+

News from Hindustan times

+ {% for htn in ht_news %} +
- {{htn}}
+
+ {% endfor %} +
+
+
+ + +
+ + + + + \ No newline at end of file diff --git a/newsAgg/news/tests.py b/newsAgg/news/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/newsAgg/news/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/newsAgg/news/views.py b/newsAgg/news/views.py new file mode 100644 index 0000000..5798877 --- /dev/null +++ b/newsAgg/news/views.py @@ -0,0 +1,34 @@ +from django.shortcuts import render +import requests +from bs4 import BeautifulSoup + +# GEtting news from Times of India + +toi_r = requests.get("https://timesofindia.indiatimes.com/briefs") +toi_soup = BeautifulSoup(toi_r.content, 'html5lib') + +toi_headings = toi_soup.find_all('h2') + +toi_headings = toi_headings[0:-13] # removing footers + +toi_news = [] + +for th in toi_headings: + toi_news.append(th.text) + + + +#Getting news from Hindustan times + +ht_r = requests.get("https://www.hindustantimes.com/india-news/") +ht_soup = BeautifulSoup(ht_r.content, 'html5lib') +ht_headings = ht_soup.findAll("div", {"class": "headingfour"}) +ht_headings = ht_headings[2:] +ht_news = [] + +for hth in ht_headings: + ht_news.append(hth.text) + + +def index(req): + return render(req, 'news/index.html', {'toi_news':toi_news, 'ht_news': ht_news}) \ No newline at end of file diff --git a/newsAgg/newsAgg/__init__.py b/newsAgg/newsAgg/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/newsAgg/newsAgg/__pycache__/__init__.cpython-310.pyc b/newsAgg/newsAgg/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..881839d4020d179d2a04d778f6182317306e354b GIT binary patch literal 188 zcmd1j<>g`kg7=0SlR@-j5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_~vsFxJacWU< zOi*Q2YF>C^PHK#QUaCt`W?5>COMY@`ZfaghaZEsENk)ENj7wHxUV46vUut==f@6Am vQEGZ(Nq$jG9*_^@!s+<<%)HE!_;|g7%3B;Zx%nxjIjMFai;J0n1PcQIducLL literal 0 HcmV?d00001 diff --git a/newsAgg/newsAgg/__pycache__/settings.cpython-310.pyc b/newsAgg/newsAgg/__pycache__/settings.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d6a3f3ee941ee80e1bb64b77fa19b55283dc71fe GIT binary patch literal 2320 zcmb7FOK;mo5GH9_QWPt3?7W(w0MVw1l}1$DIB5{HX=stQ)#wG2id#YeL2*~~I(*37 zm0k1NzmY?mLxCRqcX;iof1rn=XgZ`MTaW|PrNrfO9^cG&b79RN}bb z)0f#R2QM$-roX^|IFmy>5Lz$y8Kpjd9#F;%qysbuHYQHdY41XZw11eSJ5@J0yfvs zYBpZa#v6opMROV5G_Rps<_bhxh5I_XZQej1nK#iLoh#q9AMzYmR1fUH4JC>hBY{h$ zK^RE^KBkK6O2a5Tzz&m(#cdqm$YvNx{S)av%6uv|@<||3W=Cvdd0!e)K#?Y(8}hom z0p44H>4y=PNC5D@%}5wX@Mrr30um2Dg!s6)&)ASYuU1j$PDgRUA|Su*$+A zacFg#aCHpN_OUb=d7k7E%A{~`wjet|5D1e8i&F2+9C~Oxz z?#z2I*cd0>4w{H*2|#w0iH%PX^6;@8VL4kZVJEVlE*mDzQ(e3<4>?Ifp7GbmvKg=P z`5>_0ei+EL?C~F_G#bb?7+w>6JY)LhTrM_HIGcw8@4y~$vT~epoL|J0uvzEkn8X>c zryp2^N1QhYw(|yBLjGxbx*6J(9)}UK z;0z%s3nzCejue(Q?TBHW_{6i*c6dFu2&4GLMUk2$ApXd2;J{`3Xa3(@)PLM2ok@;o z052~J&>HzTBF=e)MI2N{G+F2xwKxwaJ+w`Bsv* zEI7n1E6ESxsPsrb5`fyIU|H$$lFB1YL+=PDxgne>0W%Amims(QofLJgwyPP|EA9Ja zQPnoP+et}jG}?QbYVEXjLr<>MTe<-v5I}k8NwHa1)rPjG>}tug^_QRm3W?kQF!J#a{ zhdIKo&BCZR>4ekg^qVLTPm;n{us0(QzkrWCN56$ZOV literal 0 HcmV?d00001 diff --git a/newsAgg/newsAgg/__pycache__/urls.cpython-310.pyc b/newsAgg/newsAgg/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33d7b01c33d8497038368d1d18c4ee945ac09d7e GIT binary patch literal 1038 zcma)5U2oGc6iwQ+>$0z3faJF>(nvG}FBL;f`w&BDpuvPxB6VJTo2H8G$acoMSDyJH zJo0z)$`gNq2gJ3Pq6!IVj^f-{*XN#dd@Z-OLJ!BIXWz4vuIK%*KdYmUKQHmsuW@4D z*keBHls@l_JHCy(WtRuzz{Nq? zqL5Y{&lB)jALco^ym&*7q?i_Yt*9xa2*VFEAXl|2D{2fVp|40;XhW2&4QRVT6C=q@ zfe0}95Z7oJxUTLGaa)z6}haGoI_^fO!5Ro@-*I0 zjI4@GCpJ03@;V7mZYf7BJqk~2ky&>4WgX~#Ob!_%RFHyKQkfAUQzbd!iwUi&c5x;D zNt^E^qkt8KxE00Dc89~gR@Y2&*du~+I2hV^7==eA)%x)@3S%p%|6?J|43s4jJEN9# zULlra|3Ef2Kc;$OL3X2m7@di%tXUy)G{M!g(lR{Er9WrR7=l#rcx*20Mr7JrIl8y& z{y1W5_>yFsyXQ=KFx%@=<_Q|OtTeO>4tE$u;ZJO0FY=onWxNm=1lDo8;QYDkyY-~; zn!x&P6Ri8^(MGd2nPB5gCgbgvD@rt~xK`N4UbC?xK;b?G=UY@^a{b? zw%J%Y_ivus!8AAh`gAl(FEuEgUM%iFe556$Zv`By;s(-VnbjPG(doN|nMsizyDm=8 vu@u33q#&n8s1~_>Z*ynU$EUmP4}Sjvw6a5L literal 0 HcmV?d00001 diff --git a/newsAgg/newsAgg/__pycache__/wsgi.cpython-310.pyc b/newsAgg/newsAgg/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4afdb6d649e15bee2f9903ba3b36fd8530db80f3 GIT binary patch literal 591 zcmYjP!EO^V5cO`-rYscofH?aa33jQ(sX~aVTcRLH5NTB@th6!f$;Oe_v$CCpa~fneVLa=_dC;A`l!)+aJPv!en^CV%3sh54(kW`HU}etB zlGYmMP}n$%`j*1S8Vwj~XFzuiOiK1a0%e9WS|MLZcr0NFk}jDR+md1xa5|Z=x|X6~ zR-l?p{JfVQr9urk5=jR;Cn5^vgd78FT~ppah#YcljO-_b`2RKIjee(dE@uf6yD{Z-(jh z>&wl_?e?(&YlSLJx8pi_?kVKC3(>ff9g(>3{NrY<4n2_TfLaQT%0<4B!;~$gb$9m= zzY*OCxpjZuUz}yv2DHiEtv8@~OSh|M1FsA9!e}U& jMV;L;{T~}LalLj&&vt4&_uqw>2DD9%?%WIShf(+!!}Ytg literal 0 HcmV?d00001 diff --git a/newsAgg/newsAgg/asgi.py b/newsAgg/newsAgg/asgi.py new file mode 100644 index 0000000..515f053 --- /dev/null +++ b/newsAgg/newsAgg/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for newsAgg project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'newsAgg.settings') + +application = get_asgi_application() diff --git a/newsAgg/newsAgg/settings.py b/newsAgg/newsAgg/settings.py new file mode 100644 index 0000000..f9aefd8 --- /dev/null +++ b/newsAgg/newsAgg/settings.py @@ -0,0 +1,124 @@ +""" +Django settings for newsAgg project. + +Generated by 'django-admin startproject' using Django 4.1.4. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.1/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-w=yq(vh510$8_3(k2o(f*@fst*1e8#b(aon%6m0c--0-qzrj4$' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'news', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'newsAgg.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'newsAgg.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.1/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/newsAgg/newsAgg/urls.py b/newsAgg/newsAgg/urls.py new file mode 100644 index 0000000..2b821c6 --- /dev/null +++ b/newsAgg/newsAgg/urls.py @@ -0,0 +1,23 @@ +"""newsAgg URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.1/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path +from news import views + +urlpatterns = [ + path('admin/', admin.site.urls), + path('', views.index, name = "home"), +] diff --git a/newsAgg/newsAgg/wsgi.py b/newsAgg/newsAgg/wsgi.py new file mode 100644 index 0000000..dc1eeac --- /dev/null +++ b/newsAgg/newsAgg/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for newsAgg project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'newsAgg.settings') + +application = get_wsgi_application()