-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathphoto.py
55 lines (55 loc) · 1.5 KB
/
photo.py
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
49
50
51
52
53
54
55
# Author: Arturo Aguilar Lagunas
# Pexels Website: https://www.pexels.com
# class information:
# Photo's data stucture
class Photo:
def __init__(self, json_photo):
self.__photo = json_photo
@property
def id(self):
return int(self.__photo["id"])
@property
def width(self):
return int(self.__photo["width"])
@property
def height(self):
return int(self.__photo["height"])
@property
def photographer(self):
return self.__photo["photographer"]
@property
def url(self):
return self.__photo["url"]
@property
def description(self):
return self.url.split("/")[-2].replace("-{}".format(self.id), "")
@property
def original(self):
return self.__photo["src"]["original"]
@property
def compressed(self):
return self.original + "?auto=compress"
@property
def large2x(self):
return self.__photo["src"]["large2x"]
@property
def large(self):
return self.__photo["src"]["large"]
@property
def medium(self):
return self.__photo["src"]["medium"]
@property
def small(self):
return self.__photo["src"]["small"]
@property
def portrait(self):
return self.__photo["src"]["portrait"]
@property
def landscape(self):
return self.__photo["src"]["landscape"]
@property
def tiny(self):
return self.__photo["src"]["tiny"]
@property
def extension(self):
return self.original.split(".")[-1]