Habiticalib 0.2.0a1__tar.gz → 0.2.0a2__tar.gz
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.
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/PKG-INFO +1 -1
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/__init__.py +4 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/const.py +1 -1
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/lib.py +7 -5
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/types.py +385 -8
- habiticalib-0.2.0a2/tests/__snapshots__/test_lib.ambr +7 -0
- habiticalib-0.2.0a1/tests/__snapshots__/test_lib.ambr +0 -7
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.cruft.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.editorconfig +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/FUNDING.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/dependabot.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/labels.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/release-drafter.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/workflows/build.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/workflows/documentation.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/workflows/draft.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.github/workflows/labeler.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.gitignore +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.pre-commit-config.yaml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/.vscode/settings.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/LICENSE +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/README.md +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/docs/index.md +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/docs/reference/habiticalib.md +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/mkdocs.yml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/pyproject.toml +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/exceptions.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/helpers.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/src/habiticalib/py.typed +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/__init__.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/__snapshots__/test_avatar.ambr +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/conftest.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/login.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_kickstarter.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_seafoam.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_shinySeed.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_sleeping.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_snowball.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_spookySparkles.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/fixtures/user_styles_with_chair.json +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/test_avatar.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/test_init.py +0 -0
- {habiticalib-0.2.0a1 → habiticalib-0.2.0a2}/tests/test_lib.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: Habiticalib
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.0a2
|
4
4
|
Summary: Asynchronous Python client library for the Habitica API
|
5
5
|
Project-URL: Documentation, https://tr4nt0r.github.io/habiticalib/
|
6
6
|
Project-URL: Source, https://github.com/tr4nt0r/habiticalib
|
@@ -15,9 +15,11 @@ from .types import (
|
|
15
15
|
Frequency,
|
16
16
|
HabiticaClass,
|
17
17
|
HabiticaClassSystemResponse,
|
18
|
+
HabiticaContentResponse,
|
18
19
|
HabiticaErrorResponse,
|
19
20
|
HabiticaGroupMembersResponse,
|
20
21
|
HabiticaLoginResponse,
|
22
|
+
HabiticaQuestResponse,
|
21
23
|
HabiticaResponse,
|
22
24
|
HabiticaScoreResponse,
|
23
25
|
HabiticaSleepResponse,
|
@@ -48,10 +50,12 @@ __all__ = [
|
|
48
50
|
"Habitica",
|
49
51
|
"HabiticaClass",
|
50
52
|
"HabiticaClassSystemResponse",
|
53
|
+
"HabiticaContentResponse",
|
51
54
|
"HabiticaErrorResponse",
|
52
55
|
"HabiticaException",
|
53
56
|
"HabiticaGroupMembersResponse",
|
54
57
|
"HabiticaLoginResponse",
|
58
|
+
"HabiticaQuestResponse",
|
55
59
|
"HabiticaResponse",
|
56
60
|
"HabiticaScoreResponse",
|
57
61
|
"HabiticaSleepResponse",
|
@@ -31,6 +31,7 @@ from .types import (
|
|
31
31
|
Direction,
|
32
32
|
HabiticaClass,
|
33
33
|
HabiticaClassSystemResponse,
|
34
|
+
HabiticaContentResponse,
|
34
35
|
HabiticaErrorResponse,
|
35
36
|
HabiticaGroupMembersResponse,
|
36
37
|
HabiticaLoginResponse,
|
@@ -263,14 +264,15 @@ class Habitica:
|
|
263
264
|
self,
|
264
265
|
task_type: TaskFilter | None = None,
|
265
266
|
due_date: datetime | None = None,
|
266
|
-
) ->
|
267
|
+
) -> HabiticaTasksResponse:
|
267
268
|
"""Get the authenticated user's tasks.
|
268
269
|
|
269
270
|
Parameters
|
270
271
|
----------
|
271
272
|
task_type : TaskFilter | None
|
272
273
|
The type of task to retrieve, defined in TaskFilter enum.
|
273
|
-
If `None`, all task types will be retrieved
|
274
|
+
If `None`, all task types will be retrieved except completed to-dos
|
275
|
+
(default is None).
|
274
276
|
|
275
277
|
due_date : datetime | None
|
276
278
|
Optional date to use for computing the nextDue field for each returned task.
|
@@ -458,7 +460,7 @@ class Habitica:
|
|
458
460
|
Returns
|
459
461
|
-------
|
460
462
|
HabiticaTaskResponse
|
461
|
-
A response
|
463
|
+
A response containing an empty data object.
|
462
464
|
|
463
465
|
Raises
|
464
466
|
------
|
@@ -562,7 +564,7 @@ class Habitica:
|
|
562
564
|
async def get_content(
|
563
565
|
self,
|
564
566
|
language: Language | None = None,
|
565
|
-
) ->
|
567
|
+
) -> HabiticaContentResponse:
|
566
568
|
"""
|
567
569
|
Fetch game content from the Habitica API.
|
568
570
|
|
@@ -604,7 +606,7 @@ class Habitica:
|
|
604
606
|
if language:
|
605
607
|
params.update({"language": language.value})
|
606
608
|
|
607
|
-
return
|
609
|
+
return HabiticaContentResponse.from_json(
|
608
610
|
await self._request("get", url=url, params=params),
|
609
611
|
)
|
610
612
|
|
@@ -591,7 +591,7 @@ class PreferencesUser:
|
|
591
591
|
webhooks: dict = field(default_factory=dict)
|
592
592
|
improvementCategories: list[str] = field(default_factory=list)
|
593
593
|
timezoneOffsetAtLastCron: int | None = None
|
594
|
-
language:
|
594
|
+
language: Language | None = None
|
595
595
|
|
596
596
|
|
597
597
|
@dataclass(kw_only=True)
|
@@ -662,13 +662,6 @@ class StatsUser:
|
|
662
662
|
Int: int | None = field(default=None, metadata=field_options(alias="int"))
|
663
663
|
|
664
664
|
|
665
|
-
field(
|
666
|
-
metadata=field_options(
|
667
|
-
deserialize=serialize_datetime,
|
668
|
-
)
|
669
|
-
)
|
670
|
-
|
671
|
-
|
672
665
|
@dataclass(kw_only=True)
|
673
666
|
class TagsUser:
|
674
667
|
"""Tags user data."""
|
@@ -1255,3 +1248,387 @@ class TaskPriority(Enum):
|
|
1255
1248
|
EASY = 1
|
1256
1249
|
MEDIUM = 1.5
|
1257
1250
|
HARD = 2
|
1251
|
+
|
1252
|
+
|
1253
|
+
@dataclass
|
1254
|
+
class AchievmentContent:
|
1255
|
+
"""Achievment content data."""
|
1256
|
+
|
1257
|
+
icon: str
|
1258
|
+
key: str
|
1259
|
+
titleKey: str | None = None
|
1260
|
+
textKey: str | None = None
|
1261
|
+
singularTitleKey: str | None = None
|
1262
|
+
singularTextKey: str | None = None
|
1263
|
+
pluralTitleKey: str | None = None
|
1264
|
+
pluralTextKey: str | None = None
|
1265
|
+
|
1266
|
+
|
1267
|
+
@dataclass
|
1268
|
+
class AnimalColorAchievementContent:
|
1269
|
+
"""animalColorAchievement content data."""
|
1270
|
+
|
1271
|
+
color: str
|
1272
|
+
petAchievement: str
|
1273
|
+
petNotificationType: str
|
1274
|
+
mountAchievement: str
|
1275
|
+
mountNotificationType: str
|
1276
|
+
|
1277
|
+
|
1278
|
+
@dataclass
|
1279
|
+
class AnimalSetAchievementContent:
|
1280
|
+
"""animalSetAchievements content data."""
|
1281
|
+
|
1282
|
+
Type: str = field(metadata=field_options(alias="type"))
|
1283
|
+
species: list[str]
|
1284
|
+
achievementKey: str
|
1285
|
+
notificationType: str
|
1286
|
+
|
1287
|
+
|
1288
|
+
@dataclass
|
1289
|
+
class StableAchievementContent:
|
1290
|
+
"""stableAchievements content data."""
|
1291
|
+
|
1292
|
+
masterAchievement: str
|
1293
|
+
masterNotificationType: str
|
1294
|
+
|
1295
|
+
|
1296
|
+
@dataclass
|
1297
|
+
class PetSetCompleteAchievsContent:
|
1298
|
+
"""petSetCompleteAchievs content data."""
|
1299
|
+
|
1300
|
+
color: str
|
1301
|
+
petAchievement: str
|
1302
|
+
petNotificationType: str
|
1303
|
+
|
1304
|
+
|
1305
|
+
@dataclass
|
1306
|
+
class QuestBossRage:
|
1307
|
+
"""QuestBossRage content data."""
|
1308
|
+
|
1309
|
+
title: str
|
1310
|
+
description: str
|
1311
|
+
value: float
|
1312
|
+
effect: str | None = None
|
1313
|
+
healing: float | None = None
|
1314
|
+
|
1315
|
+
|
1316
|
+
@dataclass
|
1317
|
+
class QuestBoss:
|
1318
|
+
"""QuestBoss content data."""
|
1319
|
+
|
1320
|
+
name: str
|
1321
|
+
hp: float
|
1322
|
+
Str: float = field(metadata=field_options(alias="str"))
|
1323
|
+
Def: float = field(metadata=field_options(alias="def"))
|
1324
|
+
rage: QuestBossRage | None = None
|
1325
|
+
|
1326
|
+
|
1327
|
+
@dataclass
|
1328
|
+
class QuestItem:
|
1329
|
+
"""QuestItem content data."""
|
1330
|
+
|
1331
|
+
Type: str = field(metadata=field_options(alias="type"))
|
1332
|
+
key: str
|
1333
|
+
text: str
|
1334
|
+
|
1335
|
+
|
1336
|
+
@dataclass
|
1337
|
+
class QuestDrop:
|
1338
|
+
"""QuestDrop content data."""
|
1339
|
+
|
1340
|
+
gp: float
|
1341
|
+
exp: float
|
1342
|
+
items: list[QuestItem] | None = None
|
1343
|
+
|
1344
|
+
|
1345
|
+
@dataclass
|
1346
|
+
class QuestCollect:
|
1347
|
+
"""QuestCollect content data."""
|
1348
|
+
|
1349
|
+
text: str
|
1350
|
+
count: int
|
1351
|
+
|
1352
|
+
|
1353
|
+
@dataclass
|
1354
|
+
class QuestUnlockCondition:
|
1355
|
+
"""QuestUnlockCondition content data."""
|
1356
|
+
|
1357
|
+
condition: str
|
1358
|
+
text: str
|
1359
|
+
|
1360
|
+
|
1361
|
+
@dataclass
|
1362
|
+
class QuestsContent:
|
1363
|
+
"""petSetCompleteAchievs content data."""
|
1364
|
+
|
1365
|
+
text: str
|
1366
|
+
notes: str
|
1367
|
+
|
1368
|
+
completion: str
|
1369
|
+
category: str
|
1370
|
+
|
1371
|
+
drop: QuestDrop
|
1372
|
+
key: str
|
1373
|
+
goldValue: float | None = None
|
1374
|
+
value: float | None = None
|
1375
|
+
previous: str | None = None
|
1376
|
+
prereqQuests: list[str] | None = None
|
1377
|
+
collect: dict[str, QuestCollect] | None = None
|
1378
|
+
unlockCondition: QuestUnlockCondition | None = None
|
1379
|
+
boss: QuestBoss | None = None
|
1380
|
+
group: str | None = None
|
1381
|
+
|
1382
|
+
|
1383
|
+
@dataclass
|
1384
|
+
class ItemListEntry:
|
1385
|
+
"""ItemListEntry content data."""
|
1386
|
+
|
1387
|
+
localeKey: str
|
1388
|
+
isEquipment: bool
|
1389
|
+
|
1390
|
+
|
1391
|
+
@dataclass
|
1392
|
+
class ItemListContent:
|
1393
|
+
"""ItemListContent content data."""
|
1394
|
+
|
1395
|
+
weapon: ItemListEntry
|
1396
|
+
armor: ItemListEntry
|
1397
|
+
head: ItemListEntry
|
1398
|
+
shield: ItemListEntry
|
1399
|
+
back: ItemListEntry
|
1400
|
+
body: ItemListEntry
|
1401
|
+
headAccessory: ItemListEntry
|
1402
|
+
eyewear: ItemListEntry
|
1403
|
+
hatchingPotions: ItemListEntry
|
1404
|
+
premiumHatchingPotions: ItemListEntry
|
1405
|
+
eggs: ItemListEntry
|
1406
|
+
quests: ItemListEntry
|
1407
|
+
food: ItemListEntry
|
1408
|
+
Saddle: ItemListEntry
|
1409
|
+
bundles: ItemListEntry
|
1410
|
+
|
1411
|
+
|
1412
|
+
@dataclass
|
1413
|
+
class GearEntry:
|
1414
|
+
"""GearEntry content data."""
|
1415
|
+
|
1416
|
+
text: str
|
1417
|
+
notes: str
|
1418
|
+
Int: int = field(metadata=field_options(alias="int"))
|
1419
|
+
value: int
|
1420
|
+
Type: str = field(metadata=field_options(alias="type"))
|
1421
|
+
key: str
|
1422
|
+
Set: str = field(metadata=field_options(alias="set"))
|
1423
|
+
klass: str
|
1424
|
+
index: str
|
1425
|
+
Str: int = field(metadata=field_options(alias="str"))
|
1426
|
+
per: int
|
1427
|
+
con: int
|
1428
|
+
|
1429
|
+
|
1430
|
+
@dataclass
|
1431
|
+
class GearClass:
|
1432
|
+
"""GearClass content data."""
|
1433
|
+
|
1434
|
+
base: dict[str, GearEntry] | None = None
|
1435
|
+
warrior: dict[str, GearEntry] | None = None
|
1436
|
+
wizard: dict[str, GearEntry] | None = None
|
1437
|
+
rogue: dict[str, GearEntry] | None = None
|
1438
|
+
special: dict[str, GearEntry] | None = None
|
1439
|
+
armoire: dict[str, GearEntry] | None = None
|
1440
|
+
mystery: dict[str, GearEntry] | None = None
|
1441
|
+
healer: dict[str, GearEntry] | None = None
|
1442
|
+
|
1443
|
+
|
1444
|
+
@dataclass
|
1445
|
+
class GearType:
|
1446
|
+
"""GearType content data."""
|
1447
|
+
|
1448
|
+
weapon: GearClass
|
1449
|
+
armor: GearClass
|
1450
|
+
head: GearClass
|
1451
|
+
shield: GearClass
|
1452
|
+
back: GearClass
|
1453
|
+
body: GearClass
|
1454
|
+
headAccessory: GearClass
|
1455
|
+
eyewear: GearClass
|
1456
|
+
|
1457
|
+
|
1458
|
+
@dataclass
|
1459
|
+
class GearContent:
|
1460
|
+
"""GearContent content data."""
|
1461
|
+
|
1462
|
+
tree: GearType
|
1463
|
+
flat: dict[str, GearEntry]
|
1464
|
+
|
1465
|
+
|
1466
|
+
@dataclass
|
1467
|
+
class SpellEntry:
|
1468
|
+
"""SpellEntry content data."""
|
1469
|
+
|
1470
|
+
text: str
|
1471
|
+
mana: int
|
1472
|
+
target: str
|
1473
|
+
notes: str
|
1474
|
+
key: str
|
1475
|
+
previousPurchase: bool | None = None
|
1476
|
+
limited: bool | None = None
|
1477
|
+
lvl: int | None = None
|
1478
|
+
value: int | None = None
|
1479
|
+
immediateUse: bool | None = None
|
1480
|
+
purchaseType: str | None = None
|
1481
|
+
silent: bool | None = None
|
1482
|
+
|
1483
|
+
|
1484
|
+
@dataclass
|
1485
|
+
class SpellsClass:
|
1486
|
+
"""SpellsClass content data."""
|
1487
|
+
|
1488
|
+
wizard: dict[str, SpellEntry]
|
1489
|
+
warrior: dict[str, SpellEntry]
|
1490
|
+
rogue: dict[str, SpellEntry]
|
1491
|
+
healer: dict[str, SpellEntry]
|
1492
|
+
special: dict[str, SpellEntry]
|
1493
|
+
|
1494
|
+
|
1495
|
+
@dataclass
|
1496
|
+
class CarTypes:
|
1497
|
+
"""CarTypes content data."""
|
1498
|
+
|
1499
|
+
key: str
|
1500
|
+
messageOptions: int
|
1501
|
+
yearRound: bool = False
|
1502
|
+
|
1503
|
+
|
1504
|
+
@dataclass
|
1505
|
+
class SpecialItemEntry:
|
1506
|
+
"""Item content data."""
|
1507
|
+
|
1508
|
+
key: str | None = None
|
1509
|
+
text: str | None = None
|
1510
|
+
notes: str | None = None
|
1511
|
+
immediateUse: bool | None = None
|
1512
|
+
limited: bool | None = None
|
1513
|
+
mana: int | None = None
|
1514
|
+
previousPurchase: bool | None = None
|
1515
|
+
purchaseType: str | None = None
|
1516
|
+
silent: bool | None = None
|
1517
|
+
target: str | None = None
|
1518
|
+
value: int | None = None
|
1519
|
+
|
1520
|
+
|
1521
|
+
@dataclass
|
1522
|
+
class EggEntry:
|
1523
|
+
"""Egg content data."""
|
1524
|
+
|
1525
|
+
text: str | None = None
|
1526
|
+
mountText: str | None = None
|
1527
|
+
adjective: str | None = None
|
1528
|
+
value: int | None = None
|
1529
|
+
key: str | None = None
|
1530
|
+
notes: str | None = None
|
1531
|
+
|
1532
|
+
|
1533
|
+
@dataclass
|
1534
|
+
class HatchingPotionEntry:
|
1535
|
+
"""Hatching potion content data."""
|
1536
|
+
|
1537
|
+
value: int | None = None
|
1538
|
+
key: str | None = None
|
1539
|
+
text: str | None = None
|
1540
|
+
notes: str | None = None
|
1541
|
+
premium: bool | None = None
|
1542
|
+
limited: bool | None = None
|
1543
|
+
_addlNotes: str | None = None
|
1544
|
+
wacky: bool | None = None
|
1545
|
+
|
1546
|
+
|
1547
|
+
@dataclass
|
1548
|
+
class PetEntry:
|
1549
|
+
"""Pet content data."""
|
1550
|
+
|
1551
|
+
key: str | None = None
|
1552
|
+
Type: str | None = field(default=None, metadata=field_options(alias="type"))
|
1553
|
+
potion: str | None = None
|
1554
|
+
egg: str | None = None
|
1555
|
+
text: str | None = None
|
1556
|
+
|
1557
|
+
|
1558
|
+
@dataclass
|
1559
|
+
class InventoryItemEntry:
|
1560
|
+
"""Inventory item content data."""
|
1561
|
+
|
1562
|
+
text: str | None = None
|
1563
|
+
textA: str | None = None
|
1564
|
+
textThe: str | None = None
|
1565
|
+
target: str | None = None
|
1566
|
+
value: int | None = None
|
1567
|
+
key: str | None = None
|
1568
|
+
notes: str | None = None
|
1569
|
+
canDrop: bool | None = None
|
1570
|
+
|
1571
|
+
|
1572
|
+
@dataclass
|
1573
|
+
class ContentData:
|
1574
|
+
"""Content data."""
|
1575
|
+
|
1576
|
+
achievements: dict[str, AchievmentContent]
|
1577
|
+
questSeriesAchievements: dict[str, list[str]]
|
1578
|
+
animalColorAchievements: list[AnimalColorAchievementContent]
|
1579
|
+
animalSetAchievements: dict[str, AnimalSetAchievementContent]
|
1580
|
+
stableAchievements: dict[str, StableAchievementContent]
|
1581
|
+
petSetCompleteAchievs: list[PetSetCompleteAchievsContent]
|
1582
|
+
quests: dict[str, QuestsContent]
|
1583
|
+
questsByLevel: list[QuestsContent]
|
1584
|
+
userCanOwnQuestCategories: list[str]
|
1585
|
+
itemList: ItemListContent
|
1586
|
+
gear: GearContent
|
1587
|
+
spells: SpellsClass
|
1588
|
+
audioThemes: list[str]
|
1589
|
+
# mystery
|
1590
|
+
officialPinnedItems: list
|
1591
|
+
# bundles
|
1592
|
+
# potion
|
1593
|
+
# armoire
|
1594
|
+
# events
|
1595
|
+
# repeatingEvents
|
1596
|
+
classes: list[str]
|
1597
|
+
gearTypes: list[str]
|
1598
|
+
cardTypes: dict[str, CarTypes]
|
1599
|
+
special: dict[str, SpecialItemEntry]
|
1600
|
+
dropEggs: dict[str, EggEntry]
|
1601
|
+
questEggs: dict[str, EggEntry]
|
1602
|
+
eggs: dict[str, EggEntry]
|
1603
|
+
# timeTravelStable
|
1604
|
+
dropHatchingPotions: dict[str, HatchingPotionEntry]
|
1605
|
+
premiumHatchingPotions: dict[str, HatchingPotionEntry]
|
1606
|
+
wackyHatchingPotions: dict[str, HatchingPotionEntry]
|
1607
|
+
hatchingPotions: dict[str, HatchingPotionEntry]
|
1608
|
+
pets: dict[str, bool]
|
1609
|
+
premiumPets: dict[str, bool]
|
1610
|
+
questPets: dict[str, bool]
|
1611
|
+
specialPets: dict[str, str]
|
1612
|
+
wackyPets: dict[str, bool]
|
1613
|
+
petInfo: dict[str, PetEntry]
|
1614
|
+
mounts: dict[str, bool]
|
1615
|
+
premiumMounts: dict[str, bool]
|
1616
|
+
questMounts: dict[str, bool]
|
1617
|
+
specialMounts: dict[str, str]
|
1618
|
+
mountInfo: dict[str, PetEntry]
|
1619
|
+
food: dict[str, InventoryItemEntry]
|
1620
|
+
# appearances
|
1621
|
+
# backgrounds
|
1622
|
+
# backgroundsFlat
|
1623
|
+
# userDefaults
|
1624
|
+
# tasksByCategory
|
1625
|
+
# userDefaultsMobile
|
1626
|
+
# faq
|
1627
|
+
# loginIncentives
|
1628
|
+
|
1629
|
+
|
1630
|
+
@dataclass
|
1631
|
+
class HabiticaContentResponse(HabiticaResponse):
|
1632
|
+
"""Representation of a content response."""
|
1633
|
+
|
1634
|
+
data: ContentData
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# serializer version: 1
|
2
|
+
# name: test_login
|
3
|
+
HabiticaLoginResponse(data=LoginData(id=UUID('a380546a-94be-4b8e-8a0b-23e0d5c03303'), apiToken='cd0e5985-17de-4b4f-849e-5d506c5e4382', newUser=False, username='test-username', passwordResetCode=None), success=True, notifications=[], userV=None, appVersion='5.30.0')
|
4
|
+
# ---
|
5
|
+
# name: test_user
|
6
|
+
HabiticaUserResponse(data=UserData(id=UUID('c18e1853-bded-47a9-82e2-adfdad08894d'), preferences=PreferencesUser(hair=HairPreferences(color='red', base=3, bangs=1, beard=0, mustache=0, flower=1), emailNotifications=EmailNotificationsPreferences(unsubscribeFromAll=False, newPM=True, kickedGroup=True, wonChallenge=True, giftedGems=True, giftedSubscription=True, invitedParty=True, invitedGuild=True, questStarted=True, invitedQuest=True, importantAnnouncements=True, weeklyRecaps=True, onboarding=True, majorUpdates=True, subscriptionReminders=True, contentRelease=True), pushNotifications=PushNotificationsPreferences(unsubscribeFromAll=False, newPM=True, wonChallenge=True, giftedGems=True, giftedSubscription=True, invitedParty=True, invitedGuild=True, questStarted=True, invitedQuest=True, majorUpdates=True, mentionParty=True, mentionJoinedGuild=True, mentionUnjoinedGuild=True, partyActivity=True, contentRelease=True), suppressModals=SuppressModalsPreferences(levelUp=False, hatchPet=False, raisePet=False, streak=False), tasks=TasksPreferences(activeFilter=ActiveFilterTask(habit='all', daily='all', todo='remaining', reward='all'), groupByChallenge=False, confirmScoreNotes=False, mirrorGroupTasks=[]), dayStart=0, size='slim', hideHeader=False, skin='915533', shirt='blue', timezoneOffset=-120, sound='rosstavoTheme', chair='none', allocationMode='flat', autoEquip=True, costume=False, dateFormat='MM/dd/yyyy', sleep=False, stickyHeader=True, disableClasses=False, newTaskEdit=False, dailyDueDefaultView=False, advancedCollapsed=False, toolbarCollapsed=False, reverseChatOrder=False, developerMode=False, displayInviteToPartyWhenPartyIs1=True, background='violet', automaticAllocation=None, webhooks={}, improvementCategories=[], timezoneOffsetAtLastCron=None, language=<Language.DE: 'de'>), flags=FlagsUser(customizationsNotification=False, tour=TourFlags(intro=-1, classes=-1, stats=-1, tavern=-1, party=-1, guilds=-1, challenges=-1, market=-1, pets=-1, mounts=-1, hall=-1, equipment=-1, groupPlans=-1), showTour=True, tutorial=TutorialFlags(common=CommonTutorial(habits=True, dailies=True, todos=True, rewards=True, party=True, pets=True, gems=True, skills=True, classes=True, tavern=True, equipment=True, items=True, mounts=True, inbox=True, stats=True), ios=IosTutorial(addTask=False, editTask=False, deleteTask=False, filterTask=False, groupPets=False, inviteParty=False, reorderTask=False)), dropsEnabled=False, itemsEnabled=False, lastNewStuffRead='', rewrite=True, classSelected=False, rebirthEnabled=False, levelDrops={}, recaptureEmailsPhase=0, weeklyRecapEmailsPhase=0, lastWeeklyRecap=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), communityGuidelinesAccepted=False, cronCount=0, welcomed=True, armoireEnabled=True, armoireOpened=False, armoireEmpty=False, cardReceived=False, warnedLowHealth=False, verifiedUsername=True, newStuff=False, thirdPartyTools=None, mathUpdates=None, lastFreeRebirth=None, chatRevoked=None, chatShadowMuted=None, lastWeeklyRecapDiscriminator=None, onboardingEmailsPhase=None), auth=AuthUser(local=LocalAuth(email='test@example.com', username='test', lowerCaseUsername='test', has_password=True), timestamps=LocalTimestamps(created=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), loggedin=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), updated=datetime.datetime(2024, 10, 19, 18, 44, 51, 37000, tzinfo=datetime.timezone.utc)), facebook={}, google={}, apple={}), achievements=AchievementsUser(ultimateGearSets=UltimateGearSetsAchievments(healer=False, wizard=False, rogue=False, warrior=False), streak=0, challenges=[], perfect=0, quests=QuestsAchievments(bewilder=None, burnout=None, stressbeast=None, harpy=None, atom3=None, vice3=None, vice1=None, gryphon=None, evilsanta2=None, evilsanta=None, dilatory_derby=None, dilatory=None, atom2=None, atom1=None, dysheartener=None), backToBasics=None, dustDevil=None, primedForPainting=None, completedTask=None, createdTask=None, fedPet=None, hatchedPet=None, purchasedEquipment=None, tickledPink=None, goodAsGold=None, boneCollector=None, seeingRed=None, violetsAreBlue=None, shadyCustomer=None, joinedGuild=None, joinedChallenge=None, partyUp=None), backer=BackerUser(tier=None, npc=None, tokensApplied=None), contributor=ContributorUser(contributions=None, level=None, text=None), permissions=PermissionsUser(fullAccess=None, news=None, userSupport=None, challengeAdmin=None, moderator=None, coupons=None), purchased=PurchasedUser(plan=PlanPurchased(consecutive=ConsecutivePlan(trinkets=0, gemCapExtra=0, offset=0, count=0), mysteryItems=[], gemsBought=0, extraMonths=0, dateUpdated=None, perkMonthCount=-1, quantity=1), txnCount=0, background={'violet': True}, shirt={}, hair={}, skin={}, ads=False, mobileChat=None), history=HistoryUser(todos=[], exp=[]), items=ItemsUser(gear=GearItems(equipped=EquippedGear(weapon='weapon_special_fall2024Warrior', armor='armor_special_fall2024Warrior', head='head_special_fall2024Warrior', shield='shield_special_fall2024Warrior', back='back_mystery_201402', headAccessory='headAccessory_special_pinkHeadband', eyewear='eyewear_special_pinkHalfMoon', body='body_mystery_202003'), costume=EquippedGear(weapon=None, armor='armor_base_0', head='head_base_0', shield='shield_base_0', back=None, headAccessory=None, eyewear=None, body=None), owned={'headAccessory_special_blackHeadband': True, 'headAccessory_special_blueHeadband': True, 'headAccessory_special_greenHeadband': True, 'headAccessory_special_pinkHeadband': True, 'headAccessory_special_redHeadband': True, 'headAccessory_special_whiteHeadband': True, 'headAccessory_special_yellowHeadband': True, 'eyewear_special_blackTopFrame': True, 'eyewear_special_blueTopFrame': True, 'eyewear_special_greenTopFrame': True, 'eyewear_special_pinkTopFrame': True, 'eyewear_special_redTopFrame': True, 'eyewear_special_whiteTopFrame': True, 'eyewear_special_yellowTopFrame': True, 'eyewear_special_blackHalfMoon': True, 'eyewear_special_blueHalfMoon': True, 'eyewear_special_greenHalfMoon': True, 'eyewear_special_pinkHalfMoon': True, 'eyewear_special_redHalfMoon': True, 'eyewear_special_whiteHalfMoon': True, 'eyewear_special_yellowHalfMoon': True}), special=SpecialItems(birthdayReceived=[], birthday=0, thankyouReceived=[], thankyou=0, greetingReceived=[], greeting=0, nyeReceived=[], nye=0, valentineReceived=[], valentine=0, seafoam=0, shinySeed=0, spookySparkles=0, snowball=0, congrats=0, congratsReceived=[], getwell=0, getwellReceived=[], goodluck=0, goodluckReceived=[]), lastDrop=LastDropItems(count=0, date=datetime.datetime(2024, 10, 19, 18, 43, 39, 784000, tzinfo=datetime.timezone.utc)), currentMount='Velociraptor-Base', currentPet='Rat-Shade', quests={'dustbunnies': 1}, mounts={}, food={}, hatchingPotions={}, eggs={}, pets={}), invitations=InvitationsUser(party={}, guilds=[], parties=[]), party=PartyUser(quest=QuestParty(progress=ProgressQuest(up=0.0, down=0.0, collect={}, collectedItems=0), RSVPNeeded=False, key=None, completed=None), order='level', orderAscending='ascending', _id=None), profile=ProfileUser(blurb=None, imageUrl=None, name='test'), stats=StatsUser(buffs=BuffsStats(Str=0, per=0, con=0, stealth=0, streaks=False, seafoam=False, shinySeed=False, snowball=False, spookySparkles=False, Int=0), training=TrainingStats(Str=0.0, per=0, con=0, Int=0), hp=50.0, mp=10.0, exp=0, gp=0.0, lvl=1, Class=<HabiticaClass.WARRIOR: 'warrior'>, points=0, Str=0, con=0, per=0, toNextLevel=25, maxHealth=50, maxMP=30, Int=0), notifications=[], tags=[TagsUser(id=UUID('5358c71f-fe0f-4583-84a3-109b70c699fd'), name='Arbeit', challenge=None, group=None), TagsUser(id=UUID('45870b8b-3e1e-4e13-a722-6afcacdf689f'), name='Training', challenge=None, group=None), TagsUser(id=UUID('3e49b9db-0cc5-4070-b860-e16f1e4806a4'), name='Gesundheit + Wohlbefinden', challenge=None, group=None), TagsUser(id=UUID('0d85319e-7b9c-43e2-81ed-2a706521d5e3'), name='Schule', challenge=None, group=None), TagsUser(id=UUID('b7cf86bf-97ac-42d3-b5d0-5ffe998b62b4'), name='Teams', challenge=None, group=None), TagsUser(id=UUID('c584d792-0a9b-4646-a6ca-a67bb6ef3c36'), name='Hausarbeiten', challenge=None, group=None), TagsUser(id=UUID('0602fd13-edf2-46a7-99c0-c5084046efbb'), name='Kreativität', challenge=None, group=None)], inbox=InboxUser(newMessages=0, optOut=False, blocks=[], messages={}), tasksOrder=TasksOrderUser(habits=[UUID('21b10675-e238-4462-be11-1a4f8012fc9c'), UUID('69909140-a920-4b83-b018-b9156760aca3'), UUID('7e0679cf-e9cd-4604-b429-d061ea16ce72'), UUID('270df162-d47d-488b-9c1d-4fc4f0e2b2d2'), UUID('80ad00b5-622e-4d1a-af4d-6a6c199f3571'), UUID('0712669d-8374-4211-84ea-715cbcbae9c1'), UUID('56dee98d-038a-43f3-a514-59b1ed9a52ee'), UUID('25df4765-754c-47b1-a011-83b31f70c4fb')], dailys=[UUID('e22e9ef0-15be-478a-81c7-f9fdbb4fac10'), UUID('2a74baa2-3acd-426c-bce4-6b4bb145a8d5'), UUID('e18d0899-7c59-41c0-affd-318b8850c3e5'), UUID('3d0cecac-73c1-462b-ab39-a39cea107e6b'), UUID('1ed21cd0-e6f5-4707-b1b4-fb376d462387'), UUID('9117ad5e-2cda-43e0-a07c-0b175d32c0eb')], todos=[UUID('ac13c62c-9375-4809-a357-0e42b01a1b43'), UUID('2388ccad-0387-4ea6-9968-2d10d994e903'), UUID('5c6efb91-6ae3-4cad-8b19-2dd2fc52a965'), UUID('80afe0b9-e367-4473-8117-b8bc7115f54a'), UUID('4cc21c36-886c-4a43-b580-877e958a37fd'), UUID('10a45996-7133-4ca1-84d8-abf1093d9dcc'), UUID('fb867459-ae50-4cee-9017-c13206c6dfa2')], rewards=[UUID('4b18ccf6-3934-43a5-a153-31af8b2a36d9')]), extra={}, pushDevices=[], webhooks=[], loginIncentives=0, invitesSent=0, pinnedItems=[PinnedItemsUser(path='gear.flat.weapon_warrior_0', Type='marketGear'), PinnedItemsUser(path='gear.flat.armor_warrior_1', Type='marketGear'), PinnedItemsUser(path='gear.flat.shield_warrior_1', Type='marketGear'), PinnedItemsUser(path='gear.flat.head_warrior_1', Type='marketGear'), PinnedItemsUser(path='potion', Type='potion'), PinnedItemsUser(path='armoire', Type='armoire')], pinnedItemsOrder=[], unpinnedItems=[], secret=None, balance=0.0, lastCron=datetime.datetime(2024, 10, 19, 18, 43, 39, 784000, tzinfo=datetime.timezone.utc), needsCron=False, challenges=[], guilds=[], newMessages={}), success=True, notifications=[], userV=5, appVersion='5.28.8')
|
7
|
+
# ---
|
@@ -1,7 +0,0 @@
|
|
1
|
-
# serializer version: 1
|
2
|
-
# name: test_login
|
3
|
-
HabiticaLoginResponse(data=LoginData(id=UUID('a380546a-94be-4b8e-8a0b-23e0d5c03303'), apiToken='cd0e5985-17de-4b4f-849e-5d506c5e4382', newUser=False, username='test-username', passwordResetCode=None), success=True, notifications=[], userV=None, appVersion='5.30.0')
|
4
|
-
# ---
|
5
|
-
# name: test_user
|
6
|
-
HabiticaUserResponse(data=UserData(id=UUID('c18e1853-bded-47a9-82e2-adfdad08894d'), preferences=PreferencesUser(hair=HairPreferences(color='red', base=3, bangs=1, beard=0, mustache=0, flower=1), emailNotifications=EmailNotificationsPreferences(unsubscribeFromAll=False, newPM=True, kickedGroup=True, wonChallenge=True, giftedGems=True, giftedSubscription=True, invitedParty=True, invitedGuild=True, questStarted=True, invitedQuest=True, importantAnnouncements=True, weeklyRecaps=True, onboarding=True, majorUpdates=True, subscriptionReminders=True, contentRelease=True), pushNotifications=PushNotificationsPreferences(unsubscribeFromAll=False, newPM=True, wonChallenge=True, giftedGems=True, giftedSubscription=True, invitedParty=True, invitedGuild=True, questStarted=True, invitedQuest=True, majorUpdates=True, mentionParty=True, mentionJoinedGuild=True, mentionUnjoinedGuild=True, partyActivity=True, contentRelease=True), suppressModals=SuppressModalsPreferences(levelUp=False, hatchPet=False, raisePet=False, streak=False), tasks=TasksPreferences(activeFilter=ActiveFilterTask(habit='all', daily='all', todo='remaining', reward='all'), groupByChallenge=False, confirmScoreNotes=False, mirrorGroupTasks=[]), dayStart=0, size='slim', hideHeader=False, skin='915533', shirt='blue', timezoneOffset=-120, sound='rosstavoTheme', chair='none', allocationMode='flat', autoEquip=True, costume=False, dateFormat='MM/dd/yyyy', sleep=False, stickyHeader=True, disableClasses=False, newTaskEdit=False, dailyDueDefaultView=False, advancedCollapsed=False, toolbarCollapsed=False, reverseChatOrder=False, developerMode=False, displayInviteToPartyWhenPartyIs1=True, background='violet', automaticAllocation=None, webhooks={}, improvementCategories=[], timezoneOffsetAtLastCron=None, language='de'), flags=FlagsUser(customizationsNotification=False, tour=TourFlags(intro=-1, classes=-1, stats=-1, tavern=-1, party=-1, guilds=-1, challenges=-1, market=-1, pets=-1, mounts=-1, hall=-1, equipment=-1, groupPlans=-1), showTour=True, tutorial=TutorialFlags(common=CommonTutorial(habits=True, dailies=True, todos=True, rewards=True, party=True, pets=True, gems=True, skills=True, classes=True, tavern=True, equipment=True, items=True, mounts=True, inbox=True, stats=True), ios=IosTutorial(addTask=False, editTask=False, deleteTask=False, filterTask=False, groupPets=False, inviteParty=False, reorderTask=False)), dropsEnabled=False, itemsEnabled=False, lastNewStuffRead='', rewrite=True, classSelected=False, rebirthEnabled=False, levelDrops={}, recaptureEmailsPhase=0, weeklyRecapEmailsPhase=0, lastWeeklyRecap=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), communityGuidelinesAccepted=False, cronCount=0, welcomed=True, armoireEnabled=True, armoireOpened=False, armoireEmpty=False, cardReceived=False, warnedLowHealth=False, verifiedUsername=True, newStuff=False, thirdPartyTools=None, mathUpdates=None, lastFreeRebirth=None, chatRevoked=None, chatShadowMuted=None, lastWeeklyRecapDiscriminator=None, onboardingEmailsPhase=None), auth=AuthUser(local=LocalAuth(email='test@example.com', username='test', lowerCaseUsername='test', has_password=True), timestamps=LocalTimestamps(created=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), loggedin=datetime.datetime(2024, 10, 19, 18, 43, 39, 782000, tzinfo=datetime.timezone.utc), updated=datetime.datetime(2024, 10, 19, 18, 44, 51, 37000, tzinfo=datetime.timezone.utc)), facebook={}, google={}, apple={}), achievements=AchievementsUser(ultimateGearSets=UltimateGearSetsAchievments(healer=False, wizard=False, rogue=False, warrior=False), streak=0, challenges=[], perfect=0, quests=QuestsAchievments(bewilder=None, burnout=None, stressbeast=None, harpy=None, atom3=None, vice3=None, vice1=None, gryphon=None, evilsanta2=None, evilsanta=None, dilatory_derby=None, dilatory=None, atom2=None, atom1=None, dysheartener=None), backToBasics=None, dustDevil=None, primedForPainting=None, completedTask=None, createdTask=None, fedPet=None, hatchedPet=None, purchasedEquipment=None, tickledPink=None, goodAsGold=None, boneCollector=None, seeingRed=None, violetsAreBlue=None, shadyCustomer=None, joinedGuild=None, joinedChallenge=None, partyUp=None), backer=BackerUser(tier=None, npc=None, tokensApplied=None), contributor=ContributorUser(contributions=None, level=None, text=None), permissions=PermissionsUser(fullAccess=None, news=None, userSupport=None, challengeAdmin=None, moderator=None, coupons=None), purchased=PurchasedUser(plan=PlanPurchased(consecutive=ConsecutivePlan(trinkets=0, gemCapExtra=0, offset=0, count=0), mysteryItems=[], gemsBought=0, extraMonths=0, dateUpdated=None, perkMonthCount=-1, quantity=1), txnCount=0, background={'violet': True}, shirt={}, hair={}, skin={}, ads=False, mobileChat=None), history=HistoryUser(todos=[], exp=[]), items=ItemsUser(gear=GearItems(equipped=EquippedGear(weapon='weapon_special_fall2024Warrior', armor='armor_special_fall2024Warrior', head='head_special_fall2024Warrior', shield='shield_special_fall2024Warrior', back='back_mystery_201402', headAccessory='headAccessory_special_pinkHeadband', eyewear='eyewear_special_pinkHalfMoon', body='body_mystery_202003'), costume=EquippedGear(weapon=None, armor='armor_base_0', head='head_base_0', shield='shield_base_0', back=None, headAccessory=None, eyewear=None, body=None), owned={'headAccessory_special_blackHeadband': True, 'headAccessory_special_blueHeadband': True, 'headAccessory_special_greenHeadband': True, 'headAccessory_special_pinkHeadband': True, 'headAccessory_special_redHeadband': True, 'headAccessory_special_whiteHeadband': True, 'headAccessory_special_yellowHeadband': True, 'eyewear_special_blackTopFrame': True, 'eyewear_special_blueTopFrame': True, 'eyewear_special_greenTopFrame': True, 'eyewear_special_pinkTopFrame': True, 'eyewear_special_redTopFrame': True, 'eyewear_special_whiteTopFrame': True, 'eyewear_special_yellowTopFrame': True, 'eyewear_special_blackHalfMoon': True, 'eyewear_special_blueHalfMoon': True, 'eyewear_special_greenHalfMoon': True, 'eyewear_special_pinkHalfMoon': True, 'eyewear_special_redHalfMoon': True, 'eyewear_special_whiteHalfMoon': True, 'eyewear_special_yellowHalfMoon': True}), special=SpecialItems(birthdayReceived=[], birthday=0, thankyouReceived=[], thankyou=0, greetingReceived=[], greeting=0, nyeReceived=[], nye=0, valentineReceived=[], valentine=0, seafoam=0, shinySeed=0, spookySparkles=0, snowball=0, congrats=0, congratsReceived=[], getwell=0, getwellReceived=[], goodluck=0, goodluckReceived=[]), lastDrop=LastDropItems(count=0, date=datetime.datetime(2024, 10, 19, 18, 43, 39, 784000, tzinfo=datetime.timezone.utc)), currentMount='Velociraptor-Base', currentPet='Rat-Shade', quests={'dustbunnies': 1}, mounts={}, food={}, hatchingPotions={}, eggs={}, pets={}), invitations=InvitationsUser(party={}, guilds=[], parties=[]), party=PartyUser(quest=QuestParty(progress=ProgressQuest(up=0.0, down=0.0, collect={}, collectedItems=0), RSVPNeeded=False, key=None, completed=None), order='level', orderAscending='ascending', _id=None), profile=ProfileUser(blurb=None, imageUrl=None, name='test'), stats=StatsUser(buffs=BuffsStats(Str=0, per=0, con=0, stealth=0, streaks=False, seafoam=False, shinySeed=False, snowball=False, spookySparkles=False, Int=0), training=TrainingStats(Str=0.0, per=0, con=0, Int=0), hp=50.0, mp=10.0, exp=0, gp=0.0, lvl=1, Class=<HabiticaClass.WARRIOR: 'warrior'>, points=0, Str=0, con=0, per=0, toNextLevel=25, maxHealth=50, maxMP=30, Int=0), notifications=[], tags=[TagsUser(id=UUID('5358c71f-fe0f-4583-84a3-109b70c699fd'), name='Arbeit', challenge=None, group=None), TagsUser(id=UUID('45870b8b-3e1e-4e13-a722-6afcacdf689f'), name='Training', challenge=None, group=None), TagsUser(id=UUID('3e49b9db-0cc5-4070-b860-e16f1e4806a4'), name='Gesundheit + Wohlbefinden', challenge=None, group=None), TagsUser(id=UUID('0d85319e-7b9c-43e2-81ed-2a706521d5e3'), name='Schule', challenge=None, group=None), TagsUser(id=UUID('b7cf86bf-97ac-42d3-b5d0-5ffe998b62b4'), name='Teams', challenge=None, group=None), TagsUser(id=UUID('c584d792-0a9b-4646-a6ca-a67bb6ef3c36'), name='Hausarbeiten', challenge=None, group=None), TagsUser(id=UUID('0602fd13-edf2-46a7-99c0-c5084046efbb'), name='Kreativität', challenge=None, group=None)], inbox=InboxUser(newMessages=0, optOut=False, blocks=[], messages={}), tasksOrder=TasksOrderUser(habits=[UUID('21b10675-e238-4462-be11-1a4f8012fc9c'), UUID('69909140-a920-4b83-b018-b9156760aca3'), UUID('7e0679cf-e9cd-4604-b429-d061ea16ce72'), UUID('270df162-d47d-488b-9c1d-4fc4f0e2b2d2'), UUID('80ad00b5-622e-4d1a-af4d-6a6c199f3571'), UUID('0712669d-8374-4211-84ea-715cbcbae9c1'), UUID('56dee98d-038a-43f3-a514-59b1ed9a52ee'), UUID('25df4765-754c-47b1-a011-83b31f70c4fb')], dailys=[UUID('e22e9ef0-15be-478a-81c7-f9fdbb4fac10'), UUID('2a74baa2-3acd-426c-bce4-6b4bb145a8d5'), UUID('e18d0899-7c59-41c0-affd-318b8850c3e5'), UUID('3d0cecac-73c1-462b-ab39-a39cea107e6b'), UUID('1ed21cd0-e6f5-4707-b1b4-fb376d462387'), UUID('9117ad5e-2cda-43e0-a07c-0b175d32c0eb')], todos=[UUID('ac13c62c-9375-4809-a357-0e42b01a1b43'), UUID('2388ccad-0387-4ea6-9968-2d10d994e903'), UUID('5c6efb91-6ae3-4cad-8b19-2dd2fc52a965'), UUID('80afe0b9-e367-4473-8117-b8bc7115f54a'), UUID('4cc21c36-886c-4a43-b580-877e958a37fd'), UUID('10a45996-7133-4ca1-84d8-abf1093d9dcc'), UUID('fb867459-ae50-4cee-9017-c13206c6dfa2')], rewards=[UUID('4b18ccf6-3934-43a5-a153-31af8b2a36d9')]), extra={}, pushDevices=[], webhooks=[], loginIncentives=0, invitesSent=0, pinnedItems=[PinnedItemsUser(path='gear.flat.weapon_warrior_0', Type='marketGear'), PinnedItemsUser(path='gear.flat.armor_warrior_1', Type='marketGear'), PinnedItemsUser(path='gear.flat.shield_warrior_1', Type='marketGear'), PinnedItemsUser(path='gear.flat.head_warrior_1', Type='marketGear'), PinnedItemsUser(path='potion', Type='potion'), PinnedItemsUser(path='armoire', Type='armoire')], pinnedItemsOrder=[], unpinnedItems=[], secret=None, balance=0.0, lastCron=datetime.datetime(2024, 10, 19, 18, 43, 39, 784000, tzinfo=datetime.timezone.utc), needsCron=False, challenges=[], guilds=[], newMessages={}), success=True, notifications=[], userV=5, appVersion='5.28.8')
|
7
|
-
# ---
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|