maps4fs 1.8.196__py3-none-any.whl → 1.8.197__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
maps4fs/__init__.py CHANGED
@@ -1,38 +1,8 @@
1
1
  # pylint: disable=missing-module-docstring
2
+ import maps4fs.generator.component as component
3
+ import maps4fs.generator.dtm as dtm
4
+ import maps4fs.generator.settings as settings
2
5
  from maps4fs.generator.dtm.dtm import DTMProvider
3
- from maps4fs.generator.dtm.srtm import SRTM30Provider, SRTM30ProviderSettings
4
- from maps4fs.generator.dtm.usgs_wcs import USGSWCSProvider
5
- from maps4fs.generator.dtm.nrw import NRWProvider
6
- from maps4fs.generator.dtm.bavaria import BavariaProvider
7
- from maps4fs.generator.dtm.niedersachsen import NiedersachsenProvider
8
- from maps4fs.generator.dtm.hessen import HessenProvider
9
- from maps4fs.generator.dtm.england import England1MProvider
10
- from maps4fs.generator.dtm.canada import CanadaProvider
11
- from maps4fs.generator.dtm.scotland import ScotlandProvider
12
- from maps4fs.generator.dtm.finland import FinlandProvider
13
- from maps4fs.generator.dtm.italy import ItalyProvider
14
- from maps4fs.generator.dtm.flanders import FlandersProvider
15
- from maps4fs.generator.dtm.spain import SpainProvider
16
- from maps4fs.generator.dtm.france import FranceProvider
17
- from maps4fs.generator.dtm.norway import NorwayProvider
18
- from maps4fs.generator.dtm.denmark import DenmarkProvider
19
- from maps4fs.generator.dtm.switzerland import SwitzerlandProvider
20
- from maps4fs.generator.dtm.mv import MecklenburgVorpommernProvider
21
- from maps4fs.generator.dtm.baden import BadenWurttembergProvider
22
- from maps4fs.generator.dtm.arctic import ArcticProvider
23
- from maps4fs.generator.dtm.rema import REMAProvider
24
- from maps4fs.generator.dtm.czech import CzechProvider
25
- from maps4fs.generator.dtm.sachsenanhalt import SachsenAnhaltProvider
26
6
  from maps4fs.generator.game import Game
27
7
  from maps4fs.generator.map import Map
28
- from maps4fs.generator.settings import (
29
- BackgroundSettings,
30
- DEMSettings,
31
- GRLESettings,
32
- I3DSettings,
33
- SatelliteSettings,
34
- SettingsModel,
35
- SplineSettings,
36
- TextureSettings,
37
- )
38
8
  from maps4fs.logger import Logger
@@ -1 +1,9 @@
1
1
  # pylint: disable=missing-module-docstring
2
+ from maps4fs.generator.component.background import Background
3
+ from maps4fs.generator.component.base.component import Component
4
+ from maps4fs.generator.component.config import Config
5
+ from maps4fs.generator.component.grle import GRLE
6
+ from maps4fs.generator.component.i3d import I3d
7
+ from maps4fs.generator.component.layer import Layer
8
+ from maps4fs.generator.component.satellite import Satellite
9
+ from maps4fs.generator.component.texture import Texture
@@ -0,0 +1,24 @@
1
+ # pylint: disable=missing-module-docstring
2
+ from maps4fs.generator.dtm.arctic import ArcticProvider
3
+ from maps4fs.generator.dtm.baden import BadenWurttembergProvider
4
+ from maps4fs.generator.dtm.bavaria import BavariaProvider
5
+ from maps4fs.generator.dtm.canada import CanadaProvider
6
+ from maps4fs.generator.dtm.czech import CzechProvider
7
+ from maps4fs.generator.dtm.denmark import DenmarkProvider
8
+ from maps4fs.generator.dtm.england import England1MProvider
9
+ from maps4fs.generator.dtm.finland import FinlandProvider
10
+ from maps4fs.generator.dtm.flanders import FlandersProvider
11
+ from maps4fs.generator.dtm.france import FranceProvider
12
+ from maps4fs.generator.dtm.hessen import HessenProvider
13
+ from maps4fs.generator.dtm.italy import ItalyProvider
14
+ from maps4fs.generator.dtm.mv import MecklenburgVorpommernProvider
15
+ from maps4fs.generator.dtm.niedersachsen import NiedersachsenProvider
16
+ from maps4fs.generator.dtm.norway import NorwayProvider
17
+ from maps4fs.generator.dtm.nrw import NRWProvider
18
+ from maps4fs.generator.dtm.rema import REMAProvider
19
+ from maps4fs.generator.dtm.sachsenanhalt import SachsenAnhaltProvider
20
+ from maps4fs.generator.dtm.scotland import ScotlandProvider
21
+ from maps4fs.generator.dtm.spain import SpainProvider
22
+ from maps4fs.generator.dtm.srtm import SRTM30Provider
23
+ from maps4fs.generator.dtm.switzerland import SwitzerlandProvider
24
+ from maps4fs.generator.dtm.usgs_wcs import USGSWCSProvider
@@ -78,15 +78,28 @@ class DTMProvider(ABC):
78
78
 
79
79
  @classmethod
80
80
  def name(cls) -> str | None:
81
- """Name of the provider."""
81
+ """Name of the provider.
82
+
83
+ Returns:
84
+ str: Provider name.
85
+ """
82
86
  return cls._name
83
87
 
88
+ @classmethod
89
+ def code(cls) -> str | None:
90
+ """Code of the provider.
91
+
92
+ Returns:
93
+ str: Provider code.
94
+ """
95
+ return cls._code
96
+
84
97
  @property
85
98
  def data_info(self) -> dict[str, int | str | float] | None:
86
99
  """Information about the DTM data.
87
100
 
88
101
  Returns:
89
- dict: Information about the DTM data.
102
+ dict[str, int | str | float] | None: Information about the DTM data.
90
103
  """
91
104
  return self._data_info
92
105
 
@@ -95,7 +108,7 @@ class DTMProvider(ABC):
95
108
  """Set information about the DTM data.
96
109
 
97
110
  Arguments:
98
- value (dict): Information about the DTM data.
111
+ value (dict[str, int | str | float] | None): Information about the DTM data.
99
112
  """
100
113
  self._data_info = value
101
114
 
@@ -104,7 +117,7 @@ class DTMProvider(ABC):
104
117
  """Coordinates of the center point of the DTM data.
105
118
 
106
119
  Returns:
107
- tuple: Latitude and longitude of the center point.
120
+ tuple[float, float]: Coordinates of the center point of the DTM data.
108
121
  """
109
122
  return self._coordinates
110
123
 
@@ -119,11 +132,22 @@ class DTMProvider(ABC):
119
132
 
120
133
  @property
121
134
  def url(self) -> str | None:
122
- """URL of the provider."""
135
+ """URL of the provider.
136
+
137
+ Returns:
138
+ str: URL of the provider or None if not defined.
139
+ """
123
140
  return self._url
124
141
 
125
142
  def formatted_url(self, **kwargs) -> str:
126
- """Formatted URL of the provider."""
143
+ """Formatted URL of the provider.
144
+
145
+ Arguments:
146
+ **kwargs: Keyword arguments to format the URL.
147
+
148
+ Returns:
149
+ str: Formatted URL of the provider.
150
+ """
127
151
  if not self.url:
128
152
  raise ValueError("URL must be defined.")
129
153
  return self.url.format(**kwargs)
@@ -220,7 +244,7 @@ class DTMProvider(ABC):
220
244
  DTMProvider: Provider class or None if not found.
221
245
  """
222
246
  for provider in cls.__subclasses__():
223
- if provider._code == code: # pylint: disable=W0212
247
+ if provider.code() == code:
224
248
  return provider
225
249
  return None
226
250
 
@@ -232,12 +256,13 @@ class DTMProvider(ABC):
232
256
  Returns:
233
257
  dict: Provider descriptions.
234
258
  """
235
- providers = {}
259
+ providers: dict[str, str] = {}
236
260
  for provider in cls.__subclasses__():
237
- # pylint: disable=W0212
238
- if not provider._is_base and provider.inside_bounding_box(lat_lon):
239
- providers[provider._code] = provider.description() # pylint: disable=W0212
240
- return providers # type: ignore
261
+ if not provider.is_base() and provider.inside_bounding_box(lat_lon):
262
+ code = provider.code()
263
+ if code is not None:
264
+ providers[code] = provider.description()
265
+ return providers
241
266
 
242
267
  @classmethod
243
268
  def inside_bounding_box(cls, lat_lon: tuple[float, float]) -> bool:
@@ -9,11 +9,7 @@ import shutil
9
9
 
10
10
  import requests
11
11
 
12
- from maps4fs.generator.dtm.dtm import DTMProvider, DTMProviderSettings
13
-
14
-
15
- class SRTM30ProviderSettings(DTMProviderSettings):
16
- """Settings for SRTM 30m provider."""
12
+ from maps4fs.generator.dtm.dtm import DTMProvider
17
13
 
18
14
 
19
15
  class SRTM30Provider(DTMProvider):
@@ -29,8 +25,6 @@ class SRTM30Provider(DTMProvider):
29
25
 
30
26
  _author = "[iwatkot](https://github.com/iwatkot)"
31
27
 
32
- _settings = SRTM30ProviderSettings
33
-
34
28
  _instructions = "ℹ️ Recommended settings: \nDEM Settings -> Blur Radius: **35**"
35
29
 
36
30
  def __init__(self, *args, **kwargs):
maps4fs/generator/map.py CHANGED
@@ -7,10 +7,7 @@ import os
7
7
  import shutil
8
8
  from typing import Any, Generator
9
9
 
10
- from maps4fs.generator.component.background import Background
11
- from maps4fs.generator.component.base.component import Component
12
- from maps4fs.generator.component.layer import Layer
13
- from maps4fs.generator.component.texture import Texture
10
+ from maps4fs.generator.component import Background, Component, Layer, Texture
14
11
  from maps4fs.generator.dtm.dtm import DTMProvider, DTMProviderSettings
15
12
  from maps4fs.generator.game import Game
16
13
  from maps4fs.generator.settings import (
@@ -26,7 +23,6 @@ from maps4fs.generator.settings import (
26
23
  from maps4fs.logger import Logger
27
24
 
28
25
 
29
- # pylint: disable=R0913, R0902, R0914
30
26
  class Map:
31
27
  """Class used to generate map using all components.
32
28
 
@@ -38,11 +34,11 @@ class Map:
38
34
  logger (Any): Logger instance
39
35
  """
40
36
 
41
- def __init__( # pylint: disable=R0917, R0915
37
+ def __init__(
42
38
  self,
43
39
  game: Game,
44
40
  dtm_provider: DTMProvider,
45
- dtm_provider_settings: DTMProviderSettings,
41
+ dtm_provider_settings: DTMProviderSettings | None,
46
42
  coordinates: tuple[float, float],
47
43
  size: int,
48
44
  rotation: int,
@@ -199,7 +195,7 @@ class Map:
199
195
 
200
196
  try:
201
197
  component.process()
202
- except Exception as e: # pylint: disable=W0718
198
+ except Exception as e:
203
199
  self.logger.error(
204
200
  "Error processing component %s: %s",
205
201
  component.__class__.__name__,
@@ -209,7 +205,7 @@ class Map:
209
205
 
210
206
  try:
211
207
  component.commit_generation_info()
212
- except Exception as e: # pylint: disable=W0718
208
+ except Exception as e:
213
209
  self.logger.error(
214
210
  "Error committing generation info for component %s: %s",
215
211
  component.__class__.__name__,
@@ -287,7 +283,7 @@ class Map:
287
283
  for component in self.components:
288
284
  try:
289
285
  previews.extend(component.previews())
290
- except Exception as e: # pylint: disable=W0718
286
+ except Exception as e:
291
287
  self.logger.error(
292
288
  "Error getting previews for component %s: %s",
293
289
  component.__class__.__name__,
@@ -311,6 +307,6 @@ class Map:
311
307
  try:
312
308
  shutil.rmtree(self.map_directory)
313
309
  self.logger.debug("Map directory removed: %s", self.map_directory)
314
- except Exception as e: # pylint: disable=W0718
310
+ except Exception as e:
315
311
  self.logger.debug("Error removing map directory %s: %s", self.map_directory, e)
316
312
  return archive_path
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: maps4fs
3
- Version: 1.8.196
3
+ Version: 1.8.197
4
4
  Summary: Generate map templates for Farming Simulator from real places.
5
5
  Author-email: iwatkot <iwatkot@gmail.com>
6
6
  License: MIT License
@@ -263,8 +263,7 @@ import maps4fs as mfs
263
263
  game_code = "fs25"
264
264
  game = mfs.Game.from_code(game_code)
265
265
 
266
- dtm_provider = mfs.SRTM30Provider
267
- dtm_provider_settings = mfs.SRTM30ProviderSettings(easy_mode=True, power_factor=0)
266
+ dtm_provider = mfs.dtm.SRTM30Provider
268
267
 
269
268
  lat, lon = 45.28, 20.23
270
269
  coordinates = (lat, lon)
@@ -277,7 +276,7 @@ os.makedirs(map_directory, exist_ok=True)
277
276
  mp = mfs.Map(
278
277
  game,
279
278
  dtm_provider,
280
- dtm_provider_settings,
279
+ None,
281
280
  coordinates,
282
281
  size,
283
282
  rotation,
@@ -1,12 +1,12 @@
1
- maps4fs/__init__.py,sha256=9StBkLgyOqEwZ4tQ0AQJ9LaEMhR0_tr3FtZxZKKa8FQ,1780
1
+ maps4fs/__init__.py,sha256=EGvLVoRpSt4jITswsGbe1ISVmGAZAMQJcBmTwtyuVxI,335
2
2
  maps4fs/logger.py,sha256=HQrDyj72mUjVYo25aR_-_SxVn2rfFjDCNbj-JKJdSnE,1488
3
3
  maps4fs/generator/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
4
4
  maps4fs/generator/dem.py,sha256=qHYkVtph5NXo2fRfRoYwKGzpnx-6-TIRg1rNg0EmtDU,11740
5
5
  maps4fs/generator/game.py,sha256=NZaxj5z7WzMiHzAvQyr-TvVjGoHgqGldM6ZsItuYyzA,11292
6
- maps4fs/generator/map.py,sha256=BV7OTrv3zHud6DbTGpm3TU5JNWJlKgRhZUGfs_wxntw,11513
6
+ maps4fs/generator/map.py,sha256=FA9ZLpVMS2RLRDgWZdOo-kLzqMUBza3EZ_89-Gfw_s4,11193
7
7
  maps4fs/generator/qgis.py,sha256=Es8hLuqN_KH8lDfnJE6He2rWYbAKJ3RGPn-o87S6CPI,6116
8
8
  maps4fs/generator/settings.py,sha256=ZHwLn1ObdOuhyUTzQTYvyDs7YZ0SbVLgTSpoeUtqi0c,6708
9
- maps4fs/generator/component/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,43
9
+ maps4fs/generator/component/__init__.py,sha256=s01yVVVi8R2xxNvflu2D6wTd9I_g73AMM2x7vAC7GX4,490
10
10
  maps4fs/generator/component/background.py,sha256=47hQskCT-RfubhJKd9vHDqZOj2lwkYROY1ob5v79b54,18767
11
11
  maps4fs/generator/component/config.py,sha256=RitKgFDZPzjA1fi8GcEi1na75qqaueUvpcITHjBvCXc,3674
12
12
  maps4fs/generator/component/grle.py,sha256=nDA6vjjfWFL0Hkz6aso1aLIwuksbxzZw9syNax1bD04,19134
@@ -19,14 +19,14 @@ maps4fs/generator/component/base/component.py,sha256=apGuQ7TcwqL0neJZiciNLGO22wZ
19
19
  maps4fs/generator/component/base/component_image.py,sha256=2QnJ9xm0D54v4whg7bc1s-kwRVjZHhOo1OR5jHr1Qp0,4786
20
20
  maps4fs/generator/component/base/component_mesh.py,sha256=43JY8X0ugIWAJq5y11vTJM9UfbL7SSugj8LkdPmni10,8871
21
21
  maps4fs/generator/component/base/component_xml.py,sha256=6OO1dKoceO1ACk7-k1oGtnkfNud8ZN3u3ZNjdNMpTqw,3967
22
- maps4fs/generator/dtm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
+ maps4fs/generator/dtm/__init__.py,sha256=hzKESJm2QhIQnPKxTYCFohpvRWOmLfXZfEnrMbntp1s,1392
23
23
  maps4fs/generator/dtm/arctic.py,sha256=LSivLLjtd6TJUaPYvgSYQ4KalMTaY58zFvwivSh45uM,2587
24
24
  maps4fs/generator/dtm/baden.py,sha256=PQTMEPm9hrO3nKbv_DXA9oNYnGK_0ei41Q_DhtethX0,1041
25
25
  maps4fs/generator/dtm/bavaria.py,sha256=nH2wTxiIdQgKotauTqD-zztwFgfZzIdym2sjmSqfujM,4295
26
26
  maps4fs/generator/dtm/canada.py,sha256=XJ_za2LDV9PEV7hmjPnzdwPbpr6ezAR73-HDVaTuKPk,1290
27
27
  maps4fs/generator/dtm/czech.py,sha256=sT0gwbtEnizVNcZeL7kyDdwmKvB3w8m6UgJR7ZTk1to,1058
28
28
  maps4fs/generator/dtm/denmark.py,sha256=JFuBRrCJTMXe_vdO3gRCwsnZ3nZOp_Y6671Kq8aXRGM,1591
29
- maps4fs/generator/dtm/dtm.py,sha256=DSBtk-i1lF_GWGYttmD2LWfmPhx8WzrUROrAULE2RHQ,16937
29
+ maps4fs/generator/dtm/dtm.py,sha256=QGsA-JysmOXFdZa7RsaXwmB4aGK0gys0DZUG6AIBT30,17476
30
30
  maps4fs/generator/dtm/england.py,sha256=3URUm7uLH_RYXcQdDW3Vt09GWKAE8RAy1ZFJB94kXOA,1124
31
31
  maps4fs/generator/dtm/finland.py,sha256=VpXpvCgzbyKA6VGSa7ikSzE4B-cLfR1_2zOHvS8delc,1870
32
32
  maps4fs/generator/dtm/flanders.py,sha256=LltmowbS84_DaBHAS9XYoJPMunX6sWGy6zaVACHj5Ro,1039
@@ -41,7 +41,7 @@ maps4fs/generator/dtm/rema.py,sha256=arLE12yE92EWmWysNUTtdEzwcNiCBtEBmnfnryOriRY
41
41
  maps4fs/generator/dtm/sachsenanhalt.py,sha256=UvLrQVxJX30BqtNbKZyR6EJc-vS5fLyanh6fntjYj2k,1144
42
42
  maps4fs/generator/dtm/scotland.py,sha256=kUGPNjn3mQPOU9sgK3k-uwumPG2wrRFLaDMyPMh06Jw,4819
43
43
  maps4fs/generator/dtm/spain.py,sha256=A5QScsrd_bkVlf2n9ZfXBL9z_YoXpLsm_5FWs-5nd_o,1021
44
- maps4fs/generator/dtm/srtm.py,sha256=ob6AUuEn3G3G9kdqTA2VhT335N65RRBJsqAfHuw0gA8,4502
44
+ maps4fs/generator/dtm/srtm.py,sha256=zeQovZCC6AKzdKAxypKQFuIn1mi2c9EUpRjaA4jSVVs,4346
45
45
  maps4fs/generator/dtm/switzerland.py,sha256=Jn3qYVEps_K6cH-9rMfB_zoXMxhzWQKPnlKkSE-TehE,3549
46
46
  maps4fs/generator/dtm/usgs_wcs.py,sha256=X8VxdhyH0-EciGE_X-KgrAM6sVLTGssYIhtebOj8MPI,1021
47
47
  maps4fs/generator/dtm/utils.py,sha256=I-wUSA_J85Xbt8sZCZAVKHSIcrMj5Ng-0adtPVhVmk0,2315
@@ -51,8 +51,8 @@ maps4fs/toolbox/__init__.py,sha256=zZMLEkGzb4z0xql650gOtGSvcgX58DnJ2yN3vC2daRk,4
51
51
  maps4fs/toolbox/background.py,sha256=RclEqxEWLbMxuEkkegQP8jybzugwQ1_R3rdfDe0s21U,2104
52
52
  maps4fs/toolbox/custom_osm.py,sha256=X6ZlPqiOhNjkmdD_qVroIfdOl9Rb90cDwVSLDVYgx80,1892
53
53
  maps4fs/toolbox/dem.py,sha256=z9IPFNmYbjiigb3t02ZenI3Mo8odd19c5MZbjDEovTo,3525
54
- maps4fs-1.8.196.dist-info/LICENSE.md,sha256=pTKD_oUexcn-yccFCTrMeLkZy0ifLRa-VNcDLqLZaIw,10749
55
- maps4fs-1.8.196.dist-info/METADATA,sha256=USTOzehJX2zyRoY5EDKAZbmnaPYHkl-6ZVXdvt5ckvs,45000
56
- maps4fs-1.8.196.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
57
- maps4fs-1.8.196.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
58
- maps4fs-1.8.196.dist-info/RECORD,,
54
+ maps4fs-1.8.197.dist-info/LICENSE.md,sha256=pTKD_oUexcn-yccFCTrMeLkZy0ifLRa-VNcDLqLZaIw,10749
55
+ maps4fs-1.8.197.dist-info/METADATA,sha256=fswQduWDANskTQxoORkgeZrJdZku9uPBSP7sB8uTDB8,44904
56
+ maps4fs-1.8.197.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
57
+ maps4fs-1.8.197.dist-info/top_level.txt,sha256=Ue9DSRlejRQRCaJueB0uLcKrWwsEq9zezfv5dI5mV1M,8
58
+ maps4fs-1.8.197.dist-info/RECORD,,