Ejemplo n.º 1
0
"""Expedition blueprint."""
import datetime
import time
from math import floor

from flask import Blueprint, g
from flask import request, abort

import util
from app import logger
from db import Expedition, db
from kancolle.helpers import MemberHelper
from util import prepare_api_blueprint, svdata

api_mission = Blueprint("api_mission", __name__)
prepare_api_blueprint(api_mission)


@api_mission.route("/start", methods=["GET", "POST"])
def start_mission():
    # This is mostly an internal method.
    # This sets up the fleet for an expedition, sending them out.

    # First, get the required data from the request.
    fleet_id = int(request.values.get("api_deck_id")) - 1
    expedition_id = int(request.values.get("api_mission_id"))
    # There's an extra value, api_mission.
    # No idea what it does.

    # Also, api_serial_cid
    # This is presumably an anti-bot method by DMM.
Ejemplo n.º 2
0
from flask import Blueprint

from util import prepare_api_blueprint

api_game = Blueprint('api_game', __name__)
prepare_api_blueprint(api_game)

from modules.api.entrypoint import member
from modules.api.entrypoint import actions

Ejemplo n.º 3
0
"""Expedition blueprint."""
import datetime
import time
from math import floor

from flask import Blueprint, g
from flask import request, abort

import util
from app import logger
from db import Expedition, db
from kancolle.helpers import MemberHelper
from util import prepare_api_blueprint, svdata

api_mission = Blueprint("api_mission", __name__)
prepare_api_blueprint(api_mission)


@api_mission.route("/start", methods=["GET", "POST"])
def start_mission():
    # This is mostly an internal method.
    # This sets up the fleet for an expedition, sending them out.

    # First, get the required data from the request.
    fleet_id = int(request.values.get("api_deck_id")) - 1
    expedition_id = int(request.values.get("api_mission_id"))
    # There's an extra value, api_mission.
    # No idea what it does.

    # Also, api_serial_cid
    # This is presumably an anti-bot method by DMM.
Ejemplo n.º 4
0
"""
kancolle/api -> Core API stuff. Bleh.
"""

from flask import g
from util import prepare_api_blueprint, load_datadump, svdata
from .actions import api_actions, api_user
from .init import api_init
from .member import api_member as api_member
from .expedition import api_mission

prepare_api_blueprint(api_actions)
prepare_api_blueprint(api_member)
prepare_api_blueprint(api_init)
prepare_api_blueprint(api_user)


@api_actions.before_request
def load_api_start2():
    if not 'data_start2' in g:
        g.data_start2 = load_datadump("api_start2.json")


@api_actions.route('/api_start2', methods=['GET', 'POST'])
def start2():
    return svdata(g.data_start2)
Ejemplo n.º 5
0
from flask import request, Blueprint

from db import db
from helpers import _QuestHelper, _AdmiralHelper, _DockHelper
from util import get_token_admiral_or_error, svdata, prepare_api_blueprint

api_actions = Blueprint('api_actions', __name__)
prepare_api_blueprint(api_actions)


@api_actions.route('/api_req_hensei/lock', methods=['POST'])
def lock():
    """Heartlock/unheartlock a ship."""
    admiral = get_token_admiral_or_error()
    admiralship = admiral.admiral_ships.filter_by(local_ship_num=int(request.values.get("api_ship_id")) - 1).first()

    locked = not admiralship.heartlocked

    admiralship.heartlocked = locked
    db.session.add(admiralship)
    db.session.commit()
    return svdata({"api_locked": int(locked)})


@api_actions.route('/api_req_kousyou/createship', methods=['POST'])
def build():
    admiral = get_token_admiral_or_error()
    fuel = int(request.values.get("api_item1"))
    ammo = int(request.values.get("api_item2"))
    steel = int(request.values.get("api_item3"))
    baux = int(request.values.get("api_item4"))
Ejemplo n.º 6
0
        db.session.commit()
        return svdata({})

    print(ship_pos, current_ship_pos)
    # Change fleet position of kanmusu 1.
    kmsu.fleet_position = ship_pos
    # Change fleet position of kanmusu 2, if applicable.
    if kmsu2:
        kmsu2.fleet_position = current_ship_pos
    db.session.add(kmsu, kmsu2)
    db.session.commit()
    return svdata({})


api_user = Blueprint('api_user', __name__)
prepare_api_blueprint(api_user)


@api_user.route('/api_get_member/ship3', methods=['GET', 'POST'])
# Heh
def ship3():
    admiral = g.admiral
    # No idea.
    # spi_sort_order = request.values.get('spi_sort_order')
    # spi_sort_order = request.values.get('api_sort_key')
    admiral_ship_id = request.values.get('api_shipid')
    data = {
        "api_ship_data": [_ShipHelper.get_admiral_ship_api_data(
            admiral_ship_id)], "api_deck_data": AdmiralHelper.get_admiral_deck_api_data(
            admiral), "api_slot_data": _ItemHelper.get_slottype_list(admiral=admiral)
    }
Ejemplo n.º 7
0
        db.session.commit()
        return svdata({})

    print(ship_pos, current_ship_pos)
    # Change fleet position of kanmusu 1.
    kmsu.fleet_position = ship_pos
    # Change fleet position of kanmusu 2, if applicable.
    if kmsu2:
        kmsu2.fleet_position = current_ship_pos
    db.session.add(kmsu, kmsu2)
    db.session.commit()
    return svdata({})


api_user = Blueprint('api_user', __name__)
prepare_api_blueprint(api_user)


@api_user.route('/api_get_member/ship3', methods=['GET', 'POST'])
# Heh
def ship3():
    admiral = g.admiral
    # No idea.
    # spi_sort_order = request.values.get('spi_sort_order')
    # spi_sort_order = request.values.get('api_sort_key')
    admiral_ship_id = request.values.get('api_shipid')
    data = {
        "api_ship_data":
        [_ShipHelper.get_admiral_ship_api_data(admiral_ship_id)],
        "api_deck_data": AdmiralHelper.get_admiral_deck_api_data(admiral),
        "api_slot_data": _ItemHelper.get_slottype_list(admiral=admiral)
Ejemplo n.º 8
0
from flask import request, Blueprint

from db import db
from helpers import DockHelper, ShipHelper, AdmiralHelper, QuestHelper
from util import get_token_admiral_or_error, svdata, prepare_api_blueprint

api_actions = Blueprint('api_actions', __name__)
prepare_api_blueprint(api_actions)


@api_actions.route('/api_req_hensei/lock', methods=['POST'])
def lock():
    """Heartlock/unheartlock a ship."""
    admiral = get_token_admiral_or_error()
    admiralship = admiral.admiral_ships.filter_by(
        local_ship_num=int(request.values.get("api_ship_id")) - 1).first()

    locked = not admiralship.heartlocked

    admiralship.heartlocked = locked
    db.session.add(admiralship)
    db.session.commit()
    return svdata({"api_locked": int(locked)})


@api_actions.route('/api_req_kousyou/createship', methods=['POST'])
def build():
    admiral = get_token_admiral_or_error()
    fuel = int(request.values.get("api_item1"))
    ammo = int(request.values.get("api_item2"))
    steel = int(request.values.get("api_item3"))