my-cloud-devops-consulting 1.1.202507211816__tar.gz → 1.1.202507212139__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {my-cloud-devops-consulting-1.1.202507211816/my_cloud_devops_consulting.egg-info → my-cloud-devops-consulting-1.1.202507212139}/PKG-INFO +1 -1
  2. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/app.py +13 -23
  3. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139/my_cloud_devops_consulting.egg-info}/PKG-INFO +1 -1
  4. my-cloud-devops-consulting-1.1.202507212139/setup.py +32 -0
  5. my-cloud-devops-consulting-1.1.202507211816/setup.py +0 -65
  6. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/MANIFEST.in +0 -0
  7. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/README.md +0 -0
  8. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/my_cloud_devops_consulting.egg-info/SOURCES.txt +0 -0
  9. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/my_cloud_devops_consulting.egg-info/dependency_links.txt +0 -0
  10. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/my_cloud_devops_consulting.egg-info/requires.txt +0 -0
  11. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/my_cloud_devops_consulting.egg-info/top_level.txt +0 -0
  12. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/setup.cfg +0 -0
  13. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/about.css +0 -0
  14. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/assessment.css +0 -0
  15. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/contact-form.css +0 -0
  16. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/index.css +0 -0
  17. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/login.css +0 -0
  18. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/main.css +0 -0
  19. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/register.css +0 -0
  20. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/css/services.css +0 -0
  21. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/facebook.png +0 -0
  22. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/favicon.svg +0 -0
  23. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/image.jpg +0 -0
  24. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/instagram.png +0 -0
  25. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/linkedin.png +0 -0
  26. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/pexels-divinetechygirl-1181341.jpg +0 -0
  27. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/pexels-divinetechygirl-1181472.jpg +0 -0
  28. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/pexels-fotios-photos-16129703.jpg +0 -0
  29. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/pexels-tiger-lily-7108466.jpg +0 -0
  30. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/video-poster.jpg +0 -0
  31. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/whatsapp-navbar.png +0 -0
  32. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/images/worldmap.jpeg +0 -0
  33. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/counter.js +0 -0
  34. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/index.js +0 -0
  35. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/login.js +0 -0
  36. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/main.js +0 -0
  37. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/register.js +0 -0
  38. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/services.js +0 -0
  39. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/js/typing.js +0 -0
  40. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/manifest.json +0 -0
  41. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/robots.txt +0 -0
  42. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/sitemap.xml +0 -0
  43. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/video/7989443-hd_1920_1080_25fps.mp4 +0 -0
  44. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/video/Untitled_video.mp4 +0 -0
  45. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/static/video/myvideo.mp4.mp4 +0 -0
  46. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/about.html +0 -0
  47. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/assessment.html +0 -0
  48. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/base.html +0 -0
  49. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/contact-form.html +0 -0
  50. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/forgot-password.html +0 -0
  51. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/index.html +0 -0
  52. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/login.html +0 -0
  53. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/private-videos.html +0 -0
  54. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/register.html +0 -0
  55. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/reset-password.html +0 -0
  56. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/templates/services.html +0 -0
  57. {my-cloud-devops-consulting-1.1.202507211816 → my-cloud-devops-consulting-1.1.202507212139}/test/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: my-cloud-devops-consulting
3
- Version: 1.1.202507211816
3
+ Version: 1.1.202507212139
4
4
  Summary: This is my consulting website for Cloud & DevOps services.
5
5
  Home-page: https://github.com/Betrand1999/project-root
6
6
  Author: Betrand Mutagha
@@ -5,7 +5,7 @@ from urllib.parse import quote_plus
5
5
  from bson.objectid import ObjectId
6
6
  import os
7
7
  from flask_login import LoginManager,login_user,UserMixin,login_required,logout_user,current_user
8
- from settings import SECRET_KEY,MONGO_URI, EMAIL_USER, MONGO_PASSWORD, MONGO_USERNAME
8
+ from settings import SECRET_KEY,MONGO_URI, EMAIL_USER, MONGO_PASSWORD, MONGO_USERNAME, COGNITO_CLIENT_ID, COGNITO_CLIENT_SECRET
9
9
  from utils import send_email, get_videos
10
10
  from werkzeug.middleware.proxy_fix import ProxyFix
11
11
 
@@ -270,24 +270,13 @@ oauth = OAuth(app)
270
270
  oauth.register(
271
271
  name='oidc',
272
272
  authority='https://cognito-idp.us-east-1.amazonaws.com/us-east-1_TZVykdVvG',
273
- client_id='1lc7qso1g3lr9kqbr0nb0jktbs',
274
- client_secret='1f1qa6rf66549cta1uqpamjpjqt06ne3agvlgou638e56kmt8dve',
273
+ client_id= COGNITO_CLIENT_ID,
274
+ client_secret=COGNITO_CLIENT_SECRET,
275
275
  server_metadata_url='https://cognito-idp.us-east-1.amazonaws.com/us-east-1_TZVykdVvG/.well-known/openid-configuration',
276
276
  client_kwargs={'scope': 'phone openid email'}
277
277
  )
278
278
  ################################################
279
279
 
280
- # Configure a login route to direct to Amazon Cognito managed login for authentication with a redirect to an authorize route.
281
- # @app.route('/login/cognito')
282
- # def login_cognito():
283
- # session.pop('user', None)
284
- # redirect_uri = url_for('authorize', _external=True)
285
- # print("🧭 Redirect URI being used:", redirect_uri) # <--- add this
286
- # return oauth.oidc.authorize_redirect(
287
- # redirect_uri,
288
- # prompt='login'
289
- # )
290
-
291
280
  @app.route('/login/cognito')
292
281
  def login_cognito():
293
282
  session.pop('user', None)
@@ -316,19 +305,22 @@ def authorize():
316
305
  return redirect(url_for('home')) # ✅ Fixed: 'home' matches your defined route
317
306
 
318
307
 
319
- # Configure a logout route that erases user session data.
320
- # @app.route('/logout/cognito')
321
- # def logout_cognito(): # ✅ Renamed to avoid conflict
322
- # session.pop('user', None)
323
- # return redirect(url_for('home')) # 🔁 Also change to 'home' if 'index' doesn't exist
308
+
309
+
310
+ from flask import request
324
311
 
325
312
  @app.route('/logout/cognito')
326
313
  def logout_cognito():
327
314
  session.pop('user', None)
328
315
 
329
316
  cognito_domain = 'https://us-east-1tzvykdvvg.auth.us-east-1.amazoncognito.com'
330
- client_id = '1lc7qso1g3lr9kqbr0nb0jktbs' # Make sure this matches your App Client ID
331
- logout_redirect_uri = url_for('home', _external=True)
317
+ client_id = '1lc7qso1g3lr9kqbr0nb0jktbs'
318
+
319
+ # Ensure trailing slash and domain match Cognito settings exactly
320
+ if '1beto.com' in request.host:
321
+ logout_redirect_uri = 'https://1beto.com/' # ✅ Matches Cognito config
322
+ else:
323
+ logout_redirect_uri = 'http://localhost:50/' # ✅ Matches Cognito config for local
332
324
 
333
325
  return redirect(
334
326
  f"{cognito_domain}/logout?client_id={client_id}&logout_uri={logout_redirect_uri}"
@@ -336,8 +328,6 @@ def logout_cognito():
336
328
 
337
329
 
338
330
 
339
-
340
-
341
331
  if __name__ == '__main__':
342
332
  app.run(debug=True, host='0.0.0.0', port=50)
343
333
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: my-cloud-devops-consulting
3
- Version: 1.1.202507211816
3
+ Version: 1.1.202507212139
4
4
  Summary: This is my consulting website for Cloud & DevOps services.
5
5
  Home-page: https://github.com/Betrand1999/project-root
6
6
  Author: Betrand Mutagha
@@ -0,0 +1,32 @@
1
+ from setuptools import setup, find_packages
2
+ from datetime import datetime
3
+
4
+ setup(
5
+ name='my-cloud-devops-consulting',
6
+ version=datetime.now().strftime("1.1.%Y%m%d%H%M"), # auto-version like 1.1.202503241130
7
+ author='Betrand Mutagha',
8
+ author_email='mmutagha@gmail.com',
9
+ description='This is my consulting website for Cloud & DevOps services.',
10
+ long_description=open('README.md').read(),
11
+ long_description_content_type='text/markdown',
12
+ url='https://github.com/Betrand1999/project-root',
13
+ packages=find_packages(where="."),
14
+ py_modules=["app"],
15
+ include_package_data=True,
16
+ package_data={
17
+ "": ["static/**/*", "templates/**/*"],
18
+ },
19
+ install_requires=[
20
+ 'Flask>=2.0',
21
+ 'pymongo',
22
+ 'werkzeug',
23
+ 'requests',
24
+ ],
25
+ classifiers=[
26
+ 'Programming Language :: Python :: 3',
27
+ 'Programming Language :: Python :: 3.10',
28
+ 'License :: OSI Approved :: MIT License',
29
+ 'Operating System :: OS Independent',
30
+ ],
31
+ python_requires='>=3.6',
32
+ )
@@ -1,65 +0,0 @@
1
- # from setuptools import setup, find_packages
2
-
3
- # setup(
4
- # name='my-cloud-devops-consulting',
5
- # version='1.1.5',
6
- # author='Betrand Mutagha',
7
- # author_email='mmutagha@gmail.com',
8
- # description='This is my consulting website for Cloud & DevOps services.',
9
- # long_description=open('README.md').read(),
10
- # long_description_content_type='text/markdown',
11
- # url='https://github.com/Betrand1999/project-root',
12
- # packages=find_packages(where="."), # Include the root as the package
13
- # py_modules=["app"], # Explicitly include app.py
14
- # include_package_data=True, # Ensures static and template files are included
15
- # package_data={
16
- # "": ["static/**/*", "templates/**/*"], # Include static and templates from the root
17
- # },
18
- # install_requires=[
19
- # 'Flask>=2.0',
20
- # 'pymongo',
21
- # 'werkzeug',
22
- # 'requests',
23
- # ],
24
- # classifiers=[
25
- # 'Programming Language :: Python :: 3',
26
- # 'Programming Language :: Python :: 3.10',
27
- # 'License :: OSI Approved :: MIT License',
28
- # 'Operating System :: OS Independent',
29
- # ],
30
- # python_requires='>=3.6',
31
- # )
32
-
33
-
34
- from setuptools import setup, find_packages
35
- from datetime import datetime
36
-
37
- setup(
38
- name='my-cloud-devops-consulting',
39
- version=datetime.now().strftime("1.1.%Y%m%d%H%M"), # auto-version like 1.1.202503241130
40
- author='Betrand Mutagha',
41
- author_email='mmutagha@gmail.com',
42
- description='This is my consulting website for Cloud & DevOps services.',
43
- long_description=open('README.md').read(),
44
- long_description_content_type='text/markdown',
45
- url='https://github.com/Betrand1999/project-root',
46
- packages=find_packages(where="."),
47
- py_modules=["app"],
48
- include_package_data=True,
49
- package_data={
50
- "": ["static/**/*", "templates/**/*"],
51
- },
52
- install_requires=[
53
- 'Flask>=2.0',
54
- 'pymongo',
55
- 'werkzeug',
56
- 'requests',
57
- ],
58
- classifiers=[
59
- 'Programming Language :: Python :: 3',
60
- 'Programming Language :: Python :: 3.10',
61
- 'License :: OSI Approved :: MIT License',
62
- 'Operating System :: OS Independent',
63
- ],
64
- python_requires='>=3.6',
65
- )