Skip to content

Instantly share code, notes, and snippets.

View BharatKalluri's full-sized avatar
🎯
Focusing

Bharat Kalluri BharatKalluri

🎯
Focusing
View GitHub Profile
@BharatKalluri
BharatKalluri / totp.py
Created October 24, 2021 13:23
TOTP implementation in python
import base64
import hashlib
import hmac
import math
import time
def dynamic_truncation(raw_key: hmac.HMAC, length: int) -> str:
hex_digest: str = raw_key.hexdigest()
int_repr: int = int(hex_digest, base=16)
@BharatKalluri
BharatKalluri / upload.ts
Created October 21, 2021 20:41
Nextjs route to upload files to s3
import {NextApiRequest, NextApiResponse} from "next";
import {Photo} from '@prisma/client'
import Busboy from "busboy";
import {PutObjectCommand, S3Client} from "@aws-sdk/client-s3";
import crypto from "crypto";
import {S3_BUCKET} from "../../constants";
const client = new S3Client({});
export async function storePhoto(ctx: { fileBuffer: Buffer, mimeType: string }) {
@BharatKalluri
BharatKalluri / main.ts
Created September 28, 2021 08:36
AA client
import {v4 as uuidV4} from 'uuid';
import rs from "jsrsasign";
const BASE_URL = 'https://aa-sandbox.setu.co'
class AccountAggregatorClient {
aa_id: string;
fiu_id: string;
client_api_key: string
@BharatKalluri
BharatKalluri / fuse.ts
Created September 20, 2021 17:10
Fuse: A simple circuit breaker in deno
interface IOptions {
bucketSize: number,
failurePercent: number
canaryRequestInMilliSeconds: number
minRecordings: number
}
interface IEvent {
success: boolean
createdAt: number
@BharatKalluri
BharatKalluri / thingdb.py
Created September 19, 2021 12:23
Toy ThingDB implementation using python and mongodb
import asyncio
from abc import ABC
from enum import Enum
from typing import Optional
from odmantic import AIOEngine
from odmantic import Model
from odmantic.query import SortExpression
@BharatKalluri
BharatKalluri / bwb-import-bot.py
Last active September 7, 2021 06:56
BWB import bot
#!/usr/bin/env python3
import csv
import datetime
import json
import logging
import os.path
import sqlite3
import sys
from enum import Enum
from sqlite3 import Connection, Cursor
@BharatKalluri
BharatKalluri / isbn-162097066X.json
Created April 27, 2021 10:33
Meta book output as JSON
{
"work": {
"provider_id": 42799938,
"title": "The Boy Who Could Change the World",
"authors": [
{
"name": "Aaron Swartz",
"provider_author_id": 6893150
}
],
@BharatKalluri
BharatKalluri / main.py
Last active April 27, 2021 17:57
IA <-> OL sync
from typing import List, Union
from internetarchive import configure, get_session
from olclient.openlibrary import OpenLibrary
from models import IsbnData
from models import EditionMetadata
class IsbnNotFoundInOl(Exception):
@BharatKalluri
BharatKalluri / google_doc_ocr.py
Last active October 20, 2020 19:08
OCR documents from local file system using google vision
#!/usr/bin/env python
import argparse
def detect_text(path):
"""Detects text in the file."""
from google.cloud import vision
import io
client = vision.ImageAnnotatorClient()
@BharatKalluri
BharatKalluri / spotiLyrics.sh
Created September 26, 2019 04:35
Get lyrics in bash
#!/bin/bash
# Thanks @glutanimate !
SP_DEST="org.mpris.MediaPlayer2.spotify"
SP_PATH="/org/mpris/MediaPlayer2"
SP_MEMB="org.mpris.MediaPlayer2.Player"
LyricsAPI="http://makeitpersonal.co/lyrics/"