Skip to content

Instantly share code, notes, and snippets.

View M0r13n's full-sized avatar
🦔

Leon Morten Richter M0r13n

🦔
View GitHub Profile
@M0r13n
M0r13n / lib.js
Created September 17, 2019 07:37
Steal...
/* Copyright 2017 Google Inc. */
/**
* Swaps the display settings of two elements. Before calling, exactly one
* of the two elements should have style="display:none" and it shows the one
* that is hidden and hides the one that is shown.
*/
function _showHide(id1, id2) {
var x1 = document.getElementById(id1);
@M0r13n
M0r13n / analyze.py
Created September 5, 2019 10:18
Analyze an exported Chat from WhatsApp with Pandas! Extract fascinating information from your WhatsApp chats.
import re
import pandas as pd
DATE_TIME = re.compile(r"([(\[]).*?([)\]])")
AUTHOR = re.compile(r"((( [a-zA-ZöäüÖÄÜ]+)+):)")
LTR = chr(8206)
def to_pd_row(s):
match = DATE_TIME.match(s)
@M0r13n
M0r13n / simple_factorial.c
Last active August 15, 2019 13:25
Super simple recursive factorial function in C.
#include <stdio.h>
#include <stdlib.h>
long factorial(long n) {
if (n == 0)
return 1;
else
return (n * factorial(n - 1));
}
@M0r13n
M0r13n / orderable.py
Last active July 8, 2019 14:27
Sqlalchemy Mixin class to make database models comparable and sortable by users.
class OrderableMixin(object):
""" Mixin to make database models comparable """
order_index = db.Column(db.Integer, default=_default_index, index=True)
@classmethod
def normalize(cls):
""" Normalize all order indexes """
for idx, item in enumerate(cls.query.order_by(cls.order_index).all()):
item.order_index = idx
db.session.commit()
@M0r13n
M0r13n / render.html
Last active October 6, 2023 06:32
A sample Wtforms field for creating a list of tags with custom separators, e.g. "," or " ".
<form action="" method="POST" role="form" class="form">
{{ form.hidden_tag() }}
<!--Other fields-->
{{ wtf.form_field(form.tags, placeholder='audio, hardware, chip') }}
<button class="btn btn-success" type="submit">submit</button>
</form>
@M0r13n
M0r13n / hexbot.py
Created June 16, 2019 10:14
How to query the hexbot api
import requests # install if necessary -> pip install requests
URL = 'https://api.noopschallenge.com' + '/hexbot' # change the last part to query different machines
r = requests.get(URL)
result = r.json()
print(result['colors'][0]['value']) # prints the hex code, e.g. #7A5A28
# Additional parameters
@M0r13n
M0r13n / _confirm.html
Created April 19, 2019 12:13
Reusable Confirmation Dialog for Jinja2 using Bootstrap and Modals
{% macro confirm_deletion(endpoint='#') %}
<div id="confirm-deletion">
<button type="button" class="btn btn-danger" data-toggle="modal"
data-target="#MyFancyModal">Löschen
</button>
<div id="MyFancyModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
@M0r13n
M0r13n / _macros.html
Created April 11, 2019 17:23
WTF-Forms - Render Form Field Errors
{% macro render_errors(field) %}
{% for error in field.errors %}
<div class="alert alert-error text-danger">
{{ error }}
</div>
{% endfor %}
{% endmacro %}
@M0r13n
M0r13n / template.html
Last active April 11, 2019 17:11
Flask WTF-Form - Custom rendering a Form with select
<div class="row text-left">
<div class="col-md-4 col-md-offset-4">
<form action="" method="POST" role="form" class="form">
<!--Errors + CSRF-->
{{ form.hidden_tag() }} {{ wtf.form_errors(form, hiddens="only") }}
{% for field, errors in form.errors.items() %}
<div class="alert alert-error">
{{ form[field].label }}: {{ ', '.join(errors) }}
</div>
@M0r13n
M0r13n / README.md
Last active January 30, 2024 19:35
Logging with Loguru in Flask

This is a simple example of how to use loguru in your flask application

Just create a new InterceptHandler and add it to your app. Different settings should be configured in your config file, so that it is easy to change settings.

Logging is then as easy as:

from loguru import logger

logger.info("I am logging from loguru!")