이미지 추출기 라이브러리는 사용자가 인터넷을 통해 언제든지 모든 종류의 이미지를 다운로드하는 데 유용합니다. 이러한 이미지는 작업으로 다운로드된 다음 사용자에게 이미지가 다운로드되었음을 알려줍니다.
작업을 수행하려면 여러 이미지가 필요한 경우가 종종 있습니다. 고양이와 개 이미지에 대한 기계 학습 모델을 훈련하거나 단 한 번의 클릭으로 노트북에 수백 개의 아름다운 데스크톱/모바일 배경화면을 두는 등의 예를 고려해 볼 수 있습니다. 이러한 시나리오에서는 즉시 수백 개의 이미지가 필요합니다. 이 문제는 이미지 추출기 라이브러리를 사용하여 해결할 수 있습니다. 다음과 같은 사용 사례를 구현할 수 있습니다.
$ pip install ImageExtractor
from flask import Flask
from flask_cors import cross_origin
from ImageExtractor . Extractor import ImageExtractor Class
import datetime
import threading
import time
import os
app = Flask ( __name__ )
class ThreadClass :
def __init__ ( self , req_id , time_to_sleep ,):
self . req_id = str ( req_id )
self . time_to_sleep = time_to_sleep
self . thread = threading . Thread ( target = self . sleep )
self . thread . start ()
def sleep ( self ):
try :
# Sleep for the given time
time . sleep ( self . time_to_sleep )
# Wait until the zip file is not ready
while not os . path . exists ( self . req_id + '_zipfile.zip' ):
print ( 'File not exists' )
time . sleep ( 5 )
print ( 'File exists now' )
time . sleep ( 30 )
# Deleting the file after 10 seconds
ImageExtractor Class . delete_file ( self . req_id )
print ( 'Files are deleted' )
except Exception as e :
print ( e )
# Home page route
@ app . route ( '/' , methods = [ 'GET' ])
@ cross_origin ()
def index ():
try :
# Creating the object of ImageExtractor Class
image_extractor = ImageExtractor Class ()
# Current datetime
current = datetime . datetime . now ()
# The scheduled datetime
date_inserted = current + datetime . timedelta ( minutes = 5 )
date_str = str ( date_inserted . year ) + '-' + str ( date_inserted . month ) + '-' + str ( date_inserted . day )
time_str = str ( date_inserted . hour ) + ':' + str ( date_inserted . minute )
req_id , time_to_sleep = image_extractor . schedule_job ( 'some_sample_query' , date_str , time_str , 54 )
# Time to sleep the thread
time_to_sleep = current + datetime . timedelta ( seconds = time_to_sleep )
total_seconds_sleep = time_to_sleep - datetime . datetime . now ()
# Total seconds to sleep the thread
total_seconds_sleep = int ( total_seconds_sleep . total_seconds ())
ThreadClass ( req_id , total_seconds_sleep )
return '<h1> req id is ' + str ( req_id ) + ' and time_to_sleep is ' + str ( total_seconds_sleep ) + ' seconds</h1>'
except Exception as e :
return "<h1> Error is " + str ( e ) + "</h1>"
if __name__ == '__main__' :
app . debug = True
app . run ()
이제 갈 준비가 되었습니다! 이 시점에서 지정된 날짜와 시간에 이미지 다운로드가 시작됩니다.
기여하고 싶나요? 엄청난!
버그를 수정하거나 기존 모듈을 향상하려면 다음 단계를 따르세요.
git checkout -b new-feature
git commit -am " New feature added "
git push origin new-feature
버그를 발견했거나 구현할 수 있는 새로운 기능에 대한 아이디어가 있는 경우 여기에서 문제를 공개하거나 [email protected]으로 직접 메일을 보내실 수 있습니다.
샘플 쿼리와 해당 결과를 포함해 주세요.
고객:
섬기는 사람:
의견이 있으면 [email protected]으로 문의해 주세요.
답변 - 아니요. 사용자는 작업을 제출하고 다른 작업을 계속할 수 있습니다. 작업이 끝나면 사용자 측에 zip 파일이 생성됩니다.
답변 - 한 번에 최대 2000개의 이미지를 다운로드할 수 있습니다. 더 필요한 경우 간단히 쿼리를 다시 제출할 수 있습니다.
높은 수준의 설계 문서
낮은 수준의 설계 문서
와이어프레임
건축학
MIT 라이센스
Copyright (c) [2021] [Shreyas Parab]
본 소프트웨어 및 관련 문서 파일("소프트웨어")의 사본을 취득한 모든 사람에게 사용, 복사, 수정, 병합에 대한 권리를 포함하되 이에 국한되지 않고 제한 없이 소프트웨어를 취급할 수 있는 권한이 무료로 부여됩니다. , 소프트웨어 사본을 게시, 배포, 재라이센스 부여 및/또는 판매하고, 소프트웨어를 제공받은 사람에게 다음 조건에 따라 그렇게 하도록 허용합니다.
위의 저작권 고지와 본 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함됩니다.
소프트웨어는 상품성, 특정 목적에의 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 명시적이든 묵시적이든 어떠한 종류의 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 작성자나 저작권 보유자는 계약, 불법 행위 또는 기타 행위로 인해 소프트웨어나 사용 또는 기타 거래와 관련하여 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다. 소프트웨어.