Do stuff
This commit is contained in:
parent
72c632bb93
commit
c165b433c2
4 changed files with 69 additions and 48 deletions
22
archive/fun.py
Normal file
22
archive/fun.py
Normal file
|
@ -0,0 +1,22 @@
|
|||
from flask import Flask, request
|
||||
from flask_restful import Resource, Api
|
||||
from sqlalchemy import create_engine
|
||||
from json import dumps
|
||||
from flask.json import jsonify
|
||||
|
||||
db_connect = create_engine('sqlite:///chinook.db')
|
||||
app = Flask(__name__)
|
||||
api = Api(app)
|
||||
|
||||
@app.route("/")
|
||||
def hello():
|
||||
return """
|
||||
<pre>
|
||||
|
||||
</pre>
|
||||
|
||||
"""
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host="::",
|
||||
port='5002')
|
37
challenge.py
Normal file
37
challenge.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
def require_args(*args):
|
||||
parser = reqparse.RequestParser()
|
||||
for arg in args:
|
||||
parser.add_argument(arg, required=True)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
class Challenge(object):
|
||||
""" A sample challenge -- inherit this and overwrite accordingly """
|
||||
|
||||
points = 0
|
||||
provides = []
|
||||
requires = []
|
||||
description = None
|
||||
dependencies_provided_by = {}
|
||||
|
||||
def __init__(self, wrapper):
|
||||
self.db = wrapper
|
||||
|
||||
def game(self):
|
||||
if request.method == 'GET':
|
||||
return self.describe()
|
||||
if request.method == 'POST':
|
||||
return self.solve()
|
||||
|
||||
def describe(self):
|
||||
return self.description
|
||||
|
||||
def save_points(self, user):
|
||||
""" should be called when the challenge was solved successfully"""
|
||||
|
||||
key = "points/{}".format(user, type(self).__name__)
|
||||
self.db.set_user_key(user, key, self.points)
|
||||
|
||||
def solve(self):
|
||||
""" Needs to be implemented per challenge """
|
||||
pass
|
9
challenges_ipv6.py
Normal file
9
challenges_ipv6.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
import ipaddress
|
||||
import random
|
||||
|
||||
def get_random_ip(network):
|
||||
net = ipaddress.IPv6Network(network)
|
||||
addr_offset = random.randrange(2**64)
|
||||
addr = net[0] + addr_offset
|
||||
|
||||
return addr
|
49
server.py
49
server.py
|
@ -1,63 +1,16 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
USERLENGTH = 50
|
||||
|
||||
import ipaddress
|
||||
import random
|
||||
import sys
|
||||
import etcd
|
||||
import json
|
||||
import datetime
|
||||
import inspect
|
||||
|
||||
from ungleich_game_db import *
|
||||
|
||||
from flask import Flask, abort, request, Response
|
||||
from flask_restful import reqparse
|
||||
|
||||
def get_random_ip(network):
|
||||
net = ipaddress.IPv6Network(network)
|
||||
addr_offset = random.randrange(2**64)
|
||||
addr = net[0] + addr_offset
|
||||
|
||||
return addr
|
||||
|
||||
def require_args(*args):
|
||||
parser = reqparse.RequestParser()
|
||||
for arg in args:
|
||||
parser.add_argument(arg, required=True)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
class Challenge(object):
|
||||
""" A sample challenge -- inherit this and overwrite accordingly """
|
||||
|
||||
points = 0
|
||||
provides = []
|
||||
requires = []
|
||||
description = None
|
||||
dependencies_provided_by = {}
|
||||
|
||||
def __init__(self, wrapper):
|
||||
self.db = wrapper
|
||||
|
||||
def game(self):
|
||||
if request.method == 'GET':
|
||||
return self.describe()
|
||||
if request.method == 'POST':
|
||||
return self.solve()
|
||||
|
||||
def describe(self):
|
||||
return self.description
|
||||
|
||||
def save_points(self, user):
|
||||
""" should be called when the challenge was solved successfully"""
|
||||
|
||||
key = "points/{}".format(user, type(self).__name__)
|
||||
self.db.set_user_key(user, key, self.points)
|
||||
|
||||
def solve(self):
|
||||
""" Needs to be implemented per challenge """
|
||||
pass
|
||||
|
||||
class RegisterNet(Challenge):
|
||||
points = 10
|
||||
|
|
Loading…
Reference in a new issue