mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-25 07:16:42 +00:00
Fix missing syntax file error
This commit is contained in:
parent
48b6982095
commit
be9518bf21
32
main.py
32
main.py
@ -11,8 +11,6 @@ from ruamel.yaml import YAML
|
|||||||
import hashlib
|
import hashlib
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
import fallback_parser
|
|
||||||
|
|
||||||
|
|
||||||
class LineStatus(Enum):
|
class LineStatus(Enum):
|
||||||
"""Represents the status of a line in a diff file."""
|
"""Represents the status of a line in a diff file."""
|
||||||
@ -185,11 +183,16 @@ class TodoParser(object):
|
|||||||
languages_data = languages_request.text
|
languages_data = languages_request.text
|
||||||
yaml = YAML(typ='safe')
|
yaml = YAML(typ='safe')
|
||||||
self.languages_dict = yaml.load(languages_data)
|
self.languages_dict = yaml.load(languages_data)
|
||||||
|
else:
|
||||||
|
raise Exception('Cannot retrieve languages data. Operation will abort.')
|
||||||
|
|
||||||
# Load the comment syntax data for identifying comments.
|
# Load the comment syntax data for identifying comments.
|
||||||
with open('syntax.json', mode='r') as syntax_file:
|
syntax_url = 'https://raw.githubusercontent.com/alstr/todo-to-issue-action/master/syntax.json'
|
||||||
syntax_dict = json.loads(syntax_file.read())
|
syntax_request = requests.get(url=syntax_url)
|
||||||
self.syntax_dict = syntax_dict
|
if syntax_request.status_code == 200:
|
||||||
|
self.syntax_dict = syntax_request.json()
|
||||||
|
else:
|
||||||
|
raise Exception('Cannot retrieve syntax data. Operation will abort.')
|
||||||
|
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
def parse(self, diff_file):
|
def parse(self, diff_file):
|
||||||
@ -207,6 +210,7 @@ class TodoParser(object):
|
|||||||
last_end = file_hunk.end()
|
last_end = file_hunk.end()
|
||||||
diff_file.seek(0)
|
diff_file.seek(0)
|
||||||
extracted_file_hunks.append(diff_file.read()[last_end:])
|
extracted_file_hunks.append(diff_file.read()[last_end:])
|
||||||
|
diff_file.close()
|
||||||
|
|
||||||
code_blocks = []
|
code_blocks = []
|
||||||
prev_block = None
|
prev_block = None
|
||||||
@ -311,13 +315,12 @@ class TodoParser(object):
|
|||||||
def _get_file_details(self, file):
|
def _get_file_details(self, file):
|
||||||
"""Try and get the markdown language and comment syntax data for the given file."""
|
"""Try and get the markdown language and comment syntax data for the given file."""
|
||||||
file_name, extension = os.path.splitext(os.path.basename(file))
|
file_name, extension = os.path.splitext(os.path.basename(file))
|
||||||
if self.languages_dict:
|
for language_name in self.languages_dict:
|
||||||
for language_name in self.languages_dict:
|
if ('extensions' in self.languages_dict[language_name]
|
||||||
if ('extensions' in self.languages_dict[language_name]
|
and extension in self.languages_dict[language_name]['extensions']):
|
||||||
and extension in self.languages_dict[language_name]['extensions']):
|
for syntax_details in self.syntax_dict:
|
||||||
for syntax_details in self.syntax_dict:
|
if syntax_details['language'] == language_name:
|
||||||
if syntax_details['language'] == language_name:
|
return syntax_details['markers'], self.languages_dict[language_name]['ace_mode']
|
||||||
return syntax_details['markers'], self.languages_dict[language_name]['ace_mode']
|
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
def _extract_issue_if_exists(self, comment, marker, code_block):
|
def _extract_issue_if_exists(self, comment, marker, code_block):
|
||||||
@ -444,10 +447,7 @@ class TodoParser(object):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if os.getenv('INPUT_COMMENT_MARKER') and os.getenv('INPUT_LABEL'):
|
if os.getenv('INPUT_BEFORE') != '0000000000000000000000000000000000000000':
|
||||||
# The user doesn't want to use the v3.x parser for whatever reason.
|
|
||||||
fallback_parser.main()
|
|
||||||
elif os.getenv('INPUT_BEFORE') != '0000000000000000000000000000000000000000':
|
|
||||||
# Create a basic client for communicating with GitHub, automatically initialised with environment variables.
|
# Create a basic client for communicating with GitHub, automatically initialised with environment variables.
|
||||||
client = GitHubClient()
|
client = GitHubClient()
|
||||||
# Get the diff from the last pushed commit.
|
# Get the diff from the last pushed commit.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user