Up Version with API
This commit is contained in:
parent
f0459e572c
commit
7673e1b84c
16 changed files with 172 additions and 105 deletions
|
@ -7,17 +7,7 @@ from flaskext.markdown import Markdown
|
||||||
from SWSCloudCore import models
|
from SWSCloudCore import models
|
||||||
from SWSCloudCore.config import config
|
from SWSCloudCore.config import config
|
||||||
from SWSCloudCore.models import database
|
from SWSCloudCore.models import database
|
||||||
from SWSCloudServerAPI.ServerAPI import viewServerAPI
|
from SWSCloudAdministrator.Administrator import viewAdministrator
|
||||||
from SWSCloudWeb.views import viewHomepage
|
|
||||||
from SWSCloudWeb.views.account import viewAccount
|
|
||||||
from SWSCloudWeb.views.administrator import viewAdministrator
|
|
||||||
from SWSCloudWeb.views.containers import viewContainers
|
|
||||||
from SWSCloudWeb.views.documents import viewDocuments
|
|
||||||
from SWSCloudWeb.views.kb import viewKB
|
|
||||||
from SWSCloudWeb.views.payments import viewPayments
|
|
||||||
from SWSCloudWeb.views.support import viewSupport
|
|
||||||
from SWSCloudWeb.views.tasks import viewTasks
|
|
||||||
from SWSCloudWeb.views.vms import viewVMs
|
|
||||||
|
|
||||||
app = Flask(__name__, static_folder='static', static_url_path='')
|
app = Flask(__name__, static_folder='static', static_url_path='')
|
||||||
# app.config['SERVER_NAME'] = settings.get('Application', 'SERVER_NAME')
|
# app.config['SERVER_NAME'] = settings.get('Application', 'SERVER_NAME')
|
||||||
|
@ -26,24 +16,6 @@ app.config['SECRET_KEY'] = config.get("Application", "SECRET_KEY")
|
||||||
Markdown(app)
|
Markdown(app)
|
||||||
babel = Babel(app)
|
babel = Babel(app)
|
||||||
|
|
||||||
|
|
||||||
# /
|
|
||||||
app.register_blueprint(viewHomepage)
|
|
||||||
app.register_blueprint(viewSupport)
|
|
||||||
app.register_blueprint(viewKB)
|
|
||||||
app.register_blueprint(viewDocuments)
|
|
||||||
# /tasks
|
|
||||||
app.register_blueprint(viewTasks)
|
|
||||||
# /containers
|
|
||||||
app.register_blueprint(viewContainers)
|
|
||||||
app.register_blueprint(viewVMs)
|
|
||||||
# /id
|
|
||||||
app.register_blueprint(viewAccount)
|
|
||||||
# /payments
|
|
||||||
app.register_blueprint(viewPayments)
|
|
||||||
# /api
|
|
||||||
app.register_blueprint(viewServerAPI)
|
|
||||||
# /administrator
|
|
||||||
app.register_blueprint(viewAdministrator)
|
app.register_blueprint(viewAdministrator)
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,3 +69,7 @@ def after_request(response):
|
||||||
# TODO: code to email alert
|
# TODO: code to email alert
|
||||||
# pass
|
# pass
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||||
|
|
|
@ -11,20 +11,22 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<th>Email</th>
|
<th>Email</th>
|
||||||
|
<th>Balance</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Action</th>
|
<th>Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% if users.total == 0 %}
|
{% if users['total'] == 0 %}
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="4">No one users.</td>
|
<td colspan="5">No one users.</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% for user in users['items'] %}
|
{% for user in users['items'] %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ user.id }}</td>
|
<td>{{ user.id }}</td>
|
||||||
<td>{{ user.email }}</td>
|
<td>{{ user.email }}</td>
|
||||||
|
<td>{{ user.usersbalance.balance }}</td>
|
||||||
<td>
|
<td>
|
||||||
{% if user.status == 0 %}
|
{% if user.status == 0 %}
|
||||||
<span class="label label-alert">Inactive</span>
|
<span class="label label-alert">Inactive</span>
|
||||||
|
|
|
@ -118,10 +118,15 @@ class ControllerUsersRecoveryCodes():
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def check(self, user_id, code):
|
def check(self, user_id, code):
|
||||||
print user_id
|
"""
|
||||||
if models.UsersRecoveryCodes.select().\
|
Проверка существования кода
|
||||||
where(models.UsersRecoveryCodes.user == user_id, models.UsersRecoveryCodes.recovery_code == code).\
|
:param user_id:
|
||||||
count() == 0:
|
:param code:
|
||||||
|
:return: bool
|
||||||
|
"""
|
||||||
|
if models.UsersRecoveryCodes.select().where(
|
||||||
|
models.UsersRecoveryCodes.user == user_id, models.UsersRecoveryCodes.recovery_code == code
|
||||||
|
).count() == 0:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,26 @@ class ControllerManageUsers:
|
||||||
формируем массив со списком пользователей
|
формируем массив со списком пользователей
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
from peewee import JOIN_LEFT_OUTER, JOIN_INNER, JOIN_FULL
|
||||||
|
|
||||||
|
jj = models.Users.select(
|
||||||
|
models.UsersBalance.balance.alias('balance'),
|
||||||
|
models.Users.id,
|
||||||
|
models.Users.email,
|
||||||
|
models.Users.created,
|
||||||
|
models.Users.status,
|
||||||
|
).join(
|
||||||
|
models.UsersBalance
|
||||||
|
)
|
||||||
|
for j in jj:
|
||||||
|
print j.usersbalance.balance
|
||||||
return {
|
return {
|
||||||
'total': models.Users.select().count(),
|
'total': len(jj),
|
||||||
'items': models.Users.select()
|
'items': jj
|
||||||
}
|
}
|
||||||
|
|
||||||
def item_get(self, user_id):
|
def item_get(self, user_id):
|
||||||
return models.Users.select().where(models.Users.id == user_id)[0]
|
return models.Users.select().where(models.Users.id == user_id).get()
|
||||||
|
|
||||||
|
|
||||||
class ControllerManageUsersDetails:
|
class ControllerManageUsersDetails:
|
||||||
|
|
|
@ -97,3 +97,7 @@ def after_request(response):
|
||||||
# TODO: code to email alert
|
# TODO: code to email alert
|
||||||
# pass
|
# pass
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run(host='0.0.0.0', port=5000, debug=True)
|
||||||
|
|
|
@ -587,7 +587,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Description:
|
// Description:
|
||||||
// Performs a callback function when an image is fully loaded
|
// Performs a callback function when an image is fully loaded
|
||||||
//
|
//
|
||||||
|
|
|
@ -1,28 +1,19 @@
|
||||||
<footer>
|
<footer>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="large-4 columns">
|
<div class="large-6 columns">
|
||||||
<p>
|
|
||||||
GoCloud © Все права защищены.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="large-8 columns">
|
|
||||||
<ul class="inline-list">
|
<ul class="inline-list">
|
||||||
<!-- li><a href="{{ url_for('documents.view', document_name='politica_konfidencialnosti') }}">Политика конфиденциальности</a></li -->
|
<li>2009−2016 © GoCloud.ru</li>
|
||||||
<!-- li><a href="{{ url_for('documents.view', document_name='pravila_ispolzovaniya') }}">Условия использования</a></li -->
|
|
||||||
<li><a href="{{ url_for('support.index') }}">Поддержка</a></li>
|
<li><a href="{{ url_for('support.index') }}">Поддержка</a></li>
|
||||||
<!-- li><a href="{{ url_for('kb.index') }}">База знаний</a></li -->
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="large-6 columns">
|
||||||
<div class="row">
|
<script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script>
|
||||||
<div class="large-4 columns">
|
<script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script>
|
||||||
</div>
|
<div class="ya-share2" data-services="vkontakte,facebook,gplus,twitter,blogger,linkedin" data-counter=""></div>
|
||||||
<div class="large-8 columns">
|
|
||||||
<p>Ваша личная информация под надежной защитой. Ваш браузер соединяется с сайтом по защищенному протоколу HTTPS.</p>
|
|
||||||
<p>Сайт использует SSL-шифрование для всех передаваемых данных.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
{% if g.settings['footer_code'] %}
|
{% if g.settings['footer_code'] %}
|
||||||
{{ g.settings['footer_code']|safe }}
|
{{ g.settings['footer_code']|safe }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -17,12 +17,12 @@
|
||||||
<li><a href="{{ url_for('account.logout') }}">Выход</a></li>
|
<li><a href="{{ url_for('account.logout') }}">Выход</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="left">
|
<ul class="left">
|
||||||
{% if g.settings.get('SERVICE_CONTAINERS_ENABLE', "0") == "1" %}
|
|
||||||
<li><a href="{{ url_for('containers.index') }}">Контейнеры</a></li>
|
|
||||||
{% endif %}
|
|
||||||
{% if g.settings.get('SERVICE_VMS_ENABLE', '0') == '1' %}
|
{% if g.settings.get('SERVICE_VMS_ENABLE', '0') == '1' %}
|
||||||
<li><a href="{{ url_for('vms.index') }}">Виртуальные машины</a></li>
|
<li><a href="{{ url_for('vms.index') }}">Виртуальные машины</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if g.settings.get('SERVICE_CONTAINERS_ENABLE', "0") == "1" %}
|
||||||
|
<li><a href="{{ url_for('containers.index') }}">Контейнеры β</a></li>
|
||||||
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
{% else %}
|
{% else %}
|
||||||
<ul class="right">
|
<ul class="right">
|
||||||
|
|
|
@ -5,17 +5,19 @@
|
||||||
<title>{% block title %}{% endblock %}</title>
|
<title>{% block title %}{% endblock %}</title>
|
||||||
<meta name="description" content="{% block description %}{% endblock %}">
|
<meta name="description" content="{% block description %}{% endblock %}">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<script src="{{ url_for('static', filename='js/vendor/jquery.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/vendor/modernizr.js') }}"></script>
|
|
||||||
<script src="{{ url_for('static', filename='js/foundation/foundation.min.js') }}"></script>
|
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/foundation.min.css') }}" />
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/foundation.min.css') }}" />
|
||||||
<link rel="stylesheet" href="{{ url_for('static', filename='css/gocloud.css') }}" />
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/gocloud.css') }}" />
|
||||||
<meta name='shareinstock' content='' />
|
<script src="{{ url_for('static', filename='js/vendor/jquery.js') }}"></script>
|
||||||
|
<!-- script src="{{ url_for('static', filename='js/vendor/modernizr.js') }}"></script -->
|
||||||
|
<script src="{{ url_for('static', filename='js/foundation/foundation.min.js') }}"></script>
|
||||||
|
<script src="{{ url_for('static', filename='js/foundation/foundation.orbit.js') }}"></script>
|
||||||
{% block head %}{% endblock %}
|
{% block head %}{% endblock %}
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
{% include "default/_header.html" %}
|
{% include "default/_header.html" %}
|
||||||
{% block content %}{% endblock %}
|
{% block content %}{% endblock %}
|
||||||
{% include "default/_footer.html" %}
|
{% include "default/_footer.html" %}
|
||||||
|
|
||||||
|
{% block footer %}{% endblock %}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -8,43 +8,82 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="large-12 columns">
|
<div class="large-12 columns">
|
||||||
<p id="slogan">Облачный хостинг для разработчиков</p>
|
<p id="slogan">Облачный хостинг для разработчиков</p>
|
||||||
<p id="sub">Linux контейнер от 100 рублей в месяц</p>
|
<p id="sub">Виртуальный сервер от 300 рублей в месяц</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="{{ url_for('account.registration') }}" class="button alert">Создать контейнер</a>
|
<a href="{{ url_for('containers.create') }}" class="button alert">Создать контейнер β</a>
|
||||||
|
<a href="{{ url_for('vms.create') }}" class="button success" style="box-shadow: 5px 5px #1a1a1a;">Создать виртуальный сервер</a>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="large-8 columns">
|
<div class="large-12 columns">
|
||||||
|
<div class="row">
|
||||||
|
<div class="large-3 columns">
|
||||||
|
<ul class="pricing-table">
|
||||||
|
<li class="title">G1</li>
|
||||||
|
<li class="price">590₽/мес.</li>
|
||||||
|
<li class="bullet-item">Процессор 1</li>
|
||||||
|
<li class="bullet-item">Память 1Гб</li>
|
||||||
|
<li class="bullet-item">Диск 20Гб</li>
|
||||||
|
<li class="cta-button"><a class="button" href="{{ url_for('vms.create') }}">Создать сервер</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="large-3 columns">
|
||||||
|
<ul class="pricing-table">
|
||||||
|
<li class="title">G2</li>
|
||||||
|
<li class="price">1080₽/мес.</li>
|
||||||
|
<li class="bullet-item">Процессор 2</li>
|
||||||
|
<li class="bullet-item">Память 2Гб</li>
|
||||||
|
<li class="bullet-item">Диск 30Гб</li>
|
||||||
|
<li class="cta-button"><a class="button" href="{{ url_for('vms.create') }}">Создать сервер</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="large-3 columns">
|
||||||
|
<ul class="pricing-table">
|
||||||
|
<li class="title">G4</li>
|
||||||
|
<li class="price">2050₽/мес.</li>
|
||||||
|
<li class="bullet-item">Процессор 2</li>
|
||||||
|
<li class="bullet-item">Память 4Гб</li>
|
||||||
|
<li class="bullet-item">Диск 50Гб</li>
|
||||||
|
<li class="cta-button"><a class="button" href="{{ url_for('vms.create') }}">Создать сервер</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="large-3 columns">
|
||||||
|
<ul class="pricing-table">
|
||||||
|
<li class="title">G8</li>
|
||||||
|
<li class="price">3900₽/мес.</li>
|
||||||
|
<li class="bullet-item">Процессор 4</li>
|
||||||
|
<li class="bullet-item">Память 8Гб</li>
|
||||||
|
<li class="bullet-item">Диск 80Гб</li>
|
||||||
|
<li class="cta-button"><a class="button" href="{{ url_for('vms.create') }}">Создать сервер</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="large-12 columns">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="large-12 columns">
|
<div class="large-12 columns">
|
||||||
<h2>Особенности</h2>
|
<h2>Особенности</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="large-12 columns">
|
<div class="large-12 columns">
|
||||||
<ul id="features-list">
|
<ul id="features-list">
|
||||||
<li>Авто масштабируемые LXC контейнеры с Ubuntu Linux</li>
|
<li>Удобная панель управления позволяет легко и удобно администрировать арендованные виртуальные ресурсы.</li>
|
||||||
<li>Оплата только за используемые ресурсы</li>
|
<li>Развернутая инфраструктура и резервированная телекоммуникационная сеть</li>
|
||||||
<li>Готовность к развёртыванию через минуту</li>
|
<li>Готовность к развёртыванию через несколько минут</li>
|
||||||
<li>Публичный IP-адрес</li>
|
|
||||||
<li>Неограниченный трафик с брандмауэром</li>
|
|
||||||
<li>Несколько центров обработки данных по всему миру</li>
|
<li>Несколько центров обработки данных по всему миру</li>
|
||||||
|
<li>Неограниченный трафик</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="large-4 columns">
|
<div class="large-12 columns" style="text-align: center">
|
||||||
<!-- ul class="pricing-table">
|
<a class="twitter-timeline" href="https://twitter.com/gocloud_ru" data-widget-id="678726736645922816">Твитер @gocloud_ru</a>
|
||||||
<li class="title">Standard</li>
|
|
||||||
<li class="price">от 100руб./мес.</li>
|
|
||||||
<li class="bullet-item">5Гб Диск</li>
|
|
||||||
<li class="bullet-item">512Мб Оперативной памяти</li>
|
|
||||||
<li class="bullet-item">Неограниченный трафик</li>
|
|
||||||
<li class="cta-button"><a class="button" href="{{ url_for('account.registration') }}">Создать контейнер</a></li>
|
|
||||||
</ul -->
|
|
||||||
<a class="twitter-timeline" href="https://twitter.com/gocloud_ru" data-widget-id="678726736645922816">Tweets by @gocloud_ru</a>
|
|
||||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block footer %}
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -107,7 +107,7 @@ def billing():
|
||||||
cub = ControllerBilling()
|
cub = ControllerBilling()
|
||||||
|
|
||||||
if not cub.exists(user_id):
|
if not cub.exists(user_id):
|
||||||
cub.create(user=user_id, balance=0)
|
cub.create(user_id, balance=0)
|
||||||
|
|
||||||
# TODO: move to function
|
# TODO: move to function
|
||||||
user_details = models.Users.select().where(
|
user_details = models.Users.select().where(
|
||||||
|
@ -131,9 +131,9 @@ def registration():
|
||||||
return redirect(url_for("containers.index"))
|
return redirect(url_for("containers.index"))
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
email = request.form['email']
|
email = request.form.get('email')
|
||||||
password = request.form['password']
|
password = request.form.get('password')
|
||||||
password2 = request.form['password2']
|
password2 = request.form.get('password2')
|
||||||
|
|
||||||
# Проверка введён ли проверочный пароль одинаково
|
# Проверка введён ли проверочный пароль одинаково
|
||||||
if password != password2:
|
if password != password2:
|
||||||
|
@ -294,7 +294,7 @@ def password_reset_step2():
|
||||||
# controllers.Mail().send(request.form['email'], subject, message)
|
# controllers.Mail().send(request.form['email'], subject, message)
|
||||||
|
|
||||||
email = ControllerMessagesEmail()
|
email = ControllerMessagesEmail()
|
||||||
email.send(title=subject, to=request.form['email'], lead=lead, message=message, callout=callout)
|
email.send(title=subject, to=request.form.GET('email'), lead=lead, message=message, callout=callout)
|
||||||
|
|
||||||
# redirect to login page
|
# redirect to login page
|
||||||
return redirect(url_for('account.login'))
|
return redirect(url_for('account.login'))
|
||||||
|
|
|
@ -39,11 +39,11 @@ def create():
|
||||||
if not ControllerUsers().check_session():
|
if not ControllerUsers().check_session():
|
||||||
return redirect(url_for("account.logout"))
|
return redirect(url_for("account.logout"))
|
||||||
# auth user
|
# auth user
|
||||||
if not ControllerUsers().auth(session['email'], session['password']):
|
if not ControllerUsers().auth(session.get('email'), session.get('password')):
|
||||||
return redirect(url_for("account.logout"))
|
return redirect(url_for("account.logout"))
|
||||||
|
|
||||||
user_balance = ControllerBilling().get(session['user_id'])
|
user_balance = ControllerBilling().get(session.get('user_id'))
|
||||||
user_ssh = ControllerSSHKey(session['user_id'])
|
user_ssh = ControllerSSHKey(session.get('user_id'))
|
||||||
controller_plans = ControllerPlans()
|
controller_plans = ControllerPlans()
|
||||||
|
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
|
|
19
extra/uwsgi_admin.ini
Normal file
19
extra/uwsgi_admin.ini
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
[uwsgi]
|
||||||
|
virtualenv = /home/gocloud/env
|
||||||
|
|
||||||
|
;for http
|
||||||
|
;protocol = http
|
||||||
|
;socket = 127.0.0.1:8080
|
||||||
|
|
||||||
|
; for unix-socket
|
||||||
|
socket = /var/run/sws/gocloud_admin.sock
|
||||||
|
chmod-socket = 777
|
||||||
|
|
||||||
|
module = SWSCloudAdministrator:app
|
||||||
|
|
||||||
|
master = true
|
||||||
|
processes = 1
|
||||||
|
|
||||||
|
vacuum = true
|
||||||
|
|
||||||
|
die-on-term = true
|
|
@ -6,7 +6,7 @@ virtualenv = /home/gocloud/env
|
||||||
;socket = 127.0.0.1:8080
|
;socket = 127.0.0.1:8080
|
||||||
|
|
||||||
; for unix-socket
|
; for unix-socket
|
||||||
socket = /var/run/sws/gocloud.sock
|
socket = /var/run/sws/gocloud_web.sock
|
||||||
chmod-socket = 777
|
chmod-socket = 777
|
||||||
|
|
||||||
module = SWSCloudWeb:app
|
module = SWSCloudWeb:app
|
46
setup.py
46
setup.py
|
@ -4,7 +4,7 @@ from setuptools import setup
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='SWSCloudCore',
|
name='SWSCloudCore',
|
||||||
version='2.5.0',
|
version='2.5.1',
|
||||||
author='Vyacheslav Anzhiganov',
|
author='Vyacheslav Anzhiganov',
|
||||||
author_email='hello@anzhiganov.com',
|
author_email='hello@anzhiganov.com',
|
||||||
packages=[
|
packages=[
|
||||||
|
@ -61,6 +61,34 @@ setup(
|
||||||
'static/js/vendor/*.js',
|
'static/js/vendor/*.js',
|
||||||
# Templates
|
# Templates
|
||||||
'templates/*.html',
|
'templates/*.html',
|
||||||
|
'templates/default/*.html',
|
||||||
|
'templates/default/containers/*.html',
|
||||||
|
'templates/default/documents/*.html',
|
||||||
|
'templates/default/homepage/*.html',
|
||||||
|
'templates/default/id/*.html',
|
||||||
|
'templates/default/kb/*.html',
|
||||||
|
'templates/default/payment/*.html',
|
||||||
|
'templates/default/payment/robokassa/*.html',
|
||||||
|
'templates/default/support/*.html',
|
||||||
|
'templates/default/tasks/*.html',
|
||||||
|
'templates/default/vms/*.html',
|
||||||
|
'templates/email/simple/*.html',
|
||||||
|
'templates/email/simple/*.css',
|
||||||
|
'templates/errors/*.html',
|
||||||
|
],
|
||||||
|
'SWSCloudAdministrator': [
|
||||||
|
# Static files
|
||||||
|
'static/css/*.css',
|
||||||
|
'static/images/*.png',
|
||||||
|
'static/images/cloudns/*.png',
|
||||||
|
'static/images/control/*.png',
|
||||||
|
'static/images/payment/*.png',
|
||||||
|
'static/images/social/*.png',
|
||||||
|
'static/images/promo/*.png',
|
||||||
|
'static/js/*.js',
|
||||||
|
'static/js/foundation/*.js',
|
||||||
|
'static/js/vendor/*.js',
|
||||||
|
#
|
||||||
'templates/administrator/*.html',
|
'templates/administrator/*.html',
|
||||||
'templates/administrator/containers/*.html',
|
'templates/administrator/containers/*.html',
|
||||||
'templates/administrator/datacenters/*.html',
|
'templates/administrator/datacenters/*.html',
|
||||||
|
@ -77,21 +105,9 @@ setup(
|
||||||
'templates/administrator/wiki/*.html',
|
'templates/administrator/wiki/*.html',
|
||||||
'templates/administrator/wiki/article/*.html',
|
'templates/administrator/wiki/article/*.html',
|
||||||
'templates/administrator/wiki/category/*.html',
|
'templates/administrator/wiki/category/*.html',
|
||||||
'templates/default/*.html',
|
# Errors
|
||||||
'templates/default/containers/*.html',
|
|
||||||
'templates/default/documents/*.html',
|
|
||||||
'templates/default/homepage/*.html',
|
|
||||||
'templates/default/id/*.html',
|
|
||||||
'templates/default/kb/*.html',
|
|
||||||
'templates/default/payment/*.html',
|
|
||||||
'templates/default/payment/robokassa/*.html',
|
|
||||||
'templates/default/support/*.html',
|
|
||||||
'templates/default/tasks/*.html',
|
|
||||||
'templates/default/vms/*.html',
|
|
||||||
'templates/email/simple/*.html',
|
|
||||||
'templates/email/simple/*.css',
|
|
||||||
'templates/errors/*.html',
|
'templates/errors/*.html',
|
||||||
]
|
],
|
||||||
},
|
},
|
||||||
scripts=[
|
scripts=[
|
||||||
'cloud-db-init.py',
|
'cloud-db-init.py',
|
||||||
|
|
Loading…
Add table
Reference in a new issue