1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/usr/bin/python
import os
import sys
from face_client import FaceClient
import time
api_key = '34a84a7835bf24df2d84b4bded84e838'
api_secret = '5bc9e8c5a9e3a2d916abbe3659a1b3f8'
#url_base = 'http://74.95.195.225/static/img/jon/users/'
client = FaceClient(api_key, api_secret)
runs = []
for arg in sys.argv[2:]:
runs += [[open(arg), sys.argv[1].rstrip('/') + '/' + arg.split('/')[-2] + '/']]
def limits(client):
response = client.account_limits()
return response['remaining'],response['reset_time']
remaining,reset_time = limits(client)
for lines, pic_dir in runs:
for line in lines:
line = line.strip().split(',')
name,run,frame,zv = line[0:4]
while remaining == 0:
time.sleep(max(reset_time - time.time(),0) + 10)
remaining,reset_time = limits(client)
if frame != 'frame':
img = open(pic_dir + frame + '.jpg')
response = client.faces_detect(file=img)
img.close()
out = line[0:4]
try:
photo = response['photos'][0]
out += [str(len(photo['tags']))]
for tag in photo['tags']:
out += [str(tag['width']),str(tag['height']),str(tag['center']['x']),str(tag['center']['y'])]
except:
sys.stderr.write("Unexpexted error:"+str(sys.exc_info()[0])+" "+frame)
out = line[0:4] + ['0']
print ','.join(out)
remaining -= 1
time.sleep(0.3)
|