weathergrabber 0.0.5__py3-none-any.whl → 0.0.7a1__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.
@@ -30,9 +30,12 @@ class Timestamp:
30
30
  @classmethod
31
31
  def from_string(cls, text) -> "Timestamp":
32
32
  # "As of 4:23 pm GMT-03:00",
33
+ # "As of 4:23 pm EDT",
33
34
  # "As of 16:37 GMT-03:00",
34
35
  # "Até 16:38 GMT-03:00"
35
- pattern = re.compile(r'(\d{1,2}:\d{2}(?: ?[ap]m)?)\s+(GMT[+-]\d{2}:\d{2})')
36
+ # "Até 20:44 EDT"
37
+ # Simplified: just match time (with optional am/pm) and timezone (GMT offset or abbreviation)
38
+ pattern = re.compile(r'(\d{1,2}:\d{2}(?: ?[ap]m)?)\s*((?:GMT[+-]\d{2}:\d{2})|[A-Z]{2,4})', re.IGNORECASE)
36
39
  match = pattern.search(text)
37
40
  if match:
38
41
  time, gmt = match.groups()
@@ -4,10 +4,11 @@ class WeatherIconEnum(Enum):
4
4
  CLEAR = ('clear', chr(0xF0599), '☀️')
5
5
  CLEAR_NIGHT = ('clear-night', chr(0xF0594), '🌙')
6
6
  CLOUDY = ('cloudy', '\uf0c2', '☁️')
7
- CLOUDY_FOGGY_DAY = ('cloudy-foggy-day', '\u200B', '\u200B')
8
- CLOUDY_FOGGY_NIGHT = ('cloudy-foggy-night', '\u200B', '\u200B')
7
+ CLOUDY_FOGGY_DAY = ('cloudy-foggy-day', chr(0xF013), '🌥️')
8
+ CLOUDY_FOGGY_NIGHT = ('cloudy-foggy-night', chr(0xF013), '🌥️')
9
9
  DAY = ('day', '\uf185', '🌞')
10
10
  FEEL = ('feel', '\uf2c9', '🥵')
11
+ FOGGY = ('foggy', '\uf74e', '🌫️')
11
12
  HUMIDITY = ('humidity', '\uf043', '💧')
12
13
  MOSTLY_CLEAR_DAY = ('mostly-clear-day', chr(0xF0599), '☀️')
13
14
  MOSTLY_CLEAR_NIGHT = ('mostly-clear-night', chr(0xF0594), '🌙')
@@ -21,6 +22,8 @@ class WeatherIconEnum(Enum):
21
22
  RAINY_NIGHT = ('rainy-night', chr(0x1F326), '🌧️')
22
23
  SCATTERED_SHOWERS_DAY = ('scattered-showers-day', chr(0x1F326), '🌦️')
23
24
  SCATTERED_SHOWERS_NIGHT = ('scattered-showers-night', chr(0x1F326), '🌦️')
25
+ SCATTERED_THUNDERSTORMS_DAY = ('scattered-thunderstorms-day', chr(0x26C8), '⛈️')
26
+ SCATTERED_THUNDERSTORMS_NIGHT = ('scattered-thunderstorms-night', chr(0x26C8), '⛈️')
24
27
  SEVERE = ('severe', '\ue317', '🌩️')
25
28
  SHOWERS = ('showers', '\u26c6', '🌧️')
26
29
  SNOW = ('snow', '\uf2dc', '❄️')
@@ -29,9 +32,10 @@ class WeatherIconEnum(Enum):
29
32
  SUNNY = ('sunny', chr(0xF0599), '☀️')
30
33
  SUNRISE = ('sunrise', '\ue34c', '🌅')
31
34
  SUNSET = ('sunset', '\ue34d', '🌇')
32
- THUNDERSTORM = ('thunderstorm', '\uf0e7', '⛈️')
35
+ THUNDERSTORMS = ('thunderstorms', '\uf0e7', '⛈️')
33
36
  VISIBILITY = ('visibility', '\uf06e', '👁️')
34
37
  WIND = ('wind', chr(0xf059d), '🌪️')
38
+ WINDY = ('windy', chr(0xf059d), '🌪️')
35
39
 
36
40
  def __init__(self, name: str, fa_icon: str, emoji_icon: str):
37
41
  self._name = name
@@ -55,4 +59,4 @@ class WeatherIconEnum(Enum):
55
59
  for item in WeatherIconEnum:
56
60
  if item._name == name:
57
61
  return item
58
- return None
62
+ raise ValueError(f'WeatherIconEnum: No icon found for name "{name}"')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: weathergrabber
3
- Version: 0.0.5
3
+ Version: 0.0.7a1
4
4
  Summary: A grabber for weather.com data with various output formats.
5
5
  Author-email: Carlos Anselmo Mendes Junior <cjuniorfox@gmail.com>
6
6
  License: MIT
@@ -23,10 +23,10 @@ weathergrabber/domain/precipitation.py,sha256=eXrpwMOsEJWGqV4bEBhN9niWYXalgdZRLG
23
23
  weathergrabber/domain/search.py,sha256=j3BzskyPl0hDWV02XTOC4tJonV5RHxr5Rop_rYMKUtA,387
24
24
  weathergrabber/domain/sunrise_sunset.py,sha256=wNTk01NIuLbQ7gN_giAFv4f3FaRx9khul-mj19g57vE,1207
25
25
  weathergrabber/domain/temperature_hight_low.py,sha256=PQOJ5uDtfMRBR5yMxXA46xuorJC08jva2C0-WAV5yxs,909
26
- weathergrabber/domain/timestamp.py,sha256=tbUdTiWUf1mKhVq9SESeFGlu_sZ2FdmQCb1gr7u9I0c,1032
26
+ weathergrabber/domain/timestamp.py,sha256=Bk6f8Tx0-yNitYmEKIWHnqh_ALDwxEHrhoCRSrfvYTU,1222
27
27
  weathergrabber/domain/today_details.py,sha256=EUlV7xerYw5QhEsBfvO5m6-9Ghm4nPkXJz9zCmSYTbA,2398
28
28
  weathergrabber/domain/uv_index.py,sha256=lNdk38Jq-A9msuzOLjIKrZIHUc2C9J8V4MA7HU3s1ZM,1420
29
- weathergrabber/domain/weather_icon_enum.py,sha256=xAyZxEDjIBHzy4WIgcWEw3vhDlL8uVJIL3piG9dNcr0,2309
29
+ weathergrabber/domain/weather_icon_enum.py,sha256=t2JEsZWKqFscEq5_NS1Ti6regQDjpjrGGzmvMBvZGjw,2649
30
30
  weathergrabber/domain/wind.py,sha256=wTDz3X1rYsnw_eNoDi1miwaomxwhiJkY_q6xrdZtLak,789
31
31
  weathergrabber/domain/adapter/icon_enum.py,sha256=YxGYS5vBRV2AiAfeuPOdqaQOHixAssiMbOzQnTmdSBg,84
32
32
  weathergrabber/domain/adapter/output_enum.py,sha256=61iR10ppY8DNALPKV-vLnDQni5HxEzpoRNZbdBdRygk,117
@@ -63,9 +63,9 @@ weathergrabber/service/extract_today_details_service.py,sha256=QAwF7EzVaL1STGNDy
63
63
  weathergrabber/service/read_weather_service.py,sha256=7_B8E9IN1KCwOhpuS5PfWazI1sCrDyYrZhkV2R38bhc,649
64
64
  weathergrabber/service/search_location_service.py,sha256=tZmVgO45hjwoa4cl5bKPjMBmYlGxJiH_I9Ymb5pwEwU,1422
65
65
  weathergrabber/usecase/use_case.py,sha256=wmNmJSiy0t00-KaxQqSryiu0keX0kI4PcLI2hBBHT_0,4460
66
- weathergrabber-0.0.5.dist-info/licenses/LICENSE,sha256=X5JFljoqN43yFwpMLudQ9rtty4K_FeZfnz3v8Yhw23Q,1067
67
- weathergrabber-0.0.5.dist-info/METADATA,sha256=JxbSJPXXJ0kNcWteb6kfDdBNEwq-I_gU7yhkiB88z64,5440
68
- weathergrabber-0.0.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
- weathergrabber-0.0.5.dist-info/entry_points.txt,sha256=m2P9a4mrJDTzuNaiTU438NA60GxCfaw7VKvruWw43N8,63
70
- weathergrabber-0.0.5.dist-info/top_level.txt,sha256=P3NMDJJYRIvQujf994Vb4gZrobkKWkL2gh3NF_ajQWM,15
71
- weathergrabber-0.0.5.dist-info/RECORD,,
66
+ weathergrabber-0.0.7a1.dist-info/licenses/LICENSE,sha256=X5JFljoqN43yFwpMLudQ9rtty4K_FeZfnz3v8Yhw23Q,1067
67
+ weathergrabber-0.0.7a1.dist-info/METADATA,sha256=iUhLmkb-bnuUgGeO11Xdho5Hstq0tZWX8OSyFSdYxgg,5442
68
+ weathergrabber-0.0.7a1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
69
+ weathergrabber-0.0.7a1.dist-info/entry_points.txt,sha256=m2P9a4mrJDTzuNaiTU438NA60GxCfaw7VKvruWw43N8,63
70
+ weathergrabber-0.0.7a1.dist-info/top_level.txt,sha256=P3NMDJJYRIvQujf994Vb4gZrobkKWkL2gh3NF_ajQWM,15
71
+ weathergrabber-0.0.7a1.dist-info/RECORD,,