class EncodeView(APIView): encoder = Encoder() def post(self, request): try: text = json.loads(request.body)["text"] except JSONDecodeError: return HttpResponse("Incorrect input format", status=400) result = self.encoder.create_encoded_response(text) return HttpResponse(json.dumps({"result": result}))
async def upload(self, request): reader = await request.multipart() field = await reader.next() assert field.name == 'file' with open(f'./source/{field.filename}', 'wb') as f: while True: chunk = await field.read_chunk() if not chunk: break f.write(chunk) new_loop = asyncio.new_event_loop() threading.Thread(target=self.bruh, args=(Encoder( self.scoped_session, field.filename, self.utils, self.being_encoded), new_loop)).start() return web.Response(text=f"Encoded {field.filename} to HLS")
from flask import Flask, request, jsonify from elasticsearch import Elasticsearch from app.encoder import Encoder from app.utils import create_es_index, create_faiss_index, es_search, faiss_search index_name = "corpus" es = Elasticsearch(["localhost:9200"]) es_indices = create_es_index(es, index=index_name) encoder = Encoder("small", dimension=256) faiss_indices = create_faiss_index(encoder) app = Flask(__name__) @app.route("/search", methods=["POST"]) def search(): query = request.json["query"] es_result = es_search(es, index_name, query) faiss_result = faiss_search(encoder, faiss_indices, query) result = { "elastic": es_result, "faiss": faiss_result, } return jsonify(result) @app.route("/") def index():
def testEncodeNullBulkString(): out = Encoder.encodeBulkString("") assert out == b'$-1\r\n'
def testEncodeBulkString1(): out = Encoder.encodeBulkString("hello") assert out == b'$5\r\nhello\r\n'
def testEncodeSimpleString2(): out = Encoder.encodeSimpleString("HeLLOComPUTER") assert out == b'+HeLLOComPUTER\r\n'
def testEncodeBulkStringWithSpaces(): out = Encoder.encodeBulkString("Hello World This is MoM") assert out == b'$23\r\nHello World This is MoM\r\n'
def testEncodeSimpleString1(): encoder = Encoder() out = Encoder.encodeSimpleString("helloWorld") assert out == b'+helloWorld\r\n'
def testGetLengthInStr(): out = Encoder.getLengthInStr(15) assert out == "15"
def testEncodeBulkString2(): out = Encoder.encodeBulkString("helloworld") assert out == b'$10\r\nhelloworld\r\n'
def test_when_custom_separator_returns_correct_response(self): original_text = 'some text for test' custom_separator = '--separator--' custom_encoder = Encoder(custom_separator) encoder_result = custom_encoder.create_encoded_response(original_text) assert custom_separator in encoder_result
from django.test import TestCase from app.decoder import Decoder, IncorrectInputException from app.encoder import Encoder decoder = Decoder() encoder = Encoder() class EncoderTestCase(TestCase): def test_when_encodes_returns_correct_sorted_words(self): original_text = 'some (text) for, test!' encoder_result = encoder.create_encoded_response(original_text) sorted_string = encoder_result.split('\n-weird-\n')[2] assert sorted_string == 'for some test text' def test_encodes_with_default_separator(self): original_text = 'some? text|| for, test' encoder_result = encoder.create_encoded_response(original_text) assert '\n-weird-\n' in encoder_result def test_when_empty_string_returns_separators(self): original_text = '' encoder_result = encoder.create_encoded_response(original_text) assert encoder_result == '\n-weird-\n\n-weird-\n' def test_when_numer_input_encodes_correctly(self): original_text = 123 encoder_result = encoder.create_encoded_response(original_text) assert encoder_result == '\n-weird-\n123\n-weird-\n123'