-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathversion2.py
More file actions
52 lines (44 loc) · 1.97 KB
/
version2.py
File metadata and controls
52 lines (44 loc) · 1.97 KB
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
52
from src.version2config import VersionTwoConfig
from src.version2query import Version2Query
from src.static_site_generator import StaticSiteGenerator
from pathlib import Path
import json
import logging
def main():
config:VersionTwoConfig = VersionTwoConfig()
config.display_config()
temp_dir:Path = Path(config.temp_dir)
output_file:str = config.output_file
# Get parameters for filters
filters:dict[str,list[str]] = {
"include_projects": config.include_project,
"include_users": config.include_user,
"include_repositories": config.include_repository,
"include_organizations": config.include_organization,
"include_organization_repositories": config.include_organization_repository,
"include_labels": config.include_label,
"include_teams": config.include_team,
"exclude_projects": config.exclude_project,
"exclude_users": config.exclude_user,
"exclude_repositories": config.exclude_repository,
"exclude_organizations": config.exclude_organization,
"exclude_organization_repositories": config.exclude_organization_repository,
"exclude_label": config.exclude_label,
"exclude_teams": config.exclude_team
}
query:VersionTwoQuery = Version2Query(temp_dir=temp_dir, output_file=output_file)
ss_gen = StaticSiteGenerator()
# Set filters
query.set_filters(filters=filters)
# Generate output_file or die
logging.info("Querying GitHub API...")
if not query.process():
logging.error("Failed to process query.")
return
# Get json object
data = None
with open(output_file, 'r') as f:
data = json.load(f)
ss_gen.generate_site(data=data, filter_done=config.filter_done, projects=filters["include_projects"])
if __name__ == "__main__":
main()