Exemple #1
0
def add_logs(guild_1, file_name):
    guild_2 = Guild()
    guild_2.from_json(open(get_resource('data', file_name)))

    for mem_1, mem_2 in zip(guild_1._members, guild_2._members):
        if mem_1.name == mem_2.name:
            mem_1.raw_data['logs'] += mem_2.logs
Exemple #2
0
def api_import():
    form = flask.request.form
    user = user_by_api(form['api-key'])
    if not user:
        return build_api_response(False, 'Unauthorized'), 401
    try:
        guild.from_json(form['json-data'])
        guild.export(get_resource('data', 'guild-{}.json'.format(time.time())))
        concat_script.fix(3)
        json_file = sorted(
            [f for f in os.listdir(get_resource('data')) if '.json' in f], reverse=True)

        guild.from_json(open(get_resource('data', json_file[0])))
    except BaseException:
        return build_api_response(False, 'Failed to process input data, try '
                                         'pasting again'), 422

    return build_api_response(True, 'Successfully imported data'), 200
Exemple #3
0
def fix(depth: int = -0):
    json_file = sorted(
        [f for f in os.listdir(get_resource('data')) if '.json' in f],
        reverse=True)
    log_1 = json_file[0]
    guild_1 = Guild()
    guild_1.from_json(open(get_resource('data', log_1)))
    if depth == -1:
        log_depth = json_file
    else:
        log_depth = json_file[:depth]

    for log_file in log_depth:
        add_logs(guild_1, log_file)

    for member in guild_1._members:
        trim_logs(member)

    guild_1.export(get_resource('data', 'guild-{}.json'.format(time.time())))
Exemple #4
0
def api_decay():
    form = flask.request.form
    user = user_by_api(form['api-key'])
    if not user:
        return build_api_response(False, 'Unauthorized'), 401
    try:
        guild.decay()
        guild.from_json(guild.export())
        guild.export(get_resource('data', 'guild-{}.json'.format(time.time())))
    except BaseException as e:
        app.logger.error('api_decay: %s', str(e.args))
        return build_api_response(False, 'An unknown error occurred, time to '
                                         'call Boom!'), 422
    return build_api_response(True, 'Successfully decayed guild'), 200
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker

from epgp import get_resource

engine = create_engine('sqlite:///' + get_resource('data', 'test.db'),
                       convert_unicode=True)
db_session = scoped_session(
    sessionmaker(autocommit=False, autoflush=False, bind=engine))

Base = declarative_base()
Base.query = db_session.query_property()


# noinspection PyUnresolvedReferences
def init_db():
    import epgp.db_objects.user
    import epgp.db_objects.suggestion

    Base.metadata.create_all(bind=engine)
Exemple #6
0
import os
from flask import Flask
from flask_login import LoginManager

from epgp import get_resource
from epgp.pages import Index, Loot, Import, Edit
from epgp.guild import Guild


app = Flask(__name__)

app.secret_key = 'T**S'

login_manager = LoginManager()
login_manager.init_app(app)

guild = Guild()
json_file = sorted(
    [f for f in os.listdir(get_resource('data')) if '.json' in f], reverse=True)

if json_file:
    guild.from_json(open(get_resource('data', json_file[0])))
else:
    app.logger.error('Failed to load json')

index_page = Index(guild)
loot_page = Loot(guild)
import_page = Import(guild)
edit_page = Edit(guild)