-
Notifications
You must be signed in to change notification settings - Fork 5
/
gitbook.py
51 lines (39 loc) · 1.5 KB
/
gitbook.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
'''
Created on Apr 29, 2013
@author: Suvodeep Pyne
'''
from recommender import Recommender
from resource_manager import ResourceManager
class GitBook():
def init(self):
self.recommender = Recommender()
self.rm = ResourceManager()
self.recommender.build_project_features()
print 'Launched GitBook instance'
def get_languages(self):
return self.recommender.get_languages()
def get_areas_of_interest(self):
return self.recommender.get_aoi()
def recommend_projects(self, languages, area_interest, difficulty):
return self.recommender.recommend_projects(languages, area_interest, difficulty)
if __name__ == '__main__':
print "GitBook class Test Module"
gitbook = GitBook()
print "calling gitbook.init()"
gitbook.init()
print 'Languages:', gitbook.get_languages()
print 'Areas of Interest:', gitbook.get_areas_of_interest()
print
print '#Languages', len(gitbook.get_languages()), 'Expected: 53'
print '#Areas of Interest:', len(gitbook.get_areas_of_interest()), 'Expected 7'
print
print 'Test #1'
languages = [ u'Python' ]
aoi = ['Information Retrieval', 'Machine Learning']
print '#Results:', len(gitbook.recommend_projects(languages, aoi, 'any')), 'Expected: 7'
print
print 'Test #2'
languages = [ u'JavaScript' ]
aoi = ['Web']
print '#Results:', len(gitbook.recommend_projects(languages, aoi, 'any')), 'Expected: 101'
print 'Done.'