maleo-enums 0.0.15__py3-none-any.whl → 0.0.17__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.
maleo/enums/connection.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from enum import StrEnum
2
- from typing import List, Optional, Sequence, TypeVar
2
+ from typing import List, Optional, Sequence, TypeVar, Union
3
3
 
4
4
 
5
5
  class Scheme(StrEnum):
@@ -18,6 +18,26 @@ SequenceOfSchemes = Sequence[Scheme]
18
18
  OptionalSequenceOfSchemes = Optional[SequenceOfSchemes]
19
19
 
20
20
 
21
+ class Protocol(StrEnum):
22
+ HTTP = "http"
23
+ WEBSOCKET = "websocket"
24
+
25
+ @classmethod
26
+ def from_scheme(cls, scheme: Union[Scheme, str]) -> "Protocol":
27
+ # Normalize to Scheme if it's a string
28
+ if isinstance(scheme, str):
29
+ try:
30
+ scheme = Scheme(scheme)
31
+ except ValueError:
32
+ raise ValueError(f"Unknown scheme: {scheme}")
33
+
34
+ if scheme in (Scheme.HTTP, Scheme.HTTPS):
35
+ return cls.HTTP
36
+ elif scheme in (Scheme.WS, Scheme.WSS):
37
+ return cls.WEBSOCKET
38
+ raise ValueError(f"Unknown scheme: {scheme}")
39
+
40
+
21
41
  class Method(StrEnum):
22
42
  GET = "GET"
23
43
  POST = "POST"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: maleo-enums
3
- Version: 0.0.15
3
+ Version: 0.0.17
4
4
  Summary: Enums package for MaleoSuite
5
5
  Author-email: Agra Bima Yuda <agra@nexmedis.com>
6
6
  License: Proprietary
@@ -1,13 +1,13 @@
1
1
  maleo/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  maleo/enums/cardinality.py,sha256=VWqMB6j8gxe5VtyUyLJIr_B0vzIRU144HuujHlujRHI,1594
3
- maleo/enums/connection.py,sha256=s_cNYQuCe7mzRH1xhRxOKmJi5Jo1GiRGM7y7Y6NaH3o,3755
3
+ maleo/enums/connection.py,sha256=zxqcqf2qjGBr-iQYrl7laQqngoEfCy8A24OLjboLvgw,4368
4
4
  maleo/enums/environment.py,sha256=1deZOMXcrRuLc9kZTeciU0QhlGaUXbG56DSdQ40LqqQ,429
5
5
  maleo/enums/expiration.py,sha256=Jld9-BYA0K4zTfUwdXKXmnPyi_YLA-39uamiVLNJeJw,814
6
6
  maleo/enums/order.py,sha256=x4p5--jIcHHixdDTlXy04u_Xja7DnEFhGnxAjT6uI_0,323
7
7
  maleo/enums/service.py,sha256=TGm4gGvZmPFSf-DSu2b1t04fxsDTIUqu4g7PyovBx18,3151
8
8
  maleo/enums/status.py,sha256=2puZRw8fafKxyNtr5xn69UMU2jFKnAVuyJPE5KVGSxQ,644
9
- maleo_enums-0.0.15.dist-info/licenses/LICENSE,sha256=aftGsecnk7TWVX-7KW94FqK4Syy6YSZ8PZEF7EcIp3M,2621
10
- maleo_enums-0.0.15.dist-info/METADATA,sha256=P9BMxDLR7a6AVzibP23CuTrL02mGkOTz10IBxT5ehVM,1280
11
- maleo_enums-0.0.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
12
- maleo_enums-0.0.15.dist-info/top_level.txt,sha256=3Tpd1siVsfYoeI9FEOJNYnffx_shzZ3wsPpTvz5bljc,6
13
- maleo_enums-0.0.15.dist-info/RECORD,,
9
+ maleo_enums-0.0.17.dist-info/licenses/LICENSE,sha256=aftGsecnk7TWVX-7KW94FqK4Syy6YSZ8PZEF7EcIp3M,2621
10
+ maleo_enums-0.0.17.dist-info/METADATA,sha256=-FAT34-uEoG-wsNoQxsP3R10KrChnAwfQzgtJR1pGoc,1280
11
+ maleo_enums-0.0.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
12
+ maleo_enums-0.0.17.dist-info/top_level.txt,sha256=3Tpd1siVsfYoeI9FEOJNYnffx_shzZ3wsPpTvz5bljc,6
13
+ maleo_enums-0.0.17.dist-info/RECORD,,