Codetable is a lightweight package for seamlessly setting up codes, such as those used in API responses.
Project description
from codetable import Code, Codes, CodesStorage, msg
codes_storage = CodesStorage()
class UserErrorCodes(Codes):
NAMESPACE: str = "user"
EXPORT_TO: CodesStorage = codes_storage # For example, export status codes to global storage for use in frontend translations.
ALREADY_EXISTS: str
DOES_NOT_EXIST: Code = msg("User does not exist.")
print("# UserErrorCodes.ALREADY_EXISTS\n")
print("code:", UserErrorCodes.ALREADY_EXISTS)
print("\n# UserErrorCodes.DOES_NOT_EXIST\n")
print("obj:", UserErrorCodes.DOES_NOT_EXIST)
print("code:", UserErrorCodes.DOES_NOT_EXIST.code)
print("msg:", UserErrorCodes.DOES_NOT_EXIST.msg)
print("\n# UserErrorCodes.export_codes()\n")
print(UserErrorCodes.export_codes())
class CatCodes(Codes):
NAMESPACE: str = "cat"
EXPORT_TO: CodesStorage = codes_storage # We don't call export_codes here, but it will still be exported due to the presence of EXPORT_TO. export_codes is run automatically when EXPORT_TO is present.
NOT_HUNGRY: Code = msg("Cat is not hungry!")
print("\n# codes_storage\n")
print(codes_storage)
print("\n# codes_storage.to_json()")
print("# !!! You can change ident by passing an argument !!!\n")
print(codes_storage.to_json())
print("\n# codes_storage.to_dict()\n")
print(codes_storage.to_dict())
# # UserErrorCodes.ALREADY_EXISTS
# code: user_already_exists
# # UserErrorCodes.DOES_NOT_EXIST
# obj: Code(code='user_does_not_exist', msg='User does not exist.')
# code: user_does_not_exist
# msg: User does not exist.
# # UserErrorCodes.export_codes()
# {'user_already_exists': None, 'user_does_not_exist': 'User does not exist.'}
# # codes_storage
# CodesStorage(storage={'user_already_exists': None, 'user_does_not_exist': 'User does not exist.', 'cat_not_hungry': 'Cat is not hungry!'})
# # codes_storage.to_json()
# # !!! You can change ident by passing an argument !!!
# {
# "user_already_exists": null,
# "user_does_not_exist": "User does not exist.",
# "cat_not_hungry": "Cat is not hungry!"
# }
# # codes_storage.to_dict()
# {'user_already_exists': None, 'user_does_not_exist': 'User does not exist.', 'cat_not_hungry': 'Cat is not hungry!'}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
codetable-1.0.3.tar.gz
(3.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codetable-1.0.3.tar.gz.
File metadata
- Download URL: codetable-1.0.3.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4276b2e7c87a1a45a822e04110f8c15dbe67de558f6347a2e8b10fc7c51612d2
|
|
| MD5 |
5682e1acc97adcd4a1ca4031422f6e09
|
|
| BLAKE2b-256 |
72b08c800311346cb82dc128118a7a8111887b2c54ecc2a35cbaa982bda0e3bc
|
File details
Details for the file codetable-1.0.3-py3-none-any.whl.
File metadata
- Download URL: codetable-1.0.3-py3-none-any.whl
- Upload date:
- Size: 4.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
012bba609f412639ba26822146ef041c698ee073309e4fa67b01f55e589f7331
|
|
| MD5 |
6078cf064145c2a3fd108f9e80858524
|
|
| BLAKE2b-256 |
6747afc75eece71d441709b260aebb6e5de89d98e9e6909a1662566c52a07c28
|