def save_database_as_zip():
    app = flask.current_app
    if not app.config.get("DEBUG", False):
        flask.abort(404)

    database_dump = dump_database(auth=False).data
    user_photos_dump = dump_user_photos(auth=False)

    # create temporary files
    temp = ppath(tempfile.mkdtemp())
    database_path = flask.safe_join(temp, "database")
    os.makedirs(database_path)

    with open(flask.safe_join(database_path, "dump.json"), "w+") as f:
        f.write(database_dump)
    with open(flask.safe_join(database_path, "user_photos.zip"), "w+") as f:
        f.write(user_photos_dump.data)

    archive_name = flask.safe_join(temp, "database")
    try:
        shutil.make_archive(archive_name, "zip", database_path)
        f = open(archive_name + ".zip")
    finally:
        temp.rmtree()
    return flask.Response(sugar.read_file(f), mimetype="application/x-zip-compressed")
Beispiel #2
0
def register(app):
    app.register_blueprint(auth)
    oid.init_app(app)
    instance_path = ppath(app.instance_path)
    oid.fs_store_path = instance_path / "openid-store"
    app.before_request(lookup_current_user)
    app.extensions["auth-users"] = {"usersdb": SqliteDict(instance_path / "users.db", autocommit=True)}
Beispiel #3
0
def register(app):
    app.register_blueprint(auth)
    oid.init_app(app)
    instance_path = ppath(app.instance_path)
    oid.fs_store_path = instance_path / 'openid-store'
    app.before_request(lookup_current_user)
    app.extensions['auth-users'] = {
        'usersdb': SqliteDict(instance_path / 'users.db', autocommit=True),
    }
def dump_user_photos(auth=True):
    if auth:
        _auth()
    app = flask.current_app
    user_photos_path = app.config['UPLOADED_PHOTOS_DEST']

    temp = ppath(tempfile.mkdtemp())
    archive_name = flask.safe_join(temp, "photos")

    try:
        shutil.make_archive(archive_name, "zip", user_photos_path)
        f = open(archive_name + ".zip")
    finally:
        temp.rmtree()
    return flask.Response(sugar.read_file(f), mimetype="application/x-zip-compressed")
Beispiel #5
0
import imp
from path import path as ppath
from fabric.api import *
from fabric.contrib.files import exists


fabdir = ppath(__file__).abspath().dirname()
common = imp.load_source("common", fabdir.parent / "common.py")


config = env["composer_config"] = {
    "fabdir": fabdir,
    "buildout-path": ppath("/var/local/naaya"),
    "unix-user": "******",
    "svn-url": "https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/Naaya",
}

if not env["hosts"]:
    env["hosts"] = ["[email protected]"]
env["key_filename"] = fabdir / "vagrant-id-rsa"


@task
def initialize():
    config = env["composer_config"]
    sudo("mkdir '%(buildout-path)s'" % config)
    sudo("chown %(unix-user)s: '%(buildout-path)s'" % config)
    execute(common.initialize)


def _naaya_src():
Beispiel #6
0
from fabric.api import *
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'live_catalogue-repo':
    'https://svn.eionet.europa.eu/repositories/Python/flis.live_catalogue',
    'localrepo': ppath(__file__).abspath().parent.parent,
}

try:
    from localcfg import *
except:
    pass

app.update({
    'instance_var': app['repo'] / 'instance',
    'manage_var': app['repo'] / 'live_catalogue',
    'live_catalogue_var': app['repo'] / 'live_catalogue' / 'live_catalogue',
    'sandbox': app['repo'] / 'sandbox',
    'user': '******',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _install_random_key(remote_path, key_length=20, mode=0600):
    import random
Beispiel #7
0
from fabric.api import *
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    "reportdb-repo": "https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/reportdb",
    "localrepo": ppath(__file__).abspath().parent.parent,
}

try:
    from localcfg import *
except:
    pass

app.update({"instance_var": app["repo"] / "instance", "sandbox": app["repo"] / "sandbox", "user": "******"})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _install_random_key(remote_path, key_length=20, mode=0600):
    import random
    import string
    from StringIO import StringIO

    vocabulary = string.ascii_letters + string.digits
    key = "".join(random.choice(vocabulary) for c in xrange(key_length))
    put(StringIO(key), remote_path, mode=mode)
Beispiel #8
0
from fabric.api import *
from fabric.api import env
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'buildout_repo': 'https://github.com/eaudeweb/naaya.buildout.destinet.git',
    'bundle_repo':
        'https://github.com/eaudeweb/naaya.bundles.NaayaBundles-DESTINET.git',
}

env.hosts = ['*****@*****.**']

app['repo'] = ppath('/var/local/destinet/buildout')

app.update({
    'buildout_var': app['repo']/'src/buildout-destinet',
    'bundle_var': app['repo']/'src/NaayaBundles-DESTINET',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _git_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.git'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
            run("git clone '%s' buildout-destinet" % origin_url)
Beispiel #9
0
from path import path as ppath
from fabric.api import *
from fabric.contrib.files import exists


app = env.app = {
    'fabdir': ppath(__file__).abspath().dirname(),
    'buildout-path': ppath('/var/local/naaya-design'),
    'naaya-repo': 'https://github.com/eaudeweb/Naaya.git',
    'talkback-repo': 'https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/naaya.content.talkback',
    'photoarchive-repo': 'https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/naaya.photoarchive',
    'forum-repo': 'https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/Products.NaayaForum',
}

env['hosts'] = ['*****@*****.**']


@task
def ssh():
    open_shell("cd '%(buildout-path)s'" % app)


def _virtualenv(venv_path, python_bin='python2.6'):
    run("virtualenv %s --no-site-packages --distribute --python=%s" %
        (venv_path, python_bin))


def _git_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.git'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
Beispiel #10
0
from fabric.api import *
from fabric.api import env
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'buildout_repo':
        'https://github.com/eaudeweb/naaya.buildout.groupware.git',
    'forum_bundle_repo':
        'https://github.com/eaudeweb/naaya.bundles.NaayaBundles-Forum.git',
}

env.hosts = ['*****@*****.**']

app['forum_repo'] = ppath('/var/local/naaya/forum')
app['projects_repo'] = ppath('/var/local/naaya/projects')
app['archives_repo'] = ppath('/var/local/naaya/archives')

app.update({
    'forum_buildout_var': app['forum_repo']/'src/buildout',
    'forum_bundle_var': app['forum_repo']/'src/NaayaBundles-Forum',
    'projects_buildout_var': app['projects_repo']/'src/buildout',
    'projects_bundle_var': app['projects_repo']/'src/NaayaBundles-Forum',
    'archives_buildout_var': app['archives_repo']/'src/buildout',
    'archives_bundle_var': app['archives_repo']/'src/NaayaBundles-Forum',
})


@task
def ssh():
    open_shell("cd '%(forum_repo)s'" % app)
Beispiel #11
0
import imp
from path import path as ppath
from fabric.api import *
from fabric.contrib.files import exists


fabdir = ppath(__file__).abspath().dirname()
common = imp.load_source('common', fabdir.parent/'common.py')


config = env['composer_config'] = {
    'fabdir': fabdir,
    'buildout-path': ppath('/var/local/naaya'),
    'unix-user': '******',
}

if not env['hosts']:
    env['hosts'] = ['[email protected]']
env['key_filename'] = fabdir/'vagrant-id-rsa'


@task
def initialize():
    config = env['composer_config']
    sudo("mkdir '%(buildout-path)s'" % config)
    sudo("chown %(unix-user)s: '%(buildout-path)s'" % config)
    execute(common.initialize)


shell = common.shell
deploy = common.deploy
Beispiel #12
0
from fabric.api import *
from fabric.api import env
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'buildout_repo':
        'https://github.com/eaudeweb/naaya.buildout.groupware.git',
    'naaya_repo':
        'https://github.com/eaudeweb/naaya.git',
}

env.hosts = ['*****@*****.**']

app['repo'] = ppath('/var/local/groupware/gw-test')

app.update({
    'buildout_var': app['repo']/'src/buildout',
    'naaya_var': app['repo']/'src/naaya',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _git_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.git'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
Beispiel #13
0
from fabric.api import *
from fabric.contrib.files import *
from path import path as ppath


app = env.app = {
    'repo': ppath('/var/local/chm/natura2000'),
    'localrepo': ppath(__file__).abspath().parent.parent,
}


env['use_ssh_config'] = True
env.hosts = ['zope@puma']


app.update({
    'instance_var': app['repo']/'instance',
    'sandbox': app['repo']/'sandbox',
    'user': '******',
})


@task
def i18n_extract():
    local("pybabel extract --omit-header --mapping=babel.cfg "
          "-o i18n/messages.pot "
          "'%(localrepo)s'/templates "
          "'%(localrepo)s'/naturasites "
          "'%(localrepo)s'/tinygis"
          % app)
Beispiel #14
0
from fabric.api import *
from fabric.api import env
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'buildout_repo':
        'https://github.com/eaudeweb/naaya.buildout.groupware.git',
    'bundle_repo':
        'https://github.com/eaudeweb/naaya.bundles.NaayaBundles-PBE.git',
}

env.hosts = ['*****@*****.**']

app['repo'] = ppath('/var/local/groupware')

app.update({
    'buildout_var': app['repo']/'src/buildout',
    'bundle_var': app['repo']/'src/NaayaBundles-PBE',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _git_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.git'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
Beispiel #15
0
app = env.app = {
    'buildout_repo': 'https://github.com/eaudeweb/naaya.buildout.chm-be.git',
    'bundle_repo':
        'https://github.com/eaudeweb/naaya.bundles.NaayaBundles-CHMBE.git',
    'bundle_cop10_repo':
        'https://github.com/eaudeweb/'
        'naaya.bundles.NaayaBundles-CHMBE-cop10.git',
    'bundle_training_repo':
        'https://github.com/eaudeweb/'
        'naaya.bundles.NaayaBundles-CHMBE-training.git',
}

env.hosts = ['[email protected]:1974']

app['repo'] = ppath('/var/local/bch')


app.update({
    'buildout_var': app['repo']/'src/buildout-chm-be',
    'bundle_var': app['repo']/'src/NaayaBundles-CHMBE',
    'bundle_cop10_var': app['repo']/'src/NaayaBundles-CHMBE',
    'bundle_training_var': app['repo']/'src/NaayaBundles-CHMBE',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)

Beispiel #16
0
import imp
from path import path as ppath
from fabric.api import *
from fabric.contrib.files import exists


fabdir = ppath(__file__).abspath().dirname()
app = env.app = {
    'fabdir': fabdir,
    'buildout-path': ppath('/var/lib/jenkins/jobs/Naaya-tests-naaya-additional/workspace'),
    'trunk-eggs-repo': 'https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/',
    'bundles-repos': ['https://svn.eionet.europa.eu/repositories/Naaya/trunk/eggs/NaayaBundles-DESTINET/', ]
}

env['hosts'] = ['*****@*****.**']


@task
def ssh():
    open_shell("cd '%(buildout-path)s'" % app)


def _virtualenv(venv_path, python_bin='python2.6'):
    run("virtualenv %s --no-site-packages --distribute --python=%s" %
        (venv_path, python_bin))


def _svn_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.svn'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
Beispiel #17
0
from fabric.api import *
from fabric.api import env
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'buildout_repo': 'https://github.com/eaudeweb/naaya.buildout.chm-eu.git',
    'bundle_repo':
        'https://github.com/eaudeweb/naaya.bundles.NaayaBundles-CHMEU.git',
}


env.hosts = ['*****@*****.**']

app['repo'] = ppath('/var/local/chm/buildout')

app.update({
    'buildout_var': app['repo']/'src/buildout-chm-eu',
    'bundle_var': app['repo']/'src/NaayaBundles-CHMEU',
})


@task
def ssh():
    open_shell("cd '%(repo)s'" % app)


def _git_repo(repo_path, origin_url, update=True):
    if not exists(repo_path/'.git'):
        run("mkdir -p '%s'" % repo_path)
        with cd(repo_path):
Beispiel #18
0
from fabric.api import *
from fabric.contrib.files import *
from path import path as ppath

app = env.app = {
    'repo': ppath('/var/local/chm/natura2000'),
    'localrepo': ppath(__file__).abspath().parent.parent,
}

env['use_ssh_config'] = True
env.hosts = ['zope@puma']

app.update({
    'instance_var': app['repo'] / 'instance',
    'sandbox': app['repo'] / 'sandbox',
    'user': '******',
})


@task
def i18n_extract():
    local("pybabel extract --omit-header --mapping=babel.cfg "
          "-o i18n/messages.pot "
          "'%(localrepo)s'/templates "
          "'%(localrepo)s'/naturasites "
          "'%(localrepo)s'/tinygis" % app)


@task
def i18n_init(new_locale):
    local("pybabel init -i '%(localrepo)s'/i18n/messages.pot "