nts-http-672 / app.py
Hashir Kashif
asdasdasdasdas
5c909a5
from flask import Flask
import grequests
import time
import threading
class Unbuffered(object):
def __init__(self, stream):
self.stream = stream
def write(self, data):
self.stream.write(data)
self.stream.flush()
def writelines(self, datas):
self.stream.writelines(datas)
self.stream.flush()
def __getattr__(self, attr):
return getattr(self.stream, attr)
import sys
sys.stdout = Unbuffered(sys.stdout)
def myfunc():
num = 1000
url = "https://storage.nts.org.pk/upload/565510/userpic/565510_"
thislist = ["https://storage.nts.org.pk/upload/565510/userpic/565510_1000.jpg"]
while True:
num=num+1
new_url = url+str(num)+".jpg"
thislist.append(new_url)
if(num==10000):
break
print("list completed")
# start_time = time.time()
urls = thislist
rs = (grequests.head(u) for u in urls)
x=1000
for response in grequests.map(rs):
x=x+1
# print(response.status_code, response.elapsed.total_seconds())
if(response.status_code==200):
print("Got it at "+str(x))
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World'
@app.route('/start')
def started():
t1 = threading.Thread(target=myfunc)
t1.start()
return 'Started'
if __name__ == '__main__':
app.run()