Skip to content

Commit

Permalink
Code climate: MID class: make it a proper subclass of str
Browse files Browse the repository at this point in the history
  • Loading branch information
stanislaw committed Dec 29, 2023
1 parent b14cb47 commit 476e867
Show file tree
Hide file tree
Showing 32 changed files with 105 additions and 120 deletions.
6 changes: 3 additions & 3 deletions strictdoc/backend/sdoc/writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def write(self, document: Document):

if document.mid_permanent or document.config.enable_mid:
output += "MID: "
output += document.reserved_mid.get_string_value()
output += document.reserved_mid
output += "\n"

output += "TITLE: "
Expand Down Expand Up @@ -217,7 +217,7 @@ def _print_section(self, section: Section, document: Document):

if section.mid_permanent or document.config.enable_mid:
output += "MID: "
output += section.reserved_mid.get_string_value()
output += section.reserved_mid
output += "\n"

if section.uid:
Expand Down Expand Up @@ -251,7 +251,7 @@ def _print_requirement_fields(

if section_content.mid_permanent or document.config.enable_mid:
output += "MID: "
output += section_content.reserved_mid.get_string_value()
output += section_content.reserved_mid
output += "\n"

element = document.grammar.elements_by_type[
Expand Down
8 changes: 4 additions & 4 deletions strictdoc/core/graph_database.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,16 @@ def dump(self) -> str:
for link_type, links in self._links.items():
result += f"Link type: {link_type.name}\n"
for lhs_mid, rhs_mids in links.items():
result += f"LHS MID: {lhs_mid.get_string_value()}\n"
result += f"LHS MID: {lhs_mid}\n"
for rhs_mid in rhs_mids:
result += f"- RHS MID: {rhs_mid.get_string_value()}\n"
result += f"- RHS MID: {rhs_mid}\n"
result += "Reverse links:\n"
for link_type, links in self._links_reverse.items():
result += f"Reverse link type: {link_type.name}\n"
for lhs_mid, rhs_mids in links.items():
result += f"LHS MID: {lhs_mid.get_string_value()}\n"
result += f"LHS MID: {lhs_mid}\n"
for rhs_mid in rhs_mids:
result += f"- RHS MID: {rhs_mid.get_string_value()}\n"
result += f"- RHS MID: {rhs_mid}\n"
return result

def add_node_by_mid(self, mid: MID, uid: Optional[str], node: Any):
Expand Down
4 changes: 2 additions & 2 deletions strictdoc/core/traceability_index_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ def create_from_document_tree(
raise StrictDocException(
"TraceabilityIndex: "
"the document MID is not unique: "
f"{document.reserved_mid.get_string_value()}. "
f"{document.reserved_mid}. "
"All machine identifiers (MID) must be unique values."
)

Expand All @@ -266,7 +266,7 @@ def create_from_document_tree(
raise StrictDocException(
"TraceabilityIndex: "
"the node MID is not unique: "
f"{node.reserved_mid.get_string_value()}. "
f"{node.reserved_mid}. "
f"All machine identifiers (MID) must be unique values."
)
d_11_map_id_to_node[node.reserved_mid] = node
Expand Down
7 changes: 4 additions & 3 deletions strictdoc/core/transforms/update_grammar.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
from collections import OrderedDict
from dataclasses import dataclass
from typing import List, Optional, Set, Tuple
from typing import Dict, List, Optional, Set, Tuple

from strictdoc.backend.sdoc.models.document import Document
from strictdoc.backend.sdoc.models.document_grammar import DocumentGrammar
from strictdoc.backend.sdoc.models.requirement import (
Requirement,
RequirementField,
)
from strictdoc.backend.sdoc.models.type_system import GrammarElementField
from strictdoc.core.traceability_index import (
TraceabilityIndex,
)
Expand Down Expand Up @@ -38,9 +39,9 @@ def perform(self) -> bool:
form_object: DocumentGrammarFormObject = self.form_object
document: Document = self.document

grammar_fields = {}
grammar_fields: Dict[str, GrammarElementField] = {}
for grammar_field in document.grammar.elements[0].fields:
grammar_fields[grammar_field.mid.value] = grammar_field
grammar_fields[grammar_field.mid] = grammar_field

# Prepare fields that could have been renamed by the user has just saved the form.
renamed_fields_lookup = {}
Expand Down
14 changes: 5 additions & 9 deletions strictdoc/export/dot/document_dot_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,15 +181,11 @@ def get_bottom_most_section(document: Document) -> Optional[Section]:
if prev_document_last_section is None:
continue

lhs_node_id: str = document.section_contents[
0
].reserved_mid.get_string_value()
lhs_node_id: str = document.section_contents[0].reserved_mid
if not isinstance(document.section_contents[0], Section):
lhs_node_id = document.reserved_mid.get_string_value()
lhs_node_id = document.reserved_mid

rhs_node_id = (
prev_document_last_section.reserved_mid.get_string_value()
)
rhs_node_id = prev_document_last_section.reserved_mid

accumulated_section_siblings.append((lhs_node_id, rhs_node_id))

Expand Down Expand Up @@ -249,7 +245,7 @@ def _print_node(
accumulated_section_siblings,
) -> str:
def get_uuid(node_) -> str:
return node_.reserved_mid.get_string_value()
return node_.reserved_mid

def get_upper_sibling_section(node_: Section):
parent: Union[Document, Section] = node_.parent
Expand Down Expand Up @@ -353,5 +349,5 @@ def get_requirement_uuid(requirement: Requirement) -> str:
return (
requirement.reserved_uid
if requirement.reserved_uid is not None
else requirement.reserved_mid.get_string_value()
else requirement.reserved_mid
)
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ def create_from_document(
document_freetext_escaped = html.escape(document_freetext)

return DocumentConfigFormObject(
document_mid=document.reserved_mid.get_string_value(),
document_mid=document.reserved_mid,
document_title=document.title,
document_uid=document.config.uid,
document_version=document.config.version,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ def __init__(
def create_from_grammar_field(*, grammar_field: GrammarElementField):
reserved = is_reserved_field(grammar_field.title)
return GrammarFormField(
field_mid=grammar_field.mid.value,
field_mid=grammar_field.mid,
field_name=grammar_field.title,
field_required=grammar_field.required,
reserved=reserved,
Expand Down Expand Up @@ -169,14 +169,14 @@ def create_from_document(
if grammar_relation.relation_type == "File":
continue
grammar_form_relation = GrammarFormRelation(
relation_mid=grammar_relation.mid.value,
relation_mid=grammar_relation.mid,
relation_type=grammar_relation.relation_type,
relation_role=grammar_relation.relation_role,
)
grammar_form_relations.append(grammar_form_relation)

return DocumentGrammarFormObject(
document_mid=document.reserved_mid.get_string_value(),
document_mid=document.reserved_mid,
fields=grammar_form_fields,
relations=grammar_form_relations,
)
Expand Down
28 changes: 14 additions & 14 deletions strictdoc/export/html/form_objects/requirement_form_object.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def create_from_grammar_field(
)
if grammar_field.gef_type == RequirementFieldType.STRING:
return RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name=grammar_field.title,
field_type=RequirementFormFieldType.MULTILINE
if multiline
Expand All @@ -126,7 +126,7 @@ def create_existing_from_grammar_field(
assert isinstance(field_value, str)
escaped_field_value = html.escape(field_value)
return RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name=grammar_field.title,
field_type=RequirementFormFieldType.MULTILINE
if multiline
Expand All @@ -139,11 +139,11 @@ def create_existing_from_grammar_field(
@staticmethod
def create_mid_field(mid: MID) -> "RequirementFormField":
return RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="MID",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value=mid.get_string_value(),
field_escaped_value=html.escape(mid.get_string_value()),
field_unescaped_value=mid,
field_escaped_value=html.escape(mid),
)


Expand Down Expand Up @@ -333,7 +333,7 @@ def create_from_request(
form_object = RequirementFormObject(
is_new=is_new,
requirement_mid=requirement_mid,
document_mid=document.reserved_mid.get_string_value(),
document_mid=document.reserved_mid,
mid_field=mid_field,
fields=form_fields,
reference_fields=form_ref_fields,
Expand Down Expand Up @@ -384,8 +384,8 @@ def create_new(

return RequirementFormObject(
is_new=True,
requirement_mid=new_requirement_mid.get_string_value(),
document_mid=document.reserved_mid.get_string_value(),
requirement_mid=new_requirement_mid,
document_mid=document.reserved_mid,
mid_field=mid_field,
fields=form_fields,
reference_fields=[],
Expand Down Expand Up @@ -455,7 +455,7 @@ def create_from_requirement(
if isinstance(reference_value, ParentReqReference):
parent_reference: ParentReqReference = reference_value
form_ref_field = RequirementReferenceFormField(
field_mid=parent_reference.mid.get_string_value(),
field_mid=parent_reference.mid,
field_type=(
RequirementReferenceFormField.FieldType.PARENT
),
Expand All @@ -466,7 +466,7 @@ def create_from_requirement(
elif isinstance(reference_value, ChildReqReference):
child_reference: ChildReqReference = reference_value
form_ref_field = RequirementReferenceFormField(
field_mid=child_reference.mid.get_string_value(),
field_mid=child_reference.mid,
field_type=(
RequirementReferenceFormField.FieldType.CHILD
),
Expand All @@ -477,7 +477,7 @@ def create_from_requirement(
elif isinstance(reference_value, FileReference):
child_reference: FileReference = reference_value
form_ref_field = RequirementReferenceFormField(
field_mid=child_reference.mid.get_string_value(),
field_mid=child_reference.mid,
field_type=(
RequirementReferenceFormField.FieldType.FILE
),
Expand All @@ -487,8 +487,8 @@ def create_from_requirement(
form_refs_fields.append(form_ref_field)
return RequirementFormObject(
is_new=False,
requirement_mid=requirement.reserved_mid.get_string_value(),
document_mid=document.reserved_mid.get_string_value(),
requirement_mid=requirement.reserved_mid,
document_mid=document.reserved_mid,
mid_field=mid_field,
fields=form_fields,
reference_fields=form_refs_fields,
Expand All @@ -511,7 +511,7 @@ def clone_from_requirement(
field: RequirementFormField = fields_[0]
field.field_unescaped_value = clone_uid
field.field_escaped_value = clone_uid
form_object.requirement_mid = MID.create().get_string_value()
form_object.requirement_mid = MID.create()

return form_object

Expand Down
22 changes: 11 additions & 11 deletions strictdoc/export/html/form_objects/section_form_object.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,23 +55,23 @@ def section_statement_unescaped(self):
@staticmethod
def create_new():
return SectionFormObject(
section_mid=MID.create().get_string_value(),
section_mid=MID.create(),
section_uid_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="UID",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value="",
field_escaped_value="",
),
section_title_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="TITLE",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value="",
field_escaped_value="",
),
section_statement_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="STATEMENT",
field_type=RequirementFormFieldType.MULTILINE,
field_unescaped_value="",
Expand All @@ -96,23 +96,23 @@ def create_from_section(*, section: Section):
)
statement_escaped_field_value = html.escape(statement_field_value)
return SectionFormObject(
section_mid=section.reserved_mid.get_string_value(),
section_mid=section.reserved_mid,
section_uid_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="UID",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value=uid_field_value,
field_escaped_value=uid_escaped_field_value,
),
section_title_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="TITLE",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value=title_field_value,
field_escaped_value=title_escaped_field_value,
),
section_statement_field=RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="STATEMENT",
field_type=RequirementFormFieldType.MULTILINE,
field_unescaped_value=statement_field_value,
Expand Down Expand Up @@ -147,7 +147,7 @@ def create_from_request(
uid_field_value, multiline=False
)
section_uid_field = RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="UID",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value=sanitized_uid_field_value,
Expand All @@ -159,7 +159,7 @@ def create_from_request(
title_field_value, multiline=False
)
section_title_field = RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="TITLE",
field_type=RequirementFormFieldType.SINGLELINE,
field_unescaped_value=sanitized_title_field_value,
Expand All @@ -171,7 +171,7 @@ def create_from_request(
statement_field_value, multiline=True
)
section_statement_field = RequirementFormField(
field_mid=MID.create().get_string_value(),
field_mid=MID.create(),
field_name="STATEMENT",
field_type=RequirementFormFieldType.MULTILINE,
field_unescaped_value=sanitized_statement_field_value,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<turbo-stream action="replace" target="article-{{ document.reserved_mid.get_string_value() }}">
<turbo-stream action="replace" target="article-{{ document.reserved_mid }}">
<template>
{% include "screens/document/document/frame_document_config.jinja.html" %}
</template>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<turbo-stream action="replace" target="article-{{ document.reserved_mid.get_string_value() }}">
<turbo-stream action="replace" target="article-{{ document.reserved_mid }}">
<template>
{% include "screens/document/document/frame_document_config_edit.jinja.html" %}
</template>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<turbo-stream action="replace" target="article-{{ document.reserved_mid.get_string_value() }}">
<turbo-stream action="replace" target="article-{{ document.reserved_mid }}">
<template>
{% include "screens/document/document/frame_document_config.jinja.html" %}
</template>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<turbo-stream action="replace" target="article-{{ requirement.reserved_mid.get_string_value() }}">
<turbo-stream action="replace" target="article-{{ requirement.reserved_mid }}">
<template>
{% include "components/requirement/index_extends_node.jinja" %}
</template>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<turbo-stream action="replace" target="article-{{ section.reserved_mid.get_string_value() }}">
<turbo-stream action="replace" target="article-{{ section.reserved_mid }}">
<template>
{% include "components/section/index_extends_node.jinja" %}
</template>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

<turbo-frame
{%- if is_not_standalone %}
id="article-{{ sdoc_entity.reserved_mid.get_string_value() }}"
id="article-{{ sdoc_entity.reserved_mid }}"
{% endif -%}
>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
>{% include "_res/svg_ico16_go_to_doc.jinja" %}</a>
<turbo-frame>
<a
href="/actions/show_full_{{ sdoc_entity.get_type_string() }}?reference_mid={{ sdoc_entity.reserved_mid.get_string_value() }}"
href="/actions/show_full_{{ sdoc_entity.get_type_string() }}?reference_mid={{ sdoc_entity.reserved_mid }}"
class="action_button"
data-turbo="true"
data-turbo-action="replace"
Expand Down
Loading

0 comments on commit 476e867

Please sign in to comment.