33import urllib .request
44from concurrent .futures import ThreadPoolExecutor
55from typing import List , Tuple
6-
6+ import collections
77import mosspy
88from bs4 import BeautifulSoup as bs
99
@@ -48,10 +48,9 @@ class check:
4848 - Moss User ID (str)
4949 """
5050
51- def __init__ (self , files : list , lang : str , user_id : str ):
51+ def __init__ (self , lang : str , user_id : str ):
5252
5353 self .__user_id = user_id
54- self .files = files
5554 languages = mosspy .Moss .languages
5655 if lang not in languages :
5756 raise ValueError (f"{ lang } is not a supported language { languages } " )
@@ -104,14 +103,18 @@ def __get_line_numbers(self, url: str) -> List[List[str]]:
104103 list_of_line_nos .append (matched_lines )
105104 return list_of_line_nos
106105
106+ def addFilesByWildCard (self , file ):
107+ self .__moss .addFilesByWildcard (file )
108+
109+ def addFile (self , file ):
110+ self .__moss .addFile (file )
111+
107112 def addBaseCode (self , base_file : str ):
108113 """Add basefile"""
109114 self .__moss .addBaseFile (base_file )
110115
111116 def submit (self ):
112117 """Submit files to the Moss Server"""
113- for item in self .files :
114- self .__moss .addFile (item )
115118 url = self .__moss .send ()
116119
117120 self .home_url = url
@@ -125,3 +128,22 @@ def getResults(self) -> Tuple[str, Results]:
125128 self .moss_results = self .__extract_info ()
126129
127130 return self .moss_results
131+
132+ def getInsights (self ):
133+ """Share Score Insights WIP"""
134+ similar_code_files = []
135+ for result in self .moss_results :
136+ similar_code_files .append (result ['file1' ])
137+ similar_code_files .append (result ['file2' ])
138+
139+ # count of files which are similar
140+ share_score = collections .Counter (similar_code_files )
141+
142+ # code which has been similar to most of the files
143+ distributor_score = max (share_score .values ())
144+
145+ for key , value in share_score .items ():
146+ if value == distributor_score :
147+ distributor = key
148+
149+ return dict (share_score )
0 commit comments