Example #1
0
def send():

    params = request.get_json()
    email = params.get('email')
    md5 = hashlib.md5()
    password = params.get('password')
    new_hash = hashlib.md5(password).hexdigest()

    try:
        user_found = User.get(User.email == email)

        if user_found.password == new_hash:
            code = Code.create(user_id=user_found.id,
                               value=random.randint(1000, 9999),
                               charge_id='empty')
            code.save()
            sender = "Aperture"
            text = "Here is your code {code} to authentify yourself.".format(
                code=code.value)
            sending_message = send_message(sender, text)
            return jsonify({
                'error': False,
                'message': 'Your code has been sent'
            }), 201

        else:
            return jsonify({
                'error': True,
                'message': 'Wrong email or password'
            }), 400

    except Exception as e:
        return jsonify({'error': True, 'message': e}), 400
Example #2
0
def code_create(token: Optional[str] = Header(None), name: str = Form(...), description: str = Form(...), content: str = Form(...), language: str = Form(...)):
    """
    创建代码
    """
    user = security.get_current_user(token)
    code = Code.create(name, description, user.id, content, language)

    return {"id": code.id}
Example #3
0
def main(show_progress, *args, **kwargs):

    if show_progress:
        web_page_count = WebPageContent.select().count()
        progress_bar = ProgressBar(maxval=web_page_count, widgets=[
            'Progress: ', Percentage(),
            ' ', Bar(marker=RotatingMarker()),
            ' ', ETA(),
            ' Processing web page ', Counter(), ' / ' + str(web_page_count) + '.'
        ])
        progress_bar.start()

    # Create a new index for this computation
    last_compute_index = Code.select(fn.Max(Code.compute_index)).scalar() or 0
    compute_index = last_compute_index + 1

    # For each web page, we extract all code snippets and create a new record
    # for each snippet, saving the code's plaintext.
    code_extractor = CodeExtractor()
    for web_page_index, web_page in enumerate(WebPageContent.select(), start=1):

        document = BeautifulSoup(web_page.content, 'html.parser')
        snippets = code_extractor.extract(document)

        for snippet in snippets:

            # Screen snippets to those that have more than one space-delimited word.
            # This is to avoid storing single words referring to entities in code examples.
            word_count = len(re.split('\s', snippet.strip()))
            if word_count > 1:
                Code.create(
                    compute_index=compute_index,
                    code=snippet,
                    web_page=web_page,
                )

        if show_progress:
            progress_bar.update(web_page_index)

    if show_progress:
        progress_bar.finish()
Example #4
0
def create_payment():

    params = request.get_json()
    token_user = params.get('token')
    amount = params.get('amount')
    label = params.get('label')
    card_number = params.get('card_number')
    card_month = params.get('card_month')
    card_year = params.get('card_year')
    card_cvc = params.get('card_cvc')

    card = {
        "number": card_number,
        "exp_month": card_month,
        "exp_year": card_year,
        "cvc": card_cvc
    }
    token = stripe.Token.create(card=card)

    if check_token(token_user) is False:
        return jsonify({'error': True, 'message': 'Not connected or token expired'}), 400

    else:
        userToken = check_token(token_user)

        try:
            charge = stripe.Charge.create(card=token.id, currency="eur", amount=amount, capture=False)
            
            payment = Payment.create(amount=amount, label=label, user=userToken.user_id)
            payment.save()

            code = Code.create(user_id=userToken.user_id.id, value=random.randint(1000, 9999), charge_id=charge.id)
            code.save()

            sender = "Aperture"
            text = "Here is your code {code} to authentify your transaction.".format(code=code.value)
            sending_message = send_message(sender, text)

            return jsonify({'error': False, 'message': "A code to authentify your transaction has been sent to you."}), 201

        except Exception as e:
            return jsonify({'error': True, 'message': '{error}'.format(error=e) }), 400