Skip to content

Instantly share code, notes, and snippets.

View valdergallo's full-sized avatar
🏠
Working from home

Valder Gallo valdergallo

🏠
Working from home
View GitHub Profile
@valdergallo
valdergallo / get_next_date.py
Last active November 13, 2023 20:21
Calculate the next valid date
from dateutil.relativedelta import relativedelta
from datetime import datetime
WEEKLY = relativedelta(weeks=1)
BIWEEKLY = relativedelta(weeks=2)
MONTHLY = relativedelta(months=1)
YEARLY = relativedelta(years=1)
def get_next_date(
@valdergallo
valdergallo / converting_pickle.py
Created May 25, 2023 01:57
Pickle to strings
import pickle
import codecs
data = {"coisa": "novidade", "nome": "valder", "estado": "SC"}
pickled = codecs.encode(pickle.dumps(data), "base64").decode()
print(pickled)
unpickled = pickle.loads(codecs.decode(pickled.encode(), "base64"))
print(unpickled)
@valdergallo
valdergallo / using-uuid-as-pk.md
Created April 7, 2023 21:48 — forked from rponte/using-uuid-as-pk.md
Não use UUID como PK nas tabelas do seu banco de dados

Pretende usar UUID como PK em vez de Int/BigInt no seu banco de dados? Pense novamente...

TL;TD

Não use UUID como PK nas tabelas do seu banco de dados.

Um pouco mais de detalhes

@valdergallo
valdergallo / test_set_type_order.py
Created June 10, 2022 12:00
Validate order in set type
import pytest
basket = ["apple", "orange", "apple", "pear", "orange", "banana"]
def subtract_set_list(total_items, item_to_remove):
return set(total_items) - set(item_to_remove)
@pytest.mark.parametrize(
@valdergallo
valdergallo / download_timezones.py
Created June 1, 2022 13:07
Download Time Zone information from Wikipedia
import requests
from lxml.html import document_fromstring
from django.core.exceptions import ValidationError
from pprint import pprint
def _parse_wiki_data(content):
table = content.xpath("/html/body/div[3]/div[3]/div[5]/div[1]/table[1]").pop()
tz_name = table.xpath("//tr/td[2]/a//text()")
iana_times_utc_std = table.xpath("//tr/td[5]/a//text()")
@valdergallo
valdergallo / reviewers.py
Last active March 7, 2022 18:36
parser reviewers from github in on csv
import csv
import os
from dataclasses import dataclass
from typing import Generator
from bs4 import BeautifulSoup
FILENAME = "content.html"
DATABASE = "reviewers.csv"
@valdergallo
valdergallo / python.js
Created September 15, 2021 11:52
Snippet for VSCode Python
{
// Place your snippets for python here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
@valdergallo
valdergallo / conftest.py
Last active March 27, 2023 17:34
Conftest to create Postgres Database and auto delete data after test end
import os
import pytest
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy_utils.functions import create_database, database_exists, drop_database
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from main import app as main_app
from main.database import db as _db
@valdergallo
valdergallo / retry.py
Created August 28, 2020 11:58 — forked from FBosler/retry.py
retry.py
from functools import wraps
import time
import logging
import random
logger = logging.getLogger(__name__)
def retry(exceptions, total_tries=4, initial_wait=0.5, backoff_factor=2, logger=None):
"""
@valdergallo
valdergallo / fabfile.py
Created August 13, 2020 15:13
Fabric to backup, restore and move data to another server using PostgreSQL
from __future__ import absolute_import
from fabric import task
from fabric import Connection
import os
import io
import time
import glob
from pprint import pprint
from const import ENVS, RESTORE_BLACK_LIST, GROUP_ENVS, HIDE_OUTPUT