تعد مكتبة Image Extractor مفيدة لمساعدة المستخدم على تنزيل أي نوع من الصور في أي تاريخ ووقت عبر الإنترنت. سيتم تنزيل هذه الصور كمهمة ثم يُعلم المستخدم أنه تم تنزيل الصور.
في كثير من الأحيان، نحتاج إلى مجموعة من الصور للعمل. يمكننا أن نفكر في مثال مثل تدريب نموذج التعلم الآلي على صور Cat and Dog أو الحصول على المئات من خلفيات سطح المكتب/الجوال الجميلة على الكمبيوتر المحمول الخاص بنا بنقرة واحدة فقط. في مثل هذا السيناريو نحتاج إلى مئات الصور على الفور. يمكن حل هذه المشكلة باستخدام مكتبة مستخرج الصور. يمكن تنفيذ حالات الاستخدام التالية:
$ 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]
الإجابة - لا. يمكن للمستخدم ببساطة إرسال المهمة والاستمرار في القيام بمهام أخرى. بمجرد انتهاء المهمة، سيتم إنشاء ملف مضغوط في نهاية المستخدم.
الإجابة - يمكن تنزيل ما يصل إلى 2000 صورة في المرة الواحدة. إذا لزم الأمر، يمكننا ببساطة إرسال الاستعلام مرة أخرى.
وثائق التصميم عالية المستوى
وثائق التصميم ذات المستوى المنخفض
الإطار السلكي
بنيان
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق النشر (ج) [2021] [شرياس باراب]
يُمنح الإذن مجانًا لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك، على سبيل المثال لا الحصر، حقوق الاستخدام والنسخ والتعديل والدمج. ونشر و/أو توزيع وترخيص من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم توفير البرنامج لهم بالقيام بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريحًا أو ضمنيًا، بما في ذلك، على سبيل المثال لا الحصر، ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. لا يتحمل المؤلفون أو أصحاب حقوق الطبع والنشر بأي حال من الأحوال المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إجراء العقد أو الضرر أو غير ذلك، الناشئة عن أو خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو المعاملات الأخرى في برمجة.