Skip to content

Instantly share code, notes, and snippets.

View archatas's full-sized avatar
💭
Prioritize your life and work: https://www.1st-things-1st.com/

Aidas Bendoraitis archatas

💭
Prioritize your life and work: https://www.1st-things-1st.com/
View GitHub Profile
@archatas
archatas / vapid_helper.py
Created May 9, 2023 17:31 — forked from cjies/vapid_helper.py
Python based VAPID key-pair generator
View vapid_helper.py
import base64
import ecdsa
def generate_vapid_keypair():
"""
Generate a new set of encoded key-pair for VAPID
"""
pk = ecdsa.SigningKey.generate(curve=ecdsa.NIST256p)
vk = pk.get_verifying_key()
@archatas
archatas / og_parser.py
Created May 8, 2023 02:24
Open Graph Parser Example
View og_parser.py
from html.parser import HTMLParser
import requests
from pprint import pprint
class OpenGraphParser(HTMLParser):
"""
Parses the Open Graph tags and returns a dictionary with values:
For example,
@archatas
archatas / html_to_text.py
Created May 7, 2023 15:37
Converting HTML to plain text
View html_to_text.py
import re
from html.parser import HTMLParser
class HTMLStripper(HTMLParser):
# stackoverflow.com/questions/753052/strip-html-from-strings-in-python
def __init__(self):
super().__init__()
self.reset()
self.strict = False
@archatas
archatas / forms.py
Created January 8, 2023 23:51
Password Reset for a Django Project (accounts app)
View forms.py
import re
from crispy_forms import layout, bootstrap
from crispy_forms.helper import FormHelper
from django import forms
from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth.forms import PasswordResetForm as PasswordResetFormBase
from django.contrib.auth.forms import SetPasswordForm as SetPasswordFormBase
from django.urls import reverse_lazy, reverse
@archatas
archatas / README.md
Created October 4, 2022 23:49
ReactJS Refactoring to Highlight Top Navigation Item when a Child Page is Active
View README.md
@archatas
archatas / 0002_orderedmodel_to_treebeard_mp_node.py
Last active July 22, 2022 01:40
Django database migration to switch from django-ordered-model to treebeard MP_Node
View 0002_orderedmodel_to_treebeard_mp_node.py
from django.db import migrations, models
def correct_paths(apps, schema_editor):
from treebeard.numconv import NumConv
alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
number_converter = NumConv(radix=len(alphabet), alphabet=alphabet)
Category = apps.get_model("categories", "Category")
@archatas
archatas / import_blog_posts.py
Created April 23, 2022 10:50
A boilerplate code for Django management commands
View import_blog_posts.py
from django.core.management.base import BaseCommand
class Command(BaseCommand):
SILENT, NORMAL, VERBOSE, VERY_VERBOSE = 0, 1, 2, 3
help = "Imports blog posts from an RSS feed"
def handle(self, *args, **options):
self.verbosity = int(options.get("verbosity"))
@archatas
archatas / urls.py
Created April 16, 2022 19:40
oauth2_provider_adjustments
View urls.py
from django.urls import re_path
from oauth2_provider import views as oauth2_provider_views
from . import views
app_name = "oauth2_provider_adjustments"
urlpatterns = [
# Base
@archatas
archatas / latest_dependencies.py
Created March 22, 2022 19:44
This script lists latest migration dependencies of selected Django apps. Useful for data migrations that combine data from different apps.
View latest_dependencies.py
"""
This script lists latest migration dependencies of selected apps.
Usage for selected apps:
(venv)$ python manage.py showmigrations | python latest_dependencies.py app1 app2 app3
Usage for all apps:
(venv)$ python manage.py showmigrations | python latest_dependencies.py
@archatas
archatas / backup_blog_1st_things_1st_com_db.j2
Created January 24, 2022 16:05
Ansible template for the bash script that creates database backups of the Wordpress database every day of the week
View backup_blog_1st_things_1st_com_db.j2
#!/usr/bin/env bash
CURRENT_DIR=$(dirname "$0")
WEEK_DATE=$(LC_ALL=en_US.UTF-8 date +"%w-%A")
BACKUPS_DIR="{{ project_root }}/db_backups/blog.1st-things-1st.com"
CREDENTIALS_PATH=${BACKUPS_DIR}/.sqlpwd
BACKUP_PATH_LATEST=${BACKUPS_DIR}/latest.sql
BACKUP_PATH_DAILY=${BACKUPS_DIR}/${WEEK_DATE}.sql
DATABASE={{ mysql_blog_1st_things_1st_com_dbname }}
USER={{ mysql_blog_1st_things_1st_com_username }}
PASSWORD={{ mysql_blog_1st_things_1st_com_password }}