Beispiel #1
0
def add_pool(data, user):
    _validate_pool(data[BLOCKS], data[TYPE])

    # create new pool
    pool = Pool()
    pool.name = data[NAME]
    pool.type = data[TYPE]
    pool.scope = data[SCOPE]
    pool.role = data[ROLE]
    pool.blocks = data[BLOCKS]
    pool.updated_by = user
    pool.save()

    if pool.scope == FABRIC:
        return pool

    # if scope is global create pool entries
    if pool.type == INTEGER:
        _create_integer_pool(pool, pool.blocks)
    elif pool.type == IPV4:
        _create_ipv4_pool(pool, pool.blocks)
    elif pool.type == IPV6:
        _create_ipv6_pool(pool, pool.blocks)

    return pool
Beispiel #2
0
def do_pool_group(client, message, *args, **kwargs):
	session = kwargs.get('session')
	# Get the user
	user = session.query(User).filter(User.chat_id == message.from_user.id).first()
	if not user.privilege:
		message.reply("🚫 Non possiedi i privilegi necessari per creare un pool.")
		return
	new_pool = Pool(
		chat_id=message.chat.id,
		last = user,
		owner = user
	)
	session.add(new_pool)
	session.commit()
	app.send_message(chat_id=message.chat.id, text="👌 Questo gruppo è un Mining Pool!\n"
												   "Quando un utente posta un messaggio, rispondi con il comando /back\n"
												   "Quando un messaggio ha 100 back viene pubblicato nel canale.")
Beispiel #3
0
def add_pool():
    cards = request.get_json().get('cards')
    pool = Pool(json.dumps(cards))
    db.session.add(pool)
    db.session.commit()
    return jsonify(pool='%s' % pool.id)
Beispiel #4
0
    def process(self, commit, *args, **kwargs):
        data = commit.data

        pool = Pool()

        pool.id = data.get("poolId")
        pool.manager = data.get("manager")
        pool.loanId = data.get("loanId")
        pool.cosigner = data.get("cosigner")
        pool.cosigner_limit = data.get("cosignerLimit")
        pool.cosigner_data = data.get("cosignerData")
        pool.started = data.get("started")
        pool.tracker = data.get("tracker")
        pool.token = data.get("token")
        pool.raised = data.get("raised")
        pool.collected = data.get("collected")
        
        commit.save()
        pool.save()
Beispiel #5
0
    def post(self, request, format=None):
        serializer = PoolSerializer(data=request.data)
        if serializer.is_valid():

            col_object = Pool()
            col_object.type = serializer.data['type']
            col_object.name = serializer.data['name']
            col_object.scope = serializer.data['scope']
            col_object.save()
            
            type = serializer.data['type']
            coll_range=[{'start':0,'end':1}]
            if type == 'AutoGenerate':
                start = 10
                end = 20
                for flag in range(start,end + 1):
                    coll = PoolDetail()
                    coll.index = col_object
                    coll.value = flag
                    coll.save()
                coll_range[0]['start'] = start
                coll_range[0]['end'] = end
                col_object.range = json.dumps(coll_range)
            else:
                col_object.range = json.dumps(serializer.data['range'])
            col_object.save()

            
            if type == 'Integer' or type =='Vlan':
                for i in range(0,len(serializer.data['range'])):
                    start = int(serializer.data['range'][i]['start'])
                    end = int(serializer.data['range'][i]['end'])
                    for flag in range(start,end + 1):
                        coll = PoolDetail()
                        coll.index = col_object
                        coll.value = flag
                        coll.save()
                    
            if type == 'IP' or type == 'MgmtIP' or type == 'IPv6':
                for i in range(0,len(serializer.data['range'])):
                    start_ip = IPNetwork(str(serializer.data['range'][i]['start']))
                    end_ip = IPNetwork(str(serializer.data['range'][i]['end']))
                    for ip_val in range (start_ip.ip,end_ip.ip+1):
                        coll = PoolDetail()
                        coll.index = col_object
                        coll.value = IPAddress(ip_val).__str__()+"/"+start_ip.prefixlen.__str__()
                        coll.save()
                    
        
        #    if type == 'IPv6':
        #        start_ip = IPNetwork(str(serializer.data['range'][0]['start']))
        #        end_ip = IPNetwork(str(serializer.data['range'][0]['end']))
        #        for ip_val in range (start_ip.ip,end_ip.ip+1):
        #            coll = PoolDetail()
        #            coll.index = col_object
        #            coll.value = IPAddress(ip_val).__str__()+"/"+start_ip.prefixlen.__str__()
        #            coll.save()
                    
            get_coll_detail = PoolDetail.objects.filter(index = col_object.id,assigned ='')
            available = len(get_coll_detail)
            col_object.available = available
            col_object.used = len(PoolDetail.objects.filter(index = col_object.id)) - available
            col_object.save()
            serializer = PoolGetSerializer(col_object)
            collect_details = serializer.data
            collect_details['range'] = json.loads(collect_details['range'])
            return Response(collect_details, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)