Skip to content

Instantly share code, notes, and snippets.

import requests
import time
from bs4 import BeautifulSoup
def parse_page(page, session):
response = session.get(page)
soup = BeautifulSoup(response.text, 'html.parser')
title_text = soup.find('h1').text
return {'title': title_text}
import concurrent.futures
import requests
import threading
import time
from bs4 import BeautifulSoup
thread_storage = threading.local()
def get_session():
import aiohttp
import asyncio
import time
from bs4 import BeautifulSoup
async def parse_page(page, session):
async with session.get(page) as response:
raw_text = await response.text()
soup = BeautifulSoup(raw_text, 'html.parser')
@stevelukis
stevelukis / models.py
Created November 2, 2021 02:48
Model of bookshelf app
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=140)
author = models.CharField(max_length=140)
year = models.IntegerField()
finished = models.BooleanField()
@stevelukis
stevelukis / serializers.py
Created November 2, 2021 03:26
[Bookshelf] serializer of book
from rest_framework import serializers
from book.models import Book
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
@stevelukis
stevelukis / views.py
Created November 2, 2021 03:30
[Bookshelf] viewset of book
from rest_framework import viewsets
from rest_framework.decorators import action
from rest_framework.response import Response
from book.models import Book
from book.serializers import BookSerializer
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
@stevelukis
stevelukis / urls.py
Created November 2, 2021 03:40
[Bookshelf] url of book
from rest_framework import routers
from book import views
router = routers.DefaultRouter()
router.register('', views.BookViewSet, basename='book')
urlpatterns = router.urls
print(urlpatterns)
@stevelukis
stevelukis / helper.py
Created November 2, 2021 03:56
[Bookshelf] helper for unit test of book
import random
from book.models import Book
def create_random_book(finished: bool = True) -> Book:
return Book.objects.create(
title=str(random.randint(1111, 9999)),
author=str(random.randint(1111, 9999)),
year=random.randint(1980, 2021),
@stevelukis
stevelukis / base.py
Created November 2, 2021 04:02
[Bookshelf] base unit test for Book
from django.test import TestCase
from book.tests import helper
class BaseBookTest(TestCase):
def setUp(self) -> None:
self.client = self.client_class()
self.book_finished_list = helper.generate_random_books(10, True)
self.book_unfinished_list = helper.generate_random_books(10, False)
@stevelukis
stevelukis / tests_api.py
Created November 2, 2021 04:12
[Bookshelf] unit test of api of book
import random
from rest_framework.reverse import reverse
from book.models import Book
from book.tests.base import BaseBookTest
class BookAPITest(BaseBookTest):
def verify_book(self, book: Book, book_dict: dict):