From f6ebf7b4faeb9f725f95fcdcf26dc5154c148b5f Mon Sep 17 00:00:00 2001 From: Tony Marsella Date: Fri, 30 Jun 2023 13:59:48 -0700 Subject: [PATCH] App update --- __pycache__/app.cpython-310.pyc | Bin 3099 -> 2830 bytes app.py | 15 +- cron.txt | 1 + indeed_input.xml | 2 +- indeed_output.xml | 2 +- reported.xml | 2 +- static/style.css | 424 +++++++++++++++++++++----------- templates/index.html | 135 +++++++--- xmldownloader.py | 66 +++-- 9 files changed, 419 insertions(+), 228 deletions(-) create mode 100644 cron.txt diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc index e2a1aaae0e2b133b36712b79e18176dcbbcd328f..9cc42bac312c347683271ac2cc71f7aff3302cd4 100644 GIT binary patch delta 178 zcmbO&(I>{2&&$ij00h52%}aU6H<3?eo8Pf?GBP?$u3%fs=)GBuU5$}3V6!jBGe)ggplQVdK!S&fhmnU#gprSt zg_-3)2Xm1pQ1BKX>Ra7j(R%gv{v0F;zq5MtzD9EKOiXEE_Z=;X20U$I$$t>FxL1K1BJEkUE7&R(p^54?<&E((DG!%eK57?M6(EsD9l zZp*RHQ)eBEIj6Se)EO6xZm*0Z>iGw*a2nk6B2DM!#eEzW$4M> /home/heartily/Heartily/logfile.log 2>&1 diff --git a/indeed_input.xml b/indeed_input.xml index 9d800a8..1da93eb 100644 --- a/indeed_input.xml +++ b/indeed_input.xml @@ -1 +1 @@ -it technology developer software bible christian jesus god .xml Jobs | Indeed.comhttps://www.indeed.com/jobs?q=(it+OR+technology+OR+developer+OR+software)+AND+(bible+OR+christian+OR+jesus+OR+god)+-LDS+-%22Latter-Day+Saints%22.xmlenCopyright (c) 2023 Indeed, Inc All rights reserved.Thu, 29 Jun 2023 21:32:50 GMThttps://www.indeed.com/images/indeed_rss.pngIndeed.com - one search. all jobs.https://www.indeed.com/Azure Full Stack Developer - RAKE Digital - Salem, VAhttps://www.indeed.com/viewjob?t=Azure+Full+Stack+Developer&c=RAKE+Digital&l=Salem,+VA&jk=0c032cb5f8eb4308&rtk=1h44h5fcni0ct800&from=rssRAKE Digital889a8ce29aa63896b5a3e20f5737f72eMon, 21 Sep 2020 21:33:20 GMTMicrosoft certifications for software development or cloud technologies. Bachelors degree in computer science or engineering. 4+ years of experience with . $70,000 - $90,000 a year<br>From RAKE Digital - Mon, 21 Sep 2020 21:33:20 GMT - View all <a href="https://www.indeed.com/jobs?l=Salem%2C+VA">Salem, VA jobs</a>37.29347 -80.05476Senior D365 - Power Platform Developer - The Christian Broadcasting Network - Virginia Beach, VAhttps://www.indeed.com/viewjob?t=Senior+D365+-+Power+Platform+Developer&c=The+Christian+Broadcasting+Network&l=Virginia+Beach,+VA&jk=646e19b3c9168b90&rtk=1h44h5fcni0ct800&from=rssIndeedc2d329c184ac30b9e947aac599e66414Mon, 19 Jun 2023 14:32:06 GMTWe are looking for an innovative, senior developer who will bring their extensive D365 experience to challenge the status quo while mentoring and influencing&#8230;<br>From Indeed - Mon, 19 Jun 2023 14:32:06 GMT - View all <a href="https://www.indeed.com/jobs?l=Virginia+Beach%2C+VA">Virginia Beach, VA jobs</a>36.85293 -75.97798Software Engineer - The Christian Broadcasting Network - Virginia Beach, VAhttps://www.indeed.com/viewjob?t=Software+Engineer&c=The+Christian+Broadcasting+Network&l=Virginia+Beach,+VA&jk=e62777e0d3ff7b2d&rtk=1h44h5fcni0ct800&from=rssThe Christian Broadcasting Network6970f9322b94a9a9cb17f93d8df1665dFri, 16 Jun 2023 15:10:51 GMTTechnical degree or equivalent job experience. Platform skills in one or more of the following areas are preferred: HTTP, HTTPS (SSL encryption), SOAP.<br>From The Christian Broadcasting Network - Fri, 16 Jun 2023 15:10:51 GMT - View all <a href="https://www.indeed.com/jobs?l=Virginia+Beach%2C+VA">Virginia Beach, VA jobs</a>36.801575 -76.17645Full Stack Developer - The Christian Broadcasting Network - Virginia Beach, VAhttps://www.indeed.com/viewjob?t=Full+Stack+Developer&c=The+Christian+Broadcasting+Network&l=Virginia+Beach,+VA&jk=70260b12c0ed0d6c&rtk=1h44h5fcni0ct800&from=rssThe Christian Broadcasting Network571180c82ab510bcbf46a332d3887226Tue, 20 Dec 2022 18:35:15 GMTForward thinker with desire to research, learn and implement new technologies. Strong 2D and 3D Illustration skills or fine art background are an advantage.<br>From The Christian Broadcasting Network - Tue, 20 Dec 2022 18:35:15 GMT - View all <a href="https://www.indeed.com/jobs?l=Virginia+Beach%2C+VA">Virginia Beach, VA jobs</a>36.801575 -76.17645React Developer - Global Evangelism Inc - San Antonio, TXhttps://www.indeed.com/viewjob?t=React+Developer&c=Global+Evangelism&l=San+Antonio,+TX&jk=f96c3f57c2f79376&rtk=1h44h5fcni0ct800&from=rssGlobal Evangelism Incdd35391fd68f0b278250214848deba9fWed, 19 Apr 2023 00:05:03 GMTLocation: On-Site or Remote. Diagnose bugs and/or performance issues recommending a solution and then implementing the solution if approved.<br>From Global Evangelism Inc - Wed, 19 Apr 2023 00:05:03 GMT - View all <a href="https://www.indeed.com/jobs?l=San+Antonio%2C+TX">San Antonio, TX jobs</a>29.665237 -98.5023Web Designer - The Crossing Church - Chesterfield, MOhttps://www.indeed.com/viewjob?t=Web+Designer&c=The+Crossing+Church&l=Chesterfield,+MO&jk=2ba373d18d21e7e5&rtk=1h44h5fcni0ct800&from=rssThe Crossing Churchcfd89a357df790d8a4ae5f6142ecc517Thu, 29 Jun 2023 01:38:13 GMTRegard the Bible as God&apos;s final authority in all areas of Christian life and desire to be wholly obedient to it. 3-5 years of web design experience.<br>From The Crossing Church - Thu, 29 Jun 2023 01:38:13 GMT - View all <a href="https://www.indeed.com/jobs?l=Chesterfield%2C+MO">Chesterfield, MO jobs</a>38.66311 -90.57707Software Developer - Indiana Wesleyan University - Marion, INhttps://www.indeed.com/viewjob?t=Software+Developer&c=Indiana+Wesleyan+University&l=Marion,+IN&jk=7b6b744d48462d7d&rtk=1h44h5fcni0ct800&from=rssIndiana Wesleyan Universitycb62374d7a67a62531fa23808e63def9Mon, 08 May 2023 17:57:56 GMTMicrosoft/Apple operating systems, Microsoft Office products, and a specialization in Ellucian Administrative software, report-writing tools or ASP.<br>From Indiana Wesleyan University - Mon, 08 May 2023 17:57:56 GMT - View all <a href="https://www.indeed.com/jobs?l=Marion%2C+IN">Marion, IN jobs</a>40.55837 -85.65914Enterprise Data Analyst - Moody Bible Institute - Chicago, ILhttps://www.indeed.com/viewjob?t=Enterprise+Data+Analyst&c=Moody+Bible+Institute&l=Chicago,+IL&jk=6eb3569ac0a03010&rtk=1h44h5fcni0ct800&from=rssMoody Bible Institute59eb222514a0292d718f55b524242bc0Mon, 15 May 2023 22:47:25 GMTDegree in Business Administration, Computer Science, Data Science, Information Technology, Information Management, Economics, or Statistics, or in a related&#8230;<br>From Moody Bible Institute - Mon, 15 May 2023 22:47:25 GMT - View all <a href="https://www.indeed.com/jobs?l=Chicago%2C+IL">Chicago, IL jobs</a>41.89899 -87.63645WEBMASTER - Association Of Christian Schools In - Remotehttps://www.indeed.com/viewjob?t=Webmaster&c=Association+Of+Christian+Schools+In&l=Remote&jk=5154045dbee288e3&rtk=1h44h5fcni0ct800&from=rssAssociation of Christian Schools International31888d1a5c1e16ac68723c939c2a72b0Thu, 22 Jun 2023 22:12:06 GMTBachelor&#8217;s degree in Computer Science or a related technology field. Ability and willingness to travel up to 5% by plane or automobile. $79,000 - $92,000 a year<br>From Association of Christian Schools International - Thu, 22 Jun 2023 22:12:06 GMT - View all <a href="https://www.indeed.com/jobs?l=Remote">Remote jobs</a>25.0 -40.0Senior ERP Developer - Pepperdine University - Remotehttps://www.indeed.com/viewjob?t=Senior+Erp+Developer&c=Pepperdine+University&l=Remote&jk=9525f49b41a5541f&rtk=1h44h5fcni0ct800&from=rssPepperdine University774bf61c1f56f15478ca415ad42c5bd6Wed, 21 Jun 2023 17:13:35 GMTDesigns custom processes and components, or adapts third-party integrations or other packaged applications. The role may provide mentorship to junior developers&#8230; $85,000 - $100,000 a year<br>From Pepperdine University - Wed, 21 Jun 2023 17:13:35 GMT - View all <a href="https://www.indeed.com/jobs?l=Remote">Remote jobs</a>25.0 -40.0Full Stack Developer - The Christian Broadcasting Network - Remotehttps://www.indeed.com/viewjob?t=Full+Stack+Developer&c=The+Christian+Broadcasting+Network&l=Remote&jk=e749a4891be9c8ef&rtk=1h44h5fcni0ct800&from=rssIndeede158c0d3047cc17c6f3a8bcead14c369Fri, 03 Mar 2023 21:23:18 GMTForward thinker with desire to research, learn and implement new technologies. Strong 2D and 3D Illustration skills or fine art background are an advantage.<br>From Indeed - Fri, 03 Mar 2023 21:23:18 GMT - View all <a href="https://www.indeed.com/jobs?l=Remote">Remote jobs</a>25.0 -40.0 \ No newline at end of file +marketing UI design bible christian jesus Jobs | Indeed.comhttps://www.indeed.com/jobs?q=(marketing+OR+UI+OR+design)+AND+(bible+OR+christian+OR+jesus)+-LDS+-%22Latter-Day+Saints%22+-catholic&fromage=14enCopyright (c) 2023 Indeed, Inc All rights reserved.Fri, 30 Jun 2023 16:19:09 GMThttps://www.indeed.com/images/indeed_rss.pngIndeed.com - one search. all jobs.https://www.indeed.com/Community Relations Director - Prayz Network - Sparta, WIhttps://www.indeed.com/viewjob?t=Community+Relations+Director&c=Prayz+Network&l=Sparta,+WI&jk=1edbaf83fbb8fbab&rtk=1h46hjqptm8qv800&from=rssPrayz Networkc961c2859ca432e4b902a360a9938bbfThu, 29 Jun 2023 19:37:30 GMTCommunity Relations Director Marketing & Promotions · Fundraising & Donor Development · Community Relations Prayz Network is a non-profit radio ministry…<br>From Prayz Network - Thu, 29 Jun 2023 19:37:30 GMT - View all <a href="https://www.indeed.com/jobs?l=Sparta%2C+WI">Sparta, WI jobs</a>43.948 -90.81117Grant & Communications Associate - St. Marcus School - Milwaukee, WIhttps://www.indeed.com/viewjob?t=Grant+%26+Communications+Associate&c=St.+Marcus+School&l=Milwaukee,+WI&jk=c9b40cd0a9c3741f&rtk=1h46hjqptm8qv800&from=rssIndeedd304cda0f394ad8d51900aaca71296b3Tue, 27 Jun 2023 14:54:17 GMTIf you are *passionate about urban youth and education and are a skilled writer, St. Marcus School has an opportunity for you. *As a Grant and Communications… $40,500 - $49,750 a year<br>From Indeed - Tue, 27 Jun 2023 14:54:17 GMT - View all <a href="https://www.indeed.com/jobs?l=Milwaukee%2C+WI">Milwaukee, WI jobs</a>43.070633 -87.90617Communications Associate - St. Marcus School - Milwaukee, WIhttps://www.indeed.com/viewjob?t=Communications+Associate&c=St.+Marcus+School&l=Milwaukee,+WI&jk=6f86561ecc51f0c8&rtk=1h46hjqptm8qv800&from=rssIndeed167005f6f866131cf993e84d20eed217Tue, 27 Jun 2023 14:29:20 GMTIf you are *passionate about urban youth and education and are a skilled writer, St. Marcus School has an opportunity for you. *As a Grant and Communications… $40,500 - $49,750 a year<br>From Indeed - Tue, 27 Jun 2023 14:29:20 GMT - View all <a href="https://www.indeed.com/jobs?l=Milwaukee%2C+WI">Milwaukee, WI jobs</a>43.070633 -87.90617Development Coordinator - IM Assisted Living - Walworth, WIhttps://www.indeed.com/viewjob?t=Development+Coordinator&c=IM+Assisted+Living&l=Walworth,+WI&jk=6878d27a8c2b7eb5&rtk=1h46hjqptm8qv800&from=rssIndeed46b0549d4514e5a90a0977cd99dabe6eTue, 20 Jun 2023 15:03:51 GMTThe Development Coordinator should be a self-motivated, energetic person. He/she will be responsible to coordinate and plan several fundraising and community… $20 - $21 an hour<br>From Indeed - Tue, 20 Jun 2023 15:03:51 GMT - View all <a href="https://www.indeed.com/jobs?l=Walworth%2C+WI">Walworth, WI jobs</a>42.532265 -88.59957Director of Annual Giving - The Lighthouse Mission - Bellingham, WAhttps://www.indeed.com/viewjob?t=Director+of+Annual+Giving&c=The+Lighthouse+Mission&l=Bellingham,+WA&jk=677acdaba40bba2d&rtk=1h46hjqptm8qv800&from=rssThe Lighthouse Missiona62c19d9cf439a4eef0bc5e47d931dc8Mon, 26 Jun 2023 09:41:40 GMTThe Director of Annual Giving plays a key role at Lighthouse Mission Ministries (LMM). The Director will work to develop, implement, and coordinate annual… $27 - $31 an hour<br>From The Lighthouse Mission - Mon, 26 Jun 2023 09:41:40 GMT - View all <a href="https://www.indeed.com/jobs?l=Bellingham%2C+WA">Bellingham, WA jobs</a>48.746494 -122.493286Worship Pastor - Northview Bible Church - Spokane, WAhttps://www.indeed.com/viewjob?t=Worship+Pastor&c=Northview+Bible+Church&l=Spokane,+WA&jk=24d3b83a1eb6e126&rtk=1h46hjqptm8qv800&from=rssIndeedc041068b0e94b569403c618ccac733a6Wed, 28 Jun 2023 12:24:16 GMTNorthview Bible Church is a non-denominational church located in Spokane, WA. The church is led by Lead Pastor Norm, who has been the lead pastor for 14 years… $50,000 a year<br>From Indeed - Wed, 28 Jun 2023 12:24:16 GMT - View all <a href="https://www.indeed.com/jobs?l=Spokane%2C+WA">Spokane, WA jobs</a>47.738148 -117.44633Yearbook Teacher - Secondary (HS) - King's Schools - Shoreline, WAhttps://www.indeed.com/viewjob?t=Yearbook+Teacher+-+Secondary+(hs)&c=King%27s+Schools&l=Shoreline,+WA&jk=cef59235029a4598&rtk=1h46hjqptm8qv800&from=rssCRISTA Ministries2e75d692d6bf65b58964ae2e2757fec0Thu, 29 Jun 2023 18:12:19 GMTThis is a part time position Compensation is between $46,410 - $84,525/year DOE COMPANY OVERVIEW CRISTA exists to make known the love of Jesus Christ… $46,410 - $84,525 a year<br>From CRISTA Ministries - Thu, 29 Jun 2023 18:12:19 GMT - View all <a href="https://www.indeed.com/jobs?l=Shoreline%2C+WA">Shoreline, WA jobs</a>47.73966 -122.33334Chief Development Officer - Habitat for Humanity Spokane - Spokane, WAhttps://www.indeed.com/viewjob?t=Chief+Development+Officer&c=Habitat+for+Humanity+Spokane&l=Spokane,+WA&jk=0a1af652d93bb352&rtk=1h46hjqptm8qv800&from=rssHabitat for Humanity Spokanea131a25002298cea59ea738047548321Tue, 27 Jun 2023 23:22:18 GMTJob Title: Chief Development Officer Department: Development Reports To: Chief Executive Officer FLSA Status: Exempt Salary: DOE Summary Responsible for… $55,000 - $67,000 a year<br>From Habitat for Humanity Spokane - Tue, 27 Jun 2023 23:22:18 GMT - View all <a href="https://www.indeed.com/jobs?l=Spokane%2C+WA">Spokane, WA jobs</a>47.65878 -117.42605Advancing Black Homeownership (ABH) Program Manager - Habitat for Humanity Spokane - Spokane, WAhttps://www.indeed.com/viewjob?t=Advancing+Black+Homeownership+(abh)+Program+Manager&c=Habitat+for+Humanity+Spokane&l=Spokane,+WA&jk=fdd8a8d83ee51448&rtk=1h46hjqptm8qv800&from=rssHabitat for Humanity Spokanee665819798b544bb5f7d7284a9c40ef4Mon, 19 Jun 2023 15:40:44 GMTJob Details: Department: Program Reports To: Chief Program Officer FLSA Status: Full Time, Non-Exempt Salary: $49K to $52K DOE Advancing Black Homeownership… $49,000 - $52,000 a year<br>From Habitat for Humanity Spokane - Mon, 19 Jun 2023 15:40:44 GMT - View all <a href="https://www.indeed.com/jobs?l=Spokane%2C+WA">Spokane, WA jobs</a>47.65878 -117.42605PROGRAM SALES & MARKETING COORDINATOR - Habitat for Humanity SKKC - Renton, WAhttps://www.indeed.com/viewjob?t=Program+Sales+%26+Marketing+Coordinator&c=Habitat+for+Humanity+SKKC&l=Renton,+WA&jk=6baab2dc469228f5&rtk=1h46hjqptm8qv800&from=rssHabitat For Humanity International Seattle-king Co Hfh490fef5cae4fa7ca809d415dc29d3e40Thu, 29 Jun 2023 05:18:44 GMTAt Habitat for Humanity Seattle-King and Kittitas Counties (HFHSKKC) our vision is that everyone has a decent, affordable place to live. Habitat for Humanity… $23.08 - $29.09 an hour<br>From Habitat For Humanity International Seattle-king Co Hfh - Thu, 29 Jun 2023 05:18:44 GMT - View all <a href="https://www.indeed.com/jobs?l=Renton%2C+WA">Renton, WA jobs</a>47.485382 -122.19755Communications Director - The Christian and Missionary Alliance - U.S. Church Ministries - Washington Statehttps://www.indeed.com/viewjob?t=Communications+Director&c=The+Christian+and+Missionary+Alliance&l=Washington+State&jk=ce3ca0ddbd2c772c&rtk=1h46hjqptm8qv800&from=rssThe Christian and Missionary Alliance - U.S. Church Ministriesef9c1eddd8d17dab494f122e5e0a68fdThu, 29 Jun 2023 16:45:19 GMTLocation: Fall City, WA | Full-Time Purpose: SVA Church is seeking a highly motivated, creative, and organized individual with a passion to share our…<br>From The Christian and Missionary Alliance - U.S. Church Ministries - Thu, 29 Jun 2023 16:45:19 GMT - View all <a href="https://www.indeed.com/jobs?l=Washington+State">Washington State jobs</a>Communications and Events Coordinator - Restoration Anglican Church - Arlington, VAhttps://www.indeed.com/viewjob?t=Communications+and+Events+Coordinator&c=Restoration+Anglican+Church&l=Arlington,+VA&jk=2b1cd6483f6e7ce4&rtk=1h46hjqptm8qv800&from=rssIndeed6de79b64ea3dfd74b506dac436c2a7a8Wed, 28 Jun 2023 14:07:43 GMT*Job Title: *Communications and Events Coordinator *Reports to: *Executive Director *Start Date: *As soon as possible We're a group of people who worship… $45,000 - $65,000 a year<br>From Indeed - Wed, 28 Jun 2023 14:07:43 GMT - View all <a href="https://www.indeed.com/jobs?l=Arlington%2C+VA">Arlington, VA jobs</a>38.90353 -77.12976Videographer and Photographer - World Help - Forest, VAhttps://www.indeed.com/viewjob?t=Videographer+and+Photographer&c=World+Help&l=Forest,+VA&jk=9e2cb709b0dadc74&rtk=1h46hjqptm8qv800&from=rssWorld Help407873f981200588ab5e2b40255c518bFri, 30 Jun 2023 00:00:36 GMTVideographer and Photographer World Help, a Christian humanitarian organization serving the physical and spiritual needs of impoverished communities around…<br>From World Help - Fri, 30 Jun 2023 00:00:36 GMT - View all <a href="https://www.indeed.com/jobs?l=Forest%2C+VA">Forest, VA jobs</a>37.354725 -79.28311Corps Administrator - The Salvation Army - Williamsburg, VAhttps://www.indeed.com/viewjob?t=Corps+Administrator&c=The+Salvation+Army&l=Williamsburg,+VA&jk=16127f15804cd189&rtk=1h46hjqptm8qv800&from=rssThe Salvation Army64950fa59e29c2c43cd758260c52282cFri, 23 Jun 2023 17:09:00 GMTThe Salvation Army, an internationally recognized non-profit, faith-based organization, has a job opening for a Corps Administrator in the Williamsburg Corps…<br>From The Salvation Army - Fri, 23 Jun 2023 17:09:00 GMT - View all <a href="https://www.indeed.com/jobs?l=Williamsburg%2C+VA">Williamsburg, VA jobs</a>37.326836 -76.76056Grants/Development Coordinator - Rescue Mission of Roanoke Inc. - Roanoke, VAhttps://www.indeed.com/viewjob?t=Grants%2Fdevelopment+Coordinator&c=Rescue+Mission+of+Roanoke&l=Roanoke,+VA&jk=7dc7f6a6314348fb&rtk=1h46hjqptm8qv800&from=rssRescue Mission of Roanoke Inc.fd9e78fc24fd8886fdbd062455f797a9Fri, 16 Jun 2023 17:37:37 GMTWho We Are: Since 1948, The Rescue Mission of Roanoke has been on the mission of “Helping Hurting People in Jesus’ Name.” The Mission nourishes the mind, body…<br>From Rescue Mission of Roanoke Inc. - Fri, 16 Jun 2023 17:37:37 GMT - View all <a href="https://www.indeed.com/jobs?l=Roanoke%2C+VA">Roanoke, VA jobs</a>37.265503 -79.928795Marketing Information Coordinator - The Christian Broadcasting Network - Virginia Beach, VAhttps://www.indeed.com/viewjob?t=Marketing+Information+Coordinator&c=The+Christian+Broadcasting+Network&l=Virginia+Beach,+VA&jk=fe6cfae589097baf&rtk=1h46hjqptm8qv800&from=rssThe Christian Broadcasting Network28bd846e312d3e50bec278d29dfa63f7Tue, 27 Jun 2023 19:26:55 GMT_CBN International – Virginia Beach, VA_ _The Christian Broadcasting Network (CBN) _is looking for a *Marketing Information Coordinator* to provide…<br>From The Christian Broadcasting Network - Tue, 27 Jun 2023 19:26:55 GMT - View all <a href="https://www.indeed.com/jobs?l=Virginia+Beach%2C+VA">Virginia Beach, VA jobs</a>36.85293 -75.97798Costume Design Assistant - Barter Theatre - Abingdon, VAhttps://www.indeed.com/viewjob?t=Costume+Design+Assistant&c=Barter+Theatre&l=Abingdon,+VA&jk=a1dc1274d40911f3&rtk=1h46hjqptm8qv800&from=rssBarter Theatre8fe032c7596455ae443d304b0e5a19c1Tue, 20 Jun 2023 05:08:11 GMTThe Costume Design Assistant will support and assist resident and visiting costume designers to realize approved costume designs for all Barter Theatre… $15 an hour<br>From Barter Theatre - Tue, 20 Jun 2023 05:08:11 GMT - View all <a href="https://www.indeed.com/jobs?l=Abingdon%2C+VA">Abingdon, VA jobs</a>36.70983 -81.97735Global Vice President, Marketing & Communications - International Justice Mission - Virginiahttps://www.indeed.com/viewjob?t=Global+Vice+President,+Marketing+%26+Communications&c=International+Justice+Mission&l=Virginia&jk=33f76aa784940ec0&rtk=1h46hjqptm8qv800&from=rssInternational Justice Mission388e57563c1c17ab2031784973642a0cTue, 20 Jun 2023 23:49:07 GMTWho We Are International Justice Mission (IJM) is the global leader in protecting vulnerable people from violence around the world. Our team of over 1,200…<br>From International Justice Mission - Tue, 20 Jun 2023 23:49:07 GMT - View all <a href="https://www.indeed.com/jobs?l=Virginia">Virginia jobs</a>Youth Development Director - Young Mens Christian Association Of Wichita Falls - Wichita Falls, TXhttps://www.indeed.com/viewjob?t=Youth+Development+Director&c=Young+Mens+Christian+Association+Of+Wichita+Falls&l=Wichita+Falls,+TX&jk=c2b2ed77521da2a4&rtk=1h46hjqptm8qv800&from=rssYoung Mens Christian Association Of Wichita Falls26f8e3dba9fd0c7a4d9930c9ca06dfe8Wed, 28 Jun 2023 23:07:34 GMTPOSITION SUMMARY: This position supports the work of the Wichita Falls Y, a leading non-profit, charitable organization committed to strengthening community… $46,000 - $49,000 a year<br>From Young Mens Christian Association Of Wichita Falls - Wed, 28 Jun 2023 23:07:34 GMT - View all <a href="https://www.indeed.com/jobs?l=Wichita+Falls%2C+TX">Wichita Falls, TX jobs</a>33.86623 -98.49133Marketing - Wayland Baptist University - Lubbock, TXhttps://www.indeed.com/viewjob?t=Marketing&c=Wayland+Baptist+University&l=Lubbock,+TX&jk=5b90f066c6dcccc7&rtk=1h46hjqptm8qv800&from=rssWayland Baptist University8b940924bdb921f7a15d599c02715bfbThu, 22 Jun 2023 00:43:59 GMTAdjunct Instructor - Marketing LOCATION: Wayland Baptist University (Lubbock) SUPERVISED BY: Dean or Executive Director/Campus Dean POSITION CLASSIFICATION…<br>From Wayland Baptist University - Thu, 22 Jun 2023 00:43:59 GMT - View all <a href="https://www.indeed.com/jobs?l=Lubbock%2C+TX">Lubbock, TX jobs</a>33.57786 -101.85517 \ No newline at end of file diff --git a/indeed_output.xml b/indeed_output.xml index 57f478d..8db4314 100644 --- a/indeed_output.xml +++ b/indeed_output.xml @@ -1,2 +1,2 @@ -2023-06-29 14:32:50 \ No newline at end of file +2023-06-30 09:27:47 \ No newline at end of file diff --git a/reported.xml b/reported.xml index bdde3fe..09d5c80 100644 --- a/reported.xml +++ b/reported.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/style.css b/static/style.css index 23619f9..d0c089f 100644 --- a/static/style.css +++ b/static/style.css @@ -1,165 +1,253 @@ body { - background-color: #272822; + background-color: #272822; } .container { - max-width: 800px; - margin: 0 auto; - padding: 20px; - background-color: #272822; + max-width: 800px; + margin: 0 auto; + padding: 30px; + background-color: #272822; } h1 { - font-size: 24px; - font-weight: bold; - margin-bottom: 10px; - color: #f8f8f2; + font-size: 32px; + font-weight: bold; + margin-bottom: 10px; + color: #f8f8f2; } ul { - list-style: none; - padding: 0; + list-style: none; + padding: 0; } li { - margin-bottom: 20px; + margin-bottom: 20px; } h2 { - font-size: 20px; - font-weight: bold; - color: #a9dc76; + font-size: 24px; + font-weight: bold; + color: #f8f8f2; } p { - color: #999999; + color: #999999; } a { - color: #78dce8; - text-decoration: none; + color: #78dce8; + text-decoration: none; } a:hover { - color: #e6a96b; + color: #e6a96b; } header { - display: flex; - justify-content: center; - align-items: center; + display: flex; + justify-content: center; + align-items: center; } - .logo { - flex-direction: row; + display: flex; + align-items: center; } .logo-img { - width: 50px; - max-width: 100%; - margin-right: 10px; - + width: 40px; + max-width: 100%; + margin-right: 10px; } .logo p { - font-size: 24px; - color: #f8f8f2; - margin: 10px; + font-size: 32px; + color: #f8f8f2; + margin: 10px; } + .logo-name { - font-size: 24px; - font-weight: bold; - color: #f8f8f2; - margin: 10px; + font-size: 32px; + font-weight: bold; + color: #f8f8f2; + margin: 10px; } + .logo-link { - display: inline-flex; - align-items: center; - text-decoration: none; /* Add this line to remove underline */ + display: inline-flex; + align-items: center; + text-decoration: none; } + .search-form { - display: flex; - align-items: center; - justify-content: center; + display: flex; + align-items: center; + justify-content: center; } .search-input { - padding: 10px; - border: none; - border-radius: 4px; - font-size: 16px; - background-color: #F9F5DD; - color: #75715e; + padding: 10px; + border: none; + border-radius: 5px; + font-size: 16px; + background-color: #f9f5dd; + color: #75715e; + width: 200px; + margin: 10px; } .search-input::placeholder { - color: #75715e; + color: #75715e; } .search-button { - padding: 10px 20px; - border: none; - border-radius: 4px; - font-size: 16px; - background-color: #fd971f; - color: #f8f8f2; - cursor: pointer; - margin:10px; + padding: 10px 20px; + border: none; + border-radius: 5px; + font-size: 16px; + background-color: #fd971f; + color: #f8f8f2; + cursor: pointer; + margin: 10px; } .search-button:hover { - background-color: #f4bf75; + background-color: #f4bf75; } - - -.notification-overlay { - position: fixed; - bottom: 20px; - left: 50%; - transform: translateX(-50%); - background-color: #ff5795c7; - color: #f8f8f2; - border: 1px solid #272822; - padding: 10px 20px; - border-radius: 4px; - box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); - animation: fadeIn 0.5s, fadeOut 0.5s 5s forwards; - display: none; - } - - @keyframes fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } - } - - @keyframes fadeOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } - } - - .report-button { - position: relative; - display: flex; - text-decoration: none; - padding: 10px 20px; - border-radius: 4px; - color: #FF5794; - border:none; - background-color: transparent; - margin: 5px; - +.notification-overlay { + position: fixed; + bottom: 20px; + left: 50%; + transform: translateX(-50%); + background-color: #ff5795c7; + color: #f8f8f2; + border: 5px solid #272822; + padding: 20px; + border-radius: 5px; + box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); + animation: fadeIn 0.5s, fadeOut 0.5s 5s forwards; + display: none; } + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + +@keyframes fadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} + +.report-button { + position: relative; + display: flex; + text-decoration: none; + padding: 10px 20px; + border-radius: 5px; + color: #999999; + border: none; + background-color: transparent; + margin: 10px; +} + .wrapper { + position: relative; + display: inline-block; + text-decoration: none; + color: #f8f8f2; + background-color: #fd971f; + padding: 10px 20px; + border: none; + border-radius: 5px; + margin: 5px; +} + +.wrapper .button-text { + display: inline-block; + transition: opacity 0.3s ease; + font-size: 16px; +} + +.wrapper .button-icon { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: #f8f8f2; + font-size: 20px; + opacity: 0; + transition: opacity 0.3s ease; +} + +.wrapper:hover { + background-color: #f4bf75; +} + +.wrapper:hover .button-text { + opacity: 0; +} + +.wrapper:hover .button-icon { + opacity: 1; + font-size: 13px; +} + +.report-button .button-text { + display: inline-block; + transition: opacity 0.3s ease; + opacity: 0; +} + +.report-button .button-icon { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 20px; + transition: opacity 0.3s ease; + font-size: 25px; + opacity: 1; +} + +.report-button:hover .button-text { + opacity: 1; +} + +.report-button:hover .button-icon { + opacity: 0; +} + +.list-container { + display: flex; + align-items: center; +} + +.listed-items { + border: 1px solid #a0d170; + border-radius: 10px; + padding: 20px; + margin-bottom: 20px; + transition: border 0.3s ease, background-color 0.3s ease; +} + +.listed-items:hover { + border: 1px solid #d1d1d1; + background-color: #f0f0f007; +} + +/* CSS code for the load more button */ +.load-more-button { position: relative; display: inline-block; text-decoration: none; @@ -167,63 +255,117 @@ header { background-color: #fd971f; padding: 10px 20px; border: none; - border-radius: 4px; + border-radius: 5px; margin: 5px; -} + } -.wrapper .button-text { + .load-more-button .button-text { display: inline-block; transition: opacity 0.3s ease; -} + font-size: 16px; + } -.wrapper .button-icon { + .load-more-button .button-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); - color: #ffffff; - font-size: 24px; + color: #f8f8f2; + font-size: 20px; opacity: 0; transition: opacity 0.3s ease; -} -.wrapper:hover { + } + + .load-more-button:hover { background-color: #f4bf75; -} -.wrapper:hover .button-text { - opacity: 0; -} + } -.wrapper:hover .button-icon { + .load-more-button:hover .button-text { + opacity: 0; + } + + .load-more-button:hover .button-icon { opacity: 1; - font-size: 20px; -} -.report-button .button-text { - display: inline-block; - transition: opacity 0.3s ease; - opacity: 0; -} + font-size: 13px; + } -.report-button .button-icon { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); + /* CSS code for the scroll button */ + .scroll-to-top-button { + position: fixed; + bottom: 20px; + right: 20px; + width: 40px; + height: 40px; + border: none; + border-radius: 50%; + background-color: #fd971f; + color: #f8f8f2; + font-size: 20px; + text-align: center; + line-height: 40px; + cursor: pointer; + opacity: 0; + transition: opacity 0.3s ease; + z-index: 9999; + } + + .scroll-to-top-button.show { + opacity: 1; + } +/* Mobile Breakpoints */ + +/* Extra small devices (phones, 600px and down) */ +@media only screen and (max-width: 600px) { + .search-input { + width: 100%; + } + + .search-button { + margin-left: 0; + } + + .wrapper, + .report-button { + font-size: 14px; + padding: 10px 15px; + } + + .logo p, + .logo-name { font-size: 24px; - transition: opacity 0.3s ease; + margin: 10px 5px; + } +} + +/* Small devices (portrait tablets and large phones, 600px and up) */ +@media only screen and (min-width: 600px) { + .wrapper, + .report-button { + font-size: 18px; + padding: 10px 15px; + } +} + +/* Medium devices (landscape tablets, 768px and up) */ +@media only screen and (min-width: 768px) { + .wrapper, + .report-button { font-size: 20px; - opacity: 1; + } } -.report-button:hover .button-text { - opacity: 1; +/* Large devices (laptops/desktops, 992px and up) */ +@media only screen and (min-width: 992px) { + .wrapper, + .report-button { + font-size: 16px; + } } -.report-button:hover .button-icon { - opacity: 0; +/* Extra large devices (large laptops and desktops, 1200px and up) */ +@media only screen and (min-width: 1200px) { + .wrapper, + .report-button { + font-size: 14px; + } } - -.list-container { - display: flex; - align-items: center; -} - diff --git a/templates/index.html b/templates/index.html index 6a06b68..523f96c 100644 --- a/templates/index.html +++ b/templates/index.html @@ -42,13 +42,14 @@

Latest Jobs:

This list is updated hourly. Last update: {{ run_time }}

-
    + + + + + @@ -88,38 +94,97 @@ diff --git a/xmldownloader.py b/xmldownloader.py index d0e307c..bd6378a 100644 --- a/xmldownloader.py +++ b/xmldownloader.py @@ -1,5 +1,4 @@ import xml.etree.ElementTree as ET -import urllib.request import random import time from fake_useragent import UserAgent @@ -12,11 +11,11 @@ current_datetime = datetime.datetime.now() # Format the date and time as a string run_time = current_datetime.strftime("%Y-%m-%d %H:%M:%S") -# Print the run time -print("Script run time:", run_time) - -# Define the URL of the XML file to download -url = "https://rss.indeed.com/rss?q=(it+OR+technology+OR+developer+OR+software)+AND+(bible+OR+christian+OR+jesus+OR+god)+-LDS+-%22Latter-Day+Saints%22.xml" +# Define the list of URLs +urls = [ + "https://rss.indeed.com/rss?q=(it+OR+technology+OR+developer+OR+software)+AND+(bible+OR+christian+OR+jesus)+-LDS+-%22Latter-Day+Saints%22+-catholic+-christian.&fromage=14", + "https://rss.indeed.com/rss?q=(marketing+OR+UI+OR+design)+AND+(bible+OR+christian+OR+jesus)+-LDS+-%22Latter-Day+Saints%22+-catholic+-christian.&fromage=14", +] # Set a custom user agent ua = UserAgent() @@ -33,41 +32,38 @@ headers = { session = requests.Session() session.headers.update(headers) -# Download the XML file -response = session.get(url) -filename = "/home/gordon/Documents/Code/heartily/indeed_input.xml" -with open(filename, 'wb') as f: - f.write(response.content) +# Create a new XML root element to store all the extracted values +output_root = ET.Element("root") -# Introduce a random delay between 2 and 5 seconds -delay = random.uniform(2, 5) -time.sleep(delay) +for url in urls: + # Download the XML file + response = session.get(url) + content = response.content -# Read the downloaded XML file -tree = ET.parse(filename) -root = tree.getroot() + # Read the downloaded XML content + tree = ET.fromstring(content) -# Define the desired attribute names -attribute_names = ["title", "link", "source", "guid", "pubDate", "description", "{http://www.georss.org/georss}point"] + # Define the desired attribute names + attribute_names = ["title", "link", "source", "guid", "pubDate", "description", "{http://www.georss.org/georss}point"] -# Create a new XML root element to store the extracted values -new_root = ET.Element("root") + # Iterate over the "item" elements and extract the desired values + for item in tree.findall(".//item"): + new_element = ET.SubElement(output_root, "item") -# Iterate over the "item" elements and extract the desired values -for item in root.findall(".//item"): - new_element = ET.SubElement(new_root, "item") - - # Extract the desired attributes from the "item" element - for attribute_name in attribute_names: - value = item.find(attribute_name).text - if value is not None: - new_element.set(attribute_name, value) + # Extract the desired attributes from the "item" element + for attribute_name in attribute_names: + value = item.find(attribute_name).text + if value is not None: + new_element.set(attribute_name, value) # Add a new element for the run time -run_time_element = ET.SubElement(new_root, "run_time") +run_time_element = ET.SubElement(output_root, "run_time") run_time_element.text = run_time -# Create an ElementTree object and write it to a new XML file -new_tree = ET.ElementTree(new_root) -output_filename = "/home/gordon/Documents/Code/heartily/indeed_output.xml" -new_tree.write(output_filename, encoding="utf-8", xml_declaration=True) +# Create an ElementTree object with the output root +output_tree = ET.ElementTree(output_root) + +# Write the output to the XML file, overwriting the existing data +output_filename = "./indeed_output.xml" +with open(output_filename, 'wb') as f: + output_tree.write(f, encoding="utf-8", xml_declaration=True)