Skip to content

Commit 05dda64

Browse files
Updated LanguageFileHandler.file_extension to file_extensions (allows for multiple file extensions for C++)
1 parent 3dbc53d commit 05dda64

12 files changed

Lines changed: 34 additions & 24 deletions

File tree

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
activemq-nms-amqp
2+
activemq-nms-api
3+
activemq-nms-ems
4+
activemq-nms-msmq
15
activemq-nms-openwire
26
activemq-nms-stomp
3-
activemq-nms-ems
7+
activemq-nms-xms
8+
logging-log4net
9+
lucenenet
10+
pulsar-dotpulsar
411
qpid-proton-dotnet
5-
logging-log4net
12+
rocketmq-client-csharp
13+
usergrid-dotnet
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
incubator-pegasus
1+
brpc
2+
incubator-pegasus
3+
trafficserver

src/infrastructure/repository_utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ def read_repositories(language: str) -> List[Repository]:
3131

3232
return [apache_repo_from_name(repo_name) for repo_name in repositories]
3333

34-
def read_commits(repository_url: str, file_extension: str, final_date: Optional[datetime] = None) -> Generator[Commit, None, None]:
34+
def read_commits(repository_url: str, file_extensions: List[str], final_date: Optional[datetime] = None) -> Generator[Commit, None, None]:
3535
"""
3636
Reads commits from a repository using PyDriller.
3737
3838
@param: repository_url: The URL of the repository.
39-
@param: file_extension: The file extension to search for.
39+
@param: file_extensions: The file extensions to search for.
4040
@param: final_date: Date to read commits up until from the given repository.
4141
4242
@return: A generator of Commit objects.
@@ -45,7 +45,7 @@ def read_commits(repository_url: str, file_extension: str, final_date: Optional[
4545
raise ValueError("Final date must be in the past.")
4646
to_date = final_date if final_date else datetime.now()
4747

48-
return DrillerRepo(repository_url, only_modifications_with_file_types=[file_extension], to=to_date).traverse_commits()
48+
return DrillerRepo(repository_url, only_modifications_with_file_types=file_extensions, to=to_date).traverse_commits()
4949

5050
def repo_from_url(repo_url: str):
5151
repo_name = re.search(r"github\.com/[^/]+/([^/.]+)", repo_url).group(1) if re.search(r"github\.com/[^/]+/([^/.]+)", repo_url) else None

src/mining/commit_retrieval.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def _retrieve_files(modified_files, file_handler: LanguageFileHandler):
1212
files = []
1313

1414
for file in modified_files:
15-
if file_handler.file_extension in file.filename:
15+
if any(file_extension in file.filename for file_extension in file_handler.file_extensions):
1616
files.append(file.filename)
1717

1818
return files
@@ -21,7 +21,7 @@ def _retrieve_commits(repo_url, file_handler: LanguageFileHandler, final_date =
2121
commits = []
2222

2323
try:
24-
for commit in repository_utils.read_commits(repo_url, file_handler.file_extension, final_date):
24+
for commit in repository_utils.read_commits(repo_url, file_handler.file_extensions, final_date):
2525
files = _retrieve_files(commit.modified_files, file_handler)
2626
commits.append(CustomCommit(commit.hash, files, commit.author, commit.author_date))
2727
except Exception as e:

src/models/file_handlers/CPlusPlusFileHandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
class CPlusPlusFileHandler:
44
name = "C++"
5-
file_extension = ".cpp"
5+
file_extensions = [".cpp", ".cc", ".c++"]
66

77
def is_test_file(self, file: str) -> bool:
88
return "test" in file
99

1010
def get_implementation_file(self, test_file: str) -> str:
11-
return re.sub(r'_test', '', test_file)
11+
return re.sub(r'(_test|test_)', '', test_file)

src/models/file_handlers/CSharpFileHandler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
class CSharpFileHandler:
44
name = "C#"
5-
file_extension = ".cs"
5+
file_extensions = [".cs"]
66

77
def is_test_file(self, file: str) -> bool:
88
return "Test" in file

src/models/file_handlers/JavaFileHandler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
class JavaFileHandler:
44
name = "Java"
5-
file_extension = ".java"
5+
file_extensions = [".java"]
66

77
def is_test_file(self, file: str) -> bool:
88
return "Test" in file

src/models/file_handlers/KotlinFileHandler.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
class KotlinFileHandler:
44
name = "Kotlin"
5-
file_extension = ".kt"
5+
file_extensions = [".kt"]
66

77
def is_test_file(self, file: str) -> bool:
88
return "Test" in file

src/models/file_handlers/LanguageFileHandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
from typing import Protocol
1+
from typing import List, Protocol
22

33
class LanguageFileHandler(Protocol):
44
name: str
5-
file_extension: str
5+
file_extensions: List[str]
66

77
def is_test_file(self, file: str) -> bool:
88
...

src/models/file_handlers/PythonFileHandler.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
class PythonFileHandler:
44
name = "Python"
5-
file_extension = ".py"
5+
file_extensions = [".py"]
66

77
def is_test_file(self, file: str) -> bool:
88
return "test" in file
99

1010
def get_implementation_file(self, test_file: str) -> str:
11-
return re.sub(r'test_', '', test_file)
11+
return re.sub(r'(_test|test_)', '', test_file)

0 commit comments

Comments
 (0)