Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def commit(self):
CartoviewApp.objects.update({self.name: self})
return self
def add_carto_app(self):
if not CartoviewApp.objects.app_exists(self.name):
CartoviewApp({
'name': self.name,
'active': True,
'order': self.get_app_order(),
'pending': True
})
CartoviewApp.save()
else:
carto_app = CartoviewApp.objects.get(self.name)
carto_app.pending = True
carto_app.commit()
CartoviewApp.save()
def load(cls, apps_dir=None):
if os.path.exists(cls.get_apps_json_path()):
with portalocker.Lock(
cls.get_apps_json_path(apps_dir=apps_dir), 'r',
portalocker.LOCK_EX) as jf:
data = jf.read()
CartoviewApp.objects.from_json(data)
def load_apps_urls():
app_names = CartoviewApp.objects.get_active_apps().keys()
for app_name in app_names:
import_app_rest(app_name)
urlpatterns.append(app_url(app_name))
def save(cls, apps_dir=None):
with portalocker.Lock(
cls.get_apps_json_path(apps_dir=apps_dir), 'w',
portalocker.LOCK_EX) as jf:
data = CartoviewApp.objects.to_json()
jf.write(data)
def execute_pending(self):
from cartoview.apps_handler.config import CartoviewApp
CartoviewApp.load()
pending_apps = CartoviewApp.objects.get_pending_apps().values()
for app in pending_apps:
_pending_apps = self.get_pending_apps(app.name)
if _pending_apps:
for _app in _pending_apps:
_app_name = _app.get('name', None)
_make_migrations = _app.get('makemigrations', False)
_migrate = _app.get('migrate', False)
if _app_name:
if _make_migrations:
self.makemigrations(_app_name)
if _migrate:
self.migrate(_app_name)
else:
self.migrate(app)
self.collectstatic()
carto_app = CartoviewApp.objects.get(app.name)