Skip to content

Instantly share code, notes, and snippets.

@chisler
chisler / openai_api.py
Created August 29, 2023 08:32
Godswork: Character handler
import logging
import random
from time import sleep
from typing import List
import openai
import tiktoken
from django.conf import settings
from characters.character_generator import CharacterGenerator, Message
@chisler
chisler / flatten_iterator.py
Last active April 11, 2019 20:59
Second One
"""
Create an iterator that yields elements of nested list.
"""
class FlatIterator:
def __init__(self, data):
self.stack = [iter(data)]
def __iter__(self):
"""
Receieves an iterator of iterators, implement flattened iterator
"""
class FlattenIterator:
def __init__(self, iterator):
self.iterator = iterator
def __iter__(self):
# Handle empty
@chisler
chisler / django_views.md
Last active November 16, 2022 07:29
Approach to designing Django Views

Django Views

This is a pre-ADR doc, notes from the meeting about django-app design patterns.

JSON-like views vs Page-views

The objective is to write clear code.

Function based views

Use function based views for serving pages, react apps

from pydub import AudioSegment
import datetime
path = ""
sound = AudioSegment.from_mp3(path)
length = len(sound)
print(f'Length of the file is {datetime.timedelta(milliseconds=length)} How many minutes should be one file?')
step_minutes = input()
@chisler
chisler / migrate_black_book_contacts.py
Created September 13, 2018 16:57
Copy BB contacts from one agency -> another of another employer.
from django.db import transaction
@transaction.atomic
def copy_contacts_from_agency_to_another_in_another_employer(old_agency_id, new_agency_id, copy=False):
from yunojuno.apps.profiles.models import AgencyProfile
from yunojuno.apps.core.utils.timezone import tz_now
old_agency = AgencyProfile.objects.get(id=old_agency_id)
new_agency = AgencyProfile.objects.get(id=new_agency_id)
new_employer = new_agency.employer
owned_by_recruiters = []