default repo

This commit is contained in:
scragg 2013-09-30 09:34:16 -05:00
父節點 32e152a2a7
當前提交 10b74fbc4f
共有 4 個檔案被更改,包括 32 行新增13 行删除

查看文件

@ -2,20 +2,21 @@ import config
import redis
import logging
import rethinkdb as rdb
import os
from flask import Flask, request, render_template, url_for, redirect
from flask.ext.bcrypt import Bcrypt
from flask.ext.login import LoginManager
from flask.ext.assets import Environment
from session import RedisSessionInterface
from gittle import Gittle
from os import sep, path
from wiki import Wiki
from util import mkdir_safe
app = Flask(__name__)
app.config.update(config.flask)
app.debug = (config.ENV is not 'PROD')
app.secret_key = config.secret_key
app.static_path = sep + 'static'
app.static_path = os.sep + 'static'
app.session_interface = RedisSessionInterface()
bcrypt = Bcrypt(app)
@ -29,13 +30,26 @@ assets.directory = app.static_folder
cache = redis.StrictRedis(host=config.cache['host'], port=config.cache['port'])
conn = rdb.connect(config.db['host'], config.db['port'])
conn = rdb.connect(config.db['host'], config.db['port'], db=config.db['dbname'])
if not config.db['dbname'] in rdb.db_list().run(conn) and config.ENV is not 'PROD':
# Create default db and repo
print "Creating DB %s" % config.db['dbname']
rdb.db_create(config.db['dbname']).run(conn)
for tbl in ['sites', 'users', 'pages']:
rdb.table_create(tbl).run(conn)
repo_dir = config.repos['dir'] + "/" + config.repos['main']
repo = Gittle(repo_dir)
mkdir_safe(repo_dir)
if not repo.has_index():
repo.init(repo_dir)
from models import Site
site = Site.get_by_name(".")
w = Wiki(site.get('repo'))
w = Wiki(repo_dir)
def redirect_url():

查看文件

@ -1,4 +1,5 @@
from reimagine import rdb, conn
import rethinkdb as rdb
from reimagine import conn
def get_one(cur):
@ -7,9 +8,7 @@ def get_one(cur):
class BaseModel():
__db__ = None
__table__ = None
_rdb = rdb
_conn = conn
def __init__(self):
@ -17,14 +16,13 @@ class BaseModel():
@classmethod
def filter(cls, f, limit=None):
q = cls._rdb.db(cls.__db__).table(cls.__table__).filter(f)
q = rdb.table(cls.__table__).filter(f)
if limit:
q.limit(int(limit))
return q.run(cls._conn)
class Site(BaseModel):
__db__ = 'lastdb'
__table__ = 'sites'
@classmethod

查看文件

@ -2,6 +2,12 @@ import re
import os
def mkdir_safe(path):
if path and not(os.path.exists(path)):
os.makedirs(path)
return path
def extract_path(file_path):
if not file_path:
return None

查看文件

@ -18,7 +18,7 @@ nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
user = deploy
user = root
identifier = supervisor
directory = /tmp
nocleanup = true
@ -29,4 +29,5 @@ strip_ansi = false
command=/usr/bin/python /vagrant/app.py
[program:rethinkdb]
command=/usr/bin/rethinkdb --config-file /etc/rethinkdb/rdb0.conf
command=/usr/bin/rethinkdb --config-file /etc/rethinkdb/rdb0.conf
user=root