Temp manage.py

This commit is contained in:
2016-08-10 10:54:23 +02:00
parent 6ab2709cc4
commit 8fc1f8b31d
2 changed files with 91 additions and 2 deletions

View File

@@ -1,9 +1,9 @@
#!/usr/bin/env python
from pillar_server import PillarServer
from pillar import PillarServer
app = PillarServer('.')
app.process_extensions()
if __name__ == '__main__':
app.run('::0', 5000, debug=True)
app.run('::0', 5001, debug=True)

89
manage.py Executable file
View File

@@ -0,0 +1,89 @@
#!/usr/bin/env python
import logging
import os
from eve.methods.post import post_internal
from eve.methods.put import put_internal
from flask.ext.script import Manager
from pillar import PillarServer
app = PillarServer('.')
app.process_extensions()
# Use a sensible default when running manage.py commands.
if not os.environ.get('EVE_SETTINGS'):
settings_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
'pillar', 'eve_settings.py')
os.environ['EVE_SETTINGS'] = settings_path
manager = Manager(app)
log = logging.getLogger('manage')
log.setLevel(logging.INFO)
def put_item(collection, item):
item_id = item['_id']
internal_fields = ['_id', '_etag', '_updated', '_created']
for field in internal_fields:
item.pop(field, None)
# print item
# print type(item_id)
p = put_internal(collection, item, **{'_id': item_id})
if p[0]['_status'] == 'ERR':
print(p)
print(item)
@manager.command
def setup_db(admin_email):
"""Setup the database
- Create admin, subscriber and demo Group collection
- Create admin user (must use valid blender-id credentials)
- Create one project
"""
# Create default groups
groups_list = []
for group in ['admin', 'subscriber', 'demo']:
g = {'name': group}
g = post_internal('groups', g)
groups_list.append(g[0]['_id'])
print("Creating group {0}".format(group))
# Create admin user
user = {'username': admin_email,
'groups': groups_list,
'roles': ['admin', 'subscriber', 'demo'],
'settings': {'email_communications': 1},
'auth': [],
'full_name': admin_email,
'email': admin_email}
result, _, _, status = post_internal('users', user)
if status != 201:
raise SystemExit('Error creating user {}: {}'.format(admin_email, result))
user.update(result)
print("Created user {0}".format(user['_id']))
# Create a default project by faking a POST request.
with app.test_request_context(data={'project_name': u'Default Project'}):
from flask import g
from pillar.api.projects.routes import create_project
g.current_user = {'user_id': user['_id'],
'groups': user['groups'],
'roles': set(user['roles'])}
create_project(overrides={'url': 'default-project',
'is_private': False})
@manager.command
def register_local_user(email, password):
from pillar.api.local_auth import create_local_user
create_local_user(email, password)
if __name__ == '__main__':
manager.run()