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
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
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())))
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)
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)