forked from patrickwardle/knockknock
/
extension.py
87 lines (59 loc) · 1.52 KB
/
extension.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
__author__ = 'patrick'
import os
import json
#project imports
import utils
import whitelist
class Extension():
#init method
# ->init instance variables, hash file, etc
def __init__(self, extensionInfo):
#init name w/ None
self.name = None
#init path w/ None
self.path = None
#init description w/ None
self.description = None
#init id w/ None
self.extensionID = None
#extact/save id
if 'id' in extensionInfo:
#save
self.extensionID = extensionInfo['id']
#extact/save name
if 'name' in extensionInfo:
#save
self.name = extensionInfo['name']
#extact/save path
if 'path' in extensionInfo:
#save
self.path = extensionInfo['path']
#extact/save description
if 'description' in extensionInfo:
#save
self.description = extensionInfo['description']
#init whitelist flag
whitelistedSearch = self.extensionID if self.extensionID != None else self.path
self.isWhitelisted = (whitelistedSearch in whitelist.whitelistedExtensions)
return
#return extension id
def hash(self):
#hash
return self.extensionID
#return extension's name
def name(self):
#name
return self.name
#return extension's path
# ->will be a directory
def path(self):
#path
return self.path
#for normal output
def prettyPrint(self):
#pretty
return '\n%s \n description: %s\n id: %s\n path: %s\n' % (self.name, self.description, self.extensionID, self.path)
#for json output
def __repr__(self):
#return obj as JSON string
return json.dumps(self.__dict__)