Skip to content

Commit f085d0d

Browse files
committed
add importer for gitlab
Signed-off-by: Tushar Goel <tushar.goel.dav@gmail.com>
1 parent a59b5e4 commit f085d0d

2 files changed

Lines changed: 54 additions & 0 deletions

File tree

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@ gunicorn>=20.1.0
1818
django-environ==0.4.5
1919
defusedxml==0.7.1
2020
license-expression>=21.6.14
21+
fetchcode>=0.1.0
2122

2223
Markdown==3.3.4
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
from dataclasses import dataclass
2+
import dataclasses
3+
import os
4+
from typing import List
5+
from fetchcode.vcs import fetch_via_vcs
6+
7+
def fork_and_get_dir(url):
8+
return fetch_via_vcs(url).dest_dir
9+
10+
def walk_in_directory(dir):
11+
for root, dirs, files in os.walk(dir):
12+
for file in files:
13+
yield os.path.join(root, file)
14+
15+
# binary search
16+
def binary_search(lst, item):
17+
low = 0
18+
high = len(lst) - 1
19+
20+
while low <= high:
21+
mid = (low + high) // 2
22+
guess = lst[mid]
23+
if guess == item:
24+
return mid
25+
if guess > item:
26+
high = mid - 1
27+
else:
28+
low = mid + 1
29+
return None
30+
31+
#bubble sort
32+
def bubble_sort(lst):
33+
for i in range(len(lst) - 1):
34+
for j in range(len(lst) - i - 1):
35+
if lst[j] > lst[j + 1]:
36+
lst[j], lst[j + 1] = lst[j + 1], lst[j]
37+
return lst
38+
39+
@dataclasses.dataclass(order=True)
40+
class Test:
41+
name: str
42+
number: int
43+
grades: List[str] = dataclasses.field(default_factory=list)
44+
45+
def __repr__(self):
46+
return self.name
47+
48+
def to_dict(self):
49+
return {
50+
'name': self.name,
51+
'number': self.number,
52+
'grades': [grade for grade in self.list_of_grades]
53+
}

0 commit comments

Comments
 (0)