mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 21:38:38 +00:00
Threading att 1
This commit is contained in:
@@ -18,13 +18,14 @@ import re
|
||||
import shutil
|
||||
import sys
|
||||
import uuid
|
||||
import threading
|
||||
from datetime import datetime
|
||||
from logging import handlers
|
||||
from pathlib import Path, PurePath
|
||||
from platform import uname
|
||||
from sys import platform
|
||||
from typing import List, Optional, TypedDict
|
||||
|
||||
from queue import Queue, Empty
|
||||
# *==============Imported libraries
|
||||
import discord
|
||||
import eyed3
|
||||
@@ -2094,8 +2095,17 @@ async def krecimy_pornola(ctx):
|
||||
if __name__ == "__main__":
|
||||
#TODO: wpakowac kondzia w wąteki odpalic asynchronicznie rownolegle z flaskiem do sterowania nim
|
||||
logger.info("Starting discord bot")
|
||||
client.run(TOKEN)
|
||||
|
||||
threads = []
|
||||
comm_q = Queue()
|
||||
t_bot = threads.append(threading.Thread(target=client.run, args=(TOKEN,)))
|
||||
for worker in threads:
|
||||
worker.start()
|
||||
for worker in threads:
|
||||
worker.join()
|
||||
|
||||
#widok - generuje się 5 stron po 4 linki
|
||||
# odśwież - zamienić na "dalej" - zaciąga kolejne 20 rezultatów
|
||||
# odśwież - zamienić na "dalej" - zaciąga kolejne 20 rezultatów
|
||||
# po wyslaniu czekamy na odbior i dodajemy UUID oraz nick poszukiwacza do queue ktora jest sprawdzana
|
||||
# flask sobie chodzi i jak dostaje posta z wynikami to wyciaga z queue UUID i odpowiada że znalazła
|
||||
# po samym wyszukaniu dajemy info że "Zaczynam szukać ale pare godzin to potrwa."
|
||||
# OPCJONALNIE: Dosyłamy znalezione wyniki na bieżąco - wtedy wkładamy do queue dla UUID wyniki
|
||||
@@ -199,7 +199,3 @@ if __name__ == "__main__":
|
||||
worker.start()
|
||||
for worker in threads:
|
||||
worker.join()
|
||||
|
||||
#1. robi liste wyników i ją wyświetla - ale tylko tytuły niezależnych dzieł - jeśli jest coś w containerze to trza pogrupować
|
||||
#2. Tworzy przyciski pozwalające sprawdzić czy jest dostępne - i jeśli jest zwraca link
|
||||
#3. Jest też przycisk "more" - wyszukujemy po 100, wyświetlamy po 20. Po 100 jak jeszcze to dopiero odpytujemy crossref przyciski strzałek przesuwają po obecnej porcji danych
|
||||
|
||||
@@ -8,6 +8,9 @@ ENCODING = "utf-8"
|
||||
CHUNk = "_chunk.txt"
|
||||
_sentinel = object()
|
||||
|
||||
#TODO: Doisy wchodzą jako lista krotek (doi, False) - po znalezieniu zaznaczamy na True i potem już nie porównujemy
|
||||
#TODO: lista krotek - jeśli wszystkie mają True dajemy terma
|
||||
|
||||
def producer(out_q, control_q, filename):
|
||||
with open(DATABASE_PATH + filename, "r+", encoding=ENCODING) as operated_file:
|
||||
lines = operated_file.readlines()
|
||||
@@ -28,6 +31,7 @@ def producer(out_q, control_q, filename):
|
||||
|
||||
|
||||
#IMPORTANT!!! ONLY ONE CONSUMER THREAD AS WE ARE NOT PUTTING SENTINELS BACK
|
||||
#TODO: Change doi to tuple list and only put term when all doi are found => (doi, True)
|
||||
def consumer(in_q, control_q, doi):
|
||||
sentinels = 0
|
||||
while True:
|
||||
|
||||
Reference in New Issue
Block a user