Fix code style.

This commit is contained in:
Sergey Vartanov 2021-08-15 06:33:42 +03:00
parent b02b7cc4ab
commit e5671fcf8f
12 changed files with 52 additions and 27 deletions

View file

@ -1,6 +1,7 @@
"""
Construct Röntgen nodes and ways.
"""
import logging
from datetime import datetime
from hashlib import sha256
from typing import Any, Dict, Iterator, List, Optional, Set
@ -17,9 +18,7 @@ from roentgen.flinger import Flinger
from roentgen.icon import (
DEFAULT_SMALL_SHAPE_ID, Icon, IconSet, ShapeExtractor, ShapeSpecification
)
from roentgen.osm_reader import (
Map, OSMMember, OSMNode, OSMRelation, OSMWay, Tagged
)
from roentgen.osm_reader import Map, OSMNode, OSMRelation, OSMWay, Tagged
from roentgen.point import Point
from roentgen.scheme import DEFAULT_COLOR, LineStyle, Scheme
from roentgen.util import MinMax
@ -48,7 +47,7 @@ def line_center(nodes: List[OSMNode], flinger: Flinger) -> np.array:
"""
boundary: List[MinMax] = [MinMax(), MinMax()]
for node in nodes: # type: OSMNode
for node in nodes:
boundary[0].update(node.coordinates[0])
boundary[1].update(node.coordinates[1])
center_coordinates = np.array((boundary[0].center(), boundary[1].center()))
@ -84,7 +83,7 @@ def glue(ways: List[OSMWay]) -> List[List[OSMNode]]:
result: List[List[OSMNode]] = []
to_process: Set[OSMWay] = set()
for way in ways: # type: OSMWay
for way in ways:
if way.is_cycle():
result.append(way.nodes)
else:
@ -95,7 +94,7 @@ def glue(ways: List[OSMWay]) -> List[List[OSMNode]]:
glued: Optional[OSMWay] = None
other_way: Optional[OSMWay] = None
for other_way in to_process: # type: OSMWay
for other_way in to_process:
glued = way.try_to_glue(other_way)
if glued:
break
@ -170,7 +169,7 @@ class Constructor:
Construct Röntgen ways.
"""
way_number: int = 0
for way_id in self.map_.ways: # type: int
for way_id in self.map_.ways:
ui.progress_bar(
way_number,
len(self.map_.ways),
@ -226,7 +225,7 @@ class Constructor:
self.roads.append(Road(line.tags, inners, outers, road_matcher))
return
for line_style in line_styles: # type: LineStyle
for line_style in line_styles:
self.figures.append(
StyledFigure(line.tags, inners, outers, line_style)
)
@ -308,7 +307,7 @@ class Constructor:
continue
inner_ways: List[OSMWay] = []
outer_ways: List[OSMWay] = []
for member in relation.members: # type: OSMMember
for member in relation.members:
if member.type_ == "way":
if member.role == "inner":
if member.ref in self.map_.ways:
@ -317,7 +316,7 @@ class Constructor:
if member.ref in self.map_.ways:
outer_ways.append(self.map_.ways[member.ref])
else:
print(f'Unknown member role "{member.role}".')
logging.warning(f'Unknown member role "{member.role}".')
if outer_ways:
inners_path: List[List[OSMNode]] = glue(inner_ways)
outers_path: List[List[OSMNode]] = glue(outer_ways)
@ -334,7 +333,7 @@ class Constructor:
key=lambda x: -self.map_.nodes[x].coordinates[0],
)
for node_id in sorted_node_ids: # type: int
for node_id in sorted_node_ids:
processed: Set[str] = set()
node_number += 1

View file

@ -7,6 +7,9 @@ from roentgen.osm_reader import OSMNode, Tagged
from roentgen.road import Lane
from roentgen.scheme import LineStyle, RoadMatcher, Scheme
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
class Figure(Tagged):
"""
@ -182,7 +185,7 @@ def is_clockwise(polygon: List[OSMNode]) -> bool:
:param polygon: list of OpenStreetMap nodes
"""
count: float = 0
for index, node in enumerate(polygon): # type: int, OSMNode
for index, node in enumerate(polygon):
next_index: int = 0 if index == len(polygon) - 1 else index + 1
count += (polygon[next_index].coordinates[0] - node.coordinates[0]) * (
polygon[next_index].coordinates[1] + node.coordinates[1]
@ -214,7 +217,7 @@ def get_path(nodes: List[OSMNode], shift: np.array, flinger: Flinger) -> str:
"""
path: str = ""
prev_node: Optional[OSMNode] = None
for node in nodes: # type: OSMNode
for node in nodes:
flung = flinger.fling(node.coordinates) + shift
path += ("L" if prev_node else "M") + f" {flung[0]},{flung[1]} "
prev_node = node

View file

@ -7,7 +7,7 @@ import re
from dataclasses import dataclass, field
from pathlib import Path
from typing import Any, Dict, List, Optional, Set
from xml.dom.minidom import Document, Element, Node, parse
from xml.dom.minidom import Document, Element, parse
import numpy as np
import svgwrite
@ -183,10 +183,10 @@ class ShapeExtractor:
)
with svg_file_name.open() as input_file:
content: Document = parse(input_file)
for element in content.childNodes: # type: Element
for element in content.childNodes:
if element.nodeName != "svg":
continue
for node in element.childNodes: # type: Node
for node in element.childNodes:
if isinstance(node, Element):
self.parse(node)

View file

@ -13,6 +13,9 @@ from roentgen.icon import ShapeExtractor
from roentgen.osm_reader import STAGES_OF_DECAY
from roentgen.scheme import Scheme, Matcher
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
class MapCSSWriter:
def __init__(
@ -71,7 +74,7 @@ class MapCSSWriter:
return selector
def write(self, output_file) -> None:
def write(self, output_file: Path) -> None:
"""
Construct icon selectors for MapCSS 0.2 scheme.
"""

View file

@ -17,7 +17,7 @@ from roentgen.figure import Road
from roentgen.flinger import Flinger
from roentgen.icon import ShapeExtractor
from roentgen.osm_reader import Map, OSMNode
from roentgen.point import Occupied, Point
from roentgen.point import Occupied
from roentgen.road import Intersection, RoadPart
from roentgen.scheme import Scheme
@ -100,7 +100,7 @@ class Painter:
nodes = sorted(constructor.points, key=lambda x: -x.priority)
steps: int = len(nodes)
for index, node in enumerate(nodes): # type: int, Point
for index, node in enumerate(nodes):
if node.get_tag("natural") == "tree" and (
"diameter_crown" in node.tags or "circumference" in node.tags
):
@ -110,13 +110,13 @@ class Painter:
)
node.draw_main_shapes(self.svg, occupied)
for index, point in enumerate(nodes): # type: int, Point
for index, point in enumerate(nodes):
ui.progress_bar(
steps + index, steps * 3, step=10, text="Drawing extra icons"
)
point.draw_extra_shapes(self.svg, occupied)
for index, point in enumerate(nodes): # type: int, Point
for index, point in enumerate(nodes):
ui.progress_bar(
steps * 2 + index, steps * 3, step=10, text="Drawing texts"
)
@ -181,7 +181,7 @@ class Painter:
)
building_shade.add(path)
for nodes in building.inners + building.outers:
for i in range(len(nodes) - 1): # type: int
for i in range(len(nodes) - 1):
flung_1 = self.flinger.fling(nodes[i].coordinates)
flung_2 = self.flinger.fling(nodes[i + 1].coordinates)
command = (
@ -260,7 +260,7 @@ class Painter:
"""
Draw gradient sectors for directions.
"""
for node in constructor.points: # type: Point
for node in constructor.points:
angle = None
is_revert_gradient: bool = False

View file

@ -3,6 +3,9 @@ import subprocess
from pathlib import Path
from typing import List
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
def rasterize(from_: Path, to_: Path, area: str = "", dpi: float = 90) -> None:
"""

View file

@ -11,6 +11,9 @@ from roentgen.flinger import Flinger
from roentgen.osm_reader import OSMNode
from roentgen.vector import Line, angle, norm, turn_by_angle
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
@dataclass
class Lane:

View file

@ -303,7 +303,7 @@ class Scheme:
"""
if key in self.tags_to_write or key in self.tags_to_skip:
return True
for prefix in self.prefix_to_write + self.prefix_to_skip: # type: str
for prefix in self.prefix_to_write + self.prefix_to_skip:
if key[: len(prefix) + 1] == f"{prefix}:":
return True
return False
@ -319,7 +319,7 @@ class Scheme:
return False
if key in self.tags_to_write:
return True
for prefix in self.prefix_to_write: # type: str
for prefix in self.prefix_to_write:
if key[: len(prefix) + 1] == f"{prefix}:":
return True
return False

View file

@ -7,6 +7,9 @@ from roentgen.workspace import workspace
from roentgen.raster import rasterize
from roentgen.tile import Tile
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
class Handler(BaseHTTPRequestHandler):

View file

@ -24,6 +24,9 @@ from roentgen.scheme import Scheme
from roentgen.util import MinMax
from roentgen.ui import BoundaryBox
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
@dataclass
class Tiles:
@ -267,7 +270,7 @@ class Tile:
)
painter.draw(constructor)
print(f"Writing output SVG {output_file_name}...")
logging.info(f"Writing output SVG {output_file_name}...")
with output_file_name.open("w") as output_file:
svg.write(output_file)
@ -301,5 +304,7 @@ def ui(options) -> None:
tiles.draw(directory, Path(options.cache))
tiles.draw_image(Path(options.cache))
else:
logging.fatal("Specify either --coordinates, or --tile.")
logging.fatal(
"Specify either --coordinates, --boundary-box, or --tile."
)
sys.exit(1)

View file

@ -3,6 +3,9 @@ Vector utility.
"""
import numpy as np
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
def angle(vector: np.array):
"""

View file

@ -3,6 +3,9 @@ File and directory path in the project.
"""
from pathlib import Path
__author__ = "Sergey Vartanov"
__email__ = "me@enzet.ru"
def check_and_create(directory: Path) -> Path:
"""Create directory if it doesn't exist and return it."""