Пример #1
0
def post_translations(name):
    """updates all languages"""
    folder = os.path.join(FOLDER, name, "translations")
    if not os.path.exists(folder):
        os.makedirs(folder)
    t = Translator(folder)
    t.languages = request.json
    if MODE == "full":
        t.save()
Пример #2
0
    handler.setFormatter(formatter)
    logger.setLevel(getattr(logging, level.upper(), "DEBUG"))
    logger.addHandler(handler)

# connect to db
db = DAL(
    settings.DB_URI,
    folder=settings.DB_FOLDER,
    pool_size=settings.DB_POOL_SIZE,
    migrate=settings.DB_MIGRATE,
    fake_migrate=settings.DB_FAKE_MIGRATE,
)

# define global objects that may or may not be used by th actions
cache = Cache(size=1000)
T = Translator(settings.T_FOLDER)
flash = Flash()

# pick the session type that suits you best
if settings.SESSION_TYPE == "cookies":
    session = Session(secret=settings.SESSION_SECRET_KEY)
elif settings.SESSION_TYPE == "redis":
    import redis

    host, port = settings.REDIS_SERVER.split(":")
    # for more options: https://github.com/andymccurdy/redis-py/blob/master/redis/client.py
    conn = redis.Redis(host=host, port=int(port))
    conn.set = (lambda k, v, e, cs=conn.set, ct=conn.ttl: cs(k, v, ct(k))
                if ct(k) >= 0 else cs(k, v, e))
    session = Session(secret=settings.SESSION_SECRET_KEY, storage=conn)
elif settings.SESSION_TYPE == "memcache":
Пример #3
0
import requests

import py4web
from py4web import __version__, action, abort, request, response, redirect, Translator, HTTP, URL
from py4web.core import Reloader, dumps, ErrorStorage, Session, Fixture
from py4web.utils.factories import ActionFactory
from pydal.validators import CRYPT
from yatl.helpers import BEAUTIFY
from .utils import *
from .diff2kryten import diff2kryten

MODE = os.environ.get("PY4WEB_DASHBOARD_MODE", "none")
FOLDER = os.environ["PY4WEB_APPS_FOLDER"]
APP_FOLDER = os.path.dirname(__file__)
T_FOLDER = os.path.join(APP_FOLDER, "translations")
T = Translator(T_FOLDER)
error_storage = ErrorStorage()
db = error_storage.db
session = Session()


def run(command, project):
    """for runing git commands inside an app (project)"""
    return subprocess.check_output(command.split(),
                                   cwd=os.path.join(FOLDER, project)).decode()


def get_commits(project):
    """list of git commits for the project"""
    output = run("git log", project)
    commits = []
Пример #4
0
def update_translations(name):
    """find all T(...) decorated strings in the code and returns them"""
    app_folder = os.path.join(FOLDER, name)
    strings = Translator.find_matches(app_folder)
    return {'strings': strings}
Пример #5
0
def get_translations(name):
    """returns a json with all translations for all languages"""
    t = Translator(os.path.join(FOLDER, name, "translations"))
    return t.languages