Skip to content

Commit a84ec43

Browse files
feat: use shopyo packages
1 parent 8f5672d commit a84ec43

106 files changed

Lines changed: 63 additions & 4121 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ pip install pythoncms
2828
pythoncms start mysite
2929
cd mysite
3030
shopyo initialise
31+
flask shopyo-seed
3132
flask --debug run
3233
```
3334

pythoncms/app.py

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from shopyo.api.assets import register_devstatic
2323
from shopyo.api.debug import is_yo_debug
2424
from shopyo.api.file import trycopy
25+
import click
2526

2627
import sqlalchemy
2728

@@ -38,8 +39,8 @@
3839

3940
from shopyo_admin import MyAdminIndexView
4041
from shopyo_admin import DefaultModelView
41-
from modules.box__default.keyvalue.models import KeyValue
42-
from modules.box__default.keyvalue.helpers import set_value
42+
from shopyo_settings.models import Settings
43+
from shopyo_settings.helpers import set_setting as set_value
4344
from init import db
4445

4546

@@ -64,12 +65,41 @@ def create_app(config_name="development"):
6465
load_config_from_instance(app, config_name)
6566
create_config_json()
6667
load_extensions(app)
68+
69+
from shopyo_base import ShopyoBase
70+
from shopyo_auth import ShopyoAuth
71+
from shopyo_appadmin import ShopyoAppAdmin
72+
from shopyo_dashboard import ShopyoDashboard
73+
from shopyo_page import ShopyoPage
74+
from shopyo_i18n import Shopyoi18n
75+
from shopyo_settings import ShopyoSettings
76+
from shopyo_theme import ShopyoTheme
77+
78+
sh_base = ShopyoBase()
79+
sh_auth = ShopyoAuth()
80+
sh_appadmin = ShopyoAppAdmin()
81+
sh_dashboard = ShopyoDashboard()
82+
sh_page = ShopyoPage()
83+
sh_i18n = Shopyoi18n()
84+
sh_settings = ShopyoSettings()
85+
sh_theme = ShopyoTheme()
86+
87+
sh_base.init_app(app)
88+
sh_auth.init_app(app)
89+
sh_appadmin.init_app(app)
90+
sh_dashboard.init_app(app)
91+
sh_page.init_app(app)
92+
sh_i18n.init_app(app)
93+
sh_settings.init_app(app)
94+
sh_theme.init_app(app)
95+
6796
setup_flask_admin(app)
6897
register_devstatic(app, modules_path)
6998
load_blueprints(app, config_name, global_template_variables, global_configs)
7099
setup_theme_paths(app)
71100
inject_global_vars(app, global_template_variables)
72101
sync_keyvalue_envvar(app)
102+
custom_commands(db, app)
73103
return app
74104

75105

@@ -151,7 +181,7 @@ def setup_flask_admin(app):
151181
template_mode="bootstrap4",
152182
index_view=MyAdminIndexView(),
153183
)
154-
admin.add_view(DefaultModelView(KeyValue, db.session))
184+
admin.add_view(DefaultModelView(Settings, db.session))
155185
admin.add_link(MenuLink(name="Logout", category="", url="/auth/logout?next=/admin"))
156186

157187

@@ -277,7 +307,8 @@ def get_setting(env_var):
277307
"len": len,
278308
"current_user": current_user,
279309
"get_static": get_static,
280-
"get_setting": get_setting
310+
"get_setting": get_setting,
311+
"get_value": get_setting
281312
}
282313
base_context.update(global_template_variables)
283314

@@ -308,3 +339,24 @@ def sync_keyvalue_envvar(app):
308339
except sqlalchemy.exc.OperationalError as e: # on shopyo initialise command
309340
if os.environ.get('FLASK_DEBUG', False):
310341
print(e)
342+
343+
def custom_commands(db, app):
344+
from flask.cli import with_appcontext
345+
346+
@click.command("shopyo-seed")
347+
@with_appcontext
348+
def shopyo_upload():
349+
350+
for ext in app.extensions:
351+
if ext.startswith("shopyo_"):
352+
try:
353+
e = app.extensions[ext]
354+
e.upload()
355+
db.session.commit()
356+
click.echo("Uploaded for " + ext)
357+
except AttributeError as e:
358+
pass
359+
360+
app.cli.add_command(shopyo_upload)
361+
362+

pythoncms/config_demo.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
"APP_NAME": "Demo",
88
"ACTIVE_FRONT_THEME": "editorial",
99
"ACTIVE_BACK_THEME": "sneat",
10+
"ACTIVE_ICONSET": "fa",
11+
"SITE_TITLE": "My site",
12+
"SITE_DESCRIPTION": "description",
1013
"CURRENCY": "MUR",
1114
"ACTIVE_ICONSET": "boxicons"
1215
}

pythoncms/modules/box__default/appadmin/__init__.py

Whitespace-only changes.

pythoncms/modules/box__default/appadmin/admin.py

Lines changed: 0 additions & 27 deletions
This file was deleted.

pythoncms/modules/box__default/appadmin/info.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

pythoncms/modules/box__default/appadmin/models.py

Whitespace-only changes.

pythoncms/modules/box__default/appadmin/static/icon.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

pythoncms/modules/box__default/appadmin/templates/appadmin/add.html

Lines changed: 0 additions & 57 deletions
This file was deleted.

pythoncms/modules/box__default/appadmin/templates/appadmin/blocks/sidebar.html

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)