Die Image Extractor-Bibliothek ist nützlich, um dem Benutzer das Herunterladen aller Arten von Bildern zu jedem Datum und zu jeder Zeit über das Internet zu erleichtern. Diese Bilder werden als Auftrag heruntergeladen und der Benutzer wird darüber informiert, dass die Bilder heruntergeladen wurden.
Es kommt oft vor, dass wir eine Menge Bilder benötigen, um zu funktionieren. Wir können uns beispielsweise das Training des maschinellen Lernmodells anhand der Katzen- und Hundebilder vorstellen oder mit nur einem Klick Hunderte wunderschöner Desktop-/Mobil-Hintergründe auf unserem Laptop haben. In solchen Szenarien benötigen wir sofort Hunderte von Bildern. Dieses Problem kann mit der Image Extractor Library gelöst werden. Folgende Anwendungsfälle können umgesetzt werden:
$ 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 ()
Und schon kann es losgehen! Zu diesem Zeitpunkt wird zum angegebenen Datum und zur angegebenen Uhrzeit mit dem Herunterladen der Bilder begonnen.
Möchten Sie einen Beitrag leisten? Großartig!
Um einen Fehler zu beheben oder ein vorhandenes Modul zu verbessern, gehen Sie folgendermaßen vor:
git checkout -b new-feature
git commit -am " New feature added "
git push origin new-feature
Wenn Sie einen Fehler finden oder eine Idee zu einer neuen Funktion haben, die implementiert werden kann, können Sie entweder hier ein Problem eröffnen oder uns direkt eine E-Mail an [email protected] senden.
Bitte fügen Sie die Beispielabfragen und die entsprechenden Ergebnisse bei.
Kunde:
Server:
Wenn Sie Feedback haben, wenden Sie sich bitte an [email protected]
Antwort: Nein. Der Benutzer kann den Auftrag einfach übermitteln und mit anderen Aufgaben fortfahren. Sobald die Aufgabe beendet ist, wird auf Benutzerseite eine ZIP-Datei erstellt.
Antwort: Bis zu 2000 Bilder können gleichzeitig heruntergeladen werden. Bei weiterem Bedarf können wir die Anfrage einfach erneut stellen.
Hochwertige Designdokumentation
Low-Level-Designdokumentation
Drahtmodell
Architektur
MIT-Lizenz
Urheberrecht (c) [2021] [Shreyas Parab]
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern und Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und Personen, denen die Software zur Verfügung gestellt wird, dies zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL SIND DIE AUTOREN ODER COPYRIGHT-INHABER HAFTBAR FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER ANDERE HAFTUNG, WEDER AUS EINER VERTRAGLICHEN HANDLUNG, AUS HANDLUNG ODER ANDERWEITIG, DIE SICH AUS, AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER SOFTWARE ERGEBEN SOFTWARE.