introduce .courseignore file
You can now place a file name '.courseignore' in the ROOT directory and specify - in each line - the name of a directory. Directories named this way and located in the ROOT directory will not be treated as course directories
This commit is contained in:
parent
704793af5a
commit
06f34ba5fe
2 changed files with 10 additions and 1 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
*.swp
|
*.swp
|
||||||
scripts/__pycache__
|
scripts/__pycache__
|
||||||
|
scripts/test.py
|
||||||
|
|
|
@ -29,10 +29,18 @@ class Courses(list):
|
||||||
list.__init__(self, self.read_files())
|
list.__init__(self, self.read_files())
|
||||||
|
|
||||||
def read_files(self):
|
def read_files(self):
|
||||||
course_directories = [x for x in ROOT.iterdir() if x.is_dir()]
|
course_directories = [x for x in ROOT.iterdir() if x.is_dir() and not x in self.ignored_courses()]
|
||||||
_courses = [Course(path) for path in course_directories]
|
_courses = [Course(path) for path in course_directories]
|
||||||
return sorted(_courses, key=lambda c: c.name)
|
return sorted(_courses, key=lambda c: c.name)
|
||||||
|
|
||||||
|
def ignored_courses(self):
|
||||||
|
with open(ROOT / '.courseignore') as ignore:
|
||||||
|
lines = ignore.readlines()
|
||||||
|
paths = []
|
||||||
|
for line in lines:
|
||||||
|
paths.append(ROOT / line.strip())
|
||||||
|
return paths
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def current(self):
|
def current(self):
|
||||||
return Course(CURRENT_COURSE_ROOT.resolve())
|
return Course(CURRENT_COURSE_ROOT.resolve())
|
||||||
|
|
Loading…
Reference in a new issue