Image Extractor ライブラリは、ユーザーがインターネット経由でいつでもあらゆる種類の画像をダウンロードできるようにするのに役立ちます。これらのイメージはジョブとしてダウンロードされ、ユーザーにイメージがダウンロードされたことが通知されます。
多くの場合、機能させるために大量の画像が必要になることがあります。たとえば、猫と犬の画像を使って機械学習モデルをトレーニングしたり、ワンクリックで数百もの美しいデスクトップ/モバイルの壁紙をラップトップに表示したりすることができます。このようなシナリオでは、すぐに数百枚の画像が必要になります。この問題は、Image Extractor Library を使用して解決できます。次のユースケースを実装できます。
$ 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ライセンス
著作権 (c) [2021] [シュレヤス パラブ]
本ソフトウェアおよび関連ドキュメント ファイル (以下「ソフトウェア」) のコピーを入手した人には、使用、コピー、変更、マージする権利を含むがこれらに限定されない、制限なくソフトウェアを取り扱う許可が、ここに無償で与えられます。 、以下の条件を条件として、本ソフトウェアのコピーを出版、配布、サブライセンス、および/または販売すること、および本ソフトウェアが提供される人物にそれを許可すること。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは主要部分に含まれるものとします。
ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および非侵害の保証を含むがこれらに限定されない、いかなる種類の保証も行われません。いかなる場合においても、作者または著作権所有者は、契約行為、不法行為、またはその他の行為であるかどうかにかかわらず、ソフトウェアまたはソフトウェアの使用またはその他の取引に起因または関連して生じる、いかなる請求、損害、またはその他の責任に対しても責任を負わないものとします。ソフトウェア。