forked from FrederikBaerentsen/BrickTracker
bricktracker
migrations
sql
views
__init__.py
app.py
config.py
configuration.py
configuration_list.py
exceptions.py
fields.py
instructions.py
instructions_list.py
login.py
metadata.py
metadata_list.py
minifigure.py
minifigure_list.py
navbar.py
parser.py
part.py
part_list.py
rebrickable.py
rebrickable_image.py
rebrickable_minifigure.py
rebrickable_part.py
rebrickable_set.py
rebrickable_set_list.py
record.py
record_list.py
reload.py
retired.py
retired_list.py
set.py
set_list.py
set_owner.py
set_owner_list.py
set_purchase_location.py
set_purchase_location_list.py
set_status.py
set_status_list.py
set_storage.py
set_storage_list.py
set_tag.py
set_tag_list.py
socket.py
socket_decorator.py
sql.py
sql_counter.py
sql_migration.py
sql_migration_list.py
sql_stats.py
theme.py
theme_list.py
version.py
wish.py
wish_list.py
wish_owner.py
wish_owner_list.py
docs
static
templates
.dockerignore
.env.sample
.gitignore
CHANGELOG.md
Dockerfile
LICENSE
README.md
__init__.py
app.py
compose.legacy.yml
compose.local.yaml
compose.yaml
entrypoint.sh
requirements.txt
test-server.sh
38 lines
994 B
Python
38 lines
994 B
Python
from .exceptions import ErrorException
|
|
|
|
|
|
# Make sense of string supposed to contain a set ID
|
|
def parse_set(set: str, /) -> str:
|
|
number, _, version = set.partition('-')
|
|
|
|
# Making sure both are integers
|
|
if version == '':
|
|
version = 1
|
|
|
|
try:
|
|
number = int(number)
|
|
except Exception:
|
|
raise ErrorException('Number "{number}" is not a number'.format(
|
|
number=number,
|
|
))
|
|
|
|
try:
|
|
version = int(version)
|
|
except Exception:
|
|
raise ErrorException('Version "{version}" is not a number'.format(
|
|
version=version,
|
|
))
|
|
|
|
# Make sure both are positive
|
|
if number < 0:
|
|
raise ErrorException('Number "{number}" should be positive'.format(
|
|
number=number,
|
|
))
|
|
|
|
if version < 0:
|
|
raise ErrorException('Version "{version}" should be positive'.format( # noqa: E501
|
|
version=version,
|
|
))
|
|
|
|
return '{number}-{version}'.format(number=number, version=version)
|