Skip to content

Instantly share code, notes, and snippets.

@Cheaterman
Created February 16, 2022 15:01
Show Gist options
  • Save Cheaterman/054c8df42739bef9685f137926102435 to your computer and use it in GitHub Desktop.
Save Cheaterman/054c8df42739bef9685f137926102435 to your computer and use it in GitHub Desktop.
component_data.py
from dataclasses import dataclass
component_type_names = [
'Spoiler',
'Hood',
'Roof',
'Sideskirt',
'Lamps',
'Nitro',
'Exhaust',
'Wheels',
'Stereo',
'Hydraulics',
'Front Bumper',
'Rear Bumper',
'Right Vent',
'Left Vent',
'Front Bullbar',
'Rear Bullbar',
]
@dataclass
class ComponentType:
id: int
name: str
@dataclass
class Component:
id: int
name: str
type: ComponentType
component_types = {
0: ComponentType(id=0, name='Spoiler'),
1: ComponentType(id=1, name='Hood'),
2: ComponentType(id=2, name='Roof'),
3: ComponentType(id=3, name='Sideskirt'),
4: ComponentType(id=4, name='Lamps'),
5: ComponentType(id=5, name='Nitro'),
6: ComponentType(id=6, name='Exhaust'),
7: ComponentType(id=7, name='Wheels'),
8: ComponentType(id=8, name='Stereo'),
9: ComponentType(id=9, name='Hydraulics'),
10: ComponentType(id=10, name='Front Bumper'),
11: ComponentType(id=11, name='Rear Bumper'),
12: ComponentType(id=12, name='Right Vent'),
13: ComponentType(id=13, name='Left Vent'),
14: ComponentType(id=14, name='Front Bullbar'),
15: ComponentType(id=15, name='Rear Bullbar'),
}
components = {
1000: Component(
id=1000,
name='Pro',
type=component_types[0],
),
1001: Component(
id=1001,
name='Win',
type=component_types[0],
),
1002: Component(
id=1002,
name='Drag',
type=component_types[0],
),
1003: Component(
id=1003,
name='Alpha',
type=component_types[0],
),
1004: Component(
id=1004,
name='Champ',
type=component_types[1],
),
1005: Component(
id=1005,
name='Fury',
type=component_types[1],
),
1006: Component(
id=1006,
name='Generic',
type=component_types[2],
),
1007: Component(
id=1007,
name='Generic',
type=component_types[3],
),
1008: Component(
id=1008,
name='5x',
type=component_types[5],
),
1009: Component(
id=1009,
name='2x',
type=component_types[5],
),
1010: Component(
id=1010,
name='10x',
type=component_types[5],
),
1011: Component(
id=1011,
name='Race',
type=component_types[1],
),
1012: Component(
id=1012,
name='Worx',
type=component_types[1],
),
1013: Component(
id=1013,
name='Round Fog',
type=component_types[4],
),
1014: Component(
id=1014,
name='Champ',
type=component_types[0],
),
1015: Component(
id=1015,
name='Race',
type=component_types[0],
),
1016: Component(
id=1016,
name='Worx',
type=component_types[0],
),
1017: Component(
id=1017,
name='Generic',
type=component_types[3],
),
1018: Component(
id=1018,
name='Upswept',
type=component_types[6],
),
1019: Component(
id=1019,
name='Twin',
type=component_types[6],
),
1020: Component(
id=1020,
name='Large',
type=component_types[6],
),
1021: Component(
id=1021,
name='Medium',
type=component_types[6],
),
1022: Component(
id=1022,
name='Small',
type=component_types[6],
),
1023: Component(
id=1023,
name='Fury',
type=component_types[0],
),
1024: Component(
id=1024,
name='Square Fog',
type=component_types[4],
),
1025: Component(
id=1025,
name='Offroad',
type=component_types[7],
),
1026: Component(
id=1026,
name='Alien',
type=component_types[3],
),
1027: Component(
id=1027,
name='Alien',
type=component_types[3],
),
1028: Component(
id=1028,
name='Alien',
type=component_types[6],
),
1029: Component(
id=1029,
name='X-Flow',
type=component_types[6],
),
1030: Component(
id=1030,
name='X-Flow',
type=component_types[3],
),
1031: Component(
id=1031,
name='X-Flow',
type=component_types[3],
),
1032: Component(
id=1032,
name='Alien',
type=component_types[2],
),
1033: Component(
id=1033,
name='X-Flow',
type=component_types[2],
),
1034: Component(
id=1034,
name='Alien',
type=component_types[6],
),
1035: Component(
id=1035,
name='X-Flow',
type=component_types[2],
),
1036: Component(
id=1036,
name='Alien',
type=component_types[3],
),
1037: Component(
id=1037,
name='X-Flow',
type=component_types[6],
),
1038: Component(
id=1038,
name='Alien',
type=component_types[2],
),
1039: Component(
id=1039,
name='X-Flow',
type=component_types[3],
),
1040: Component(
id=1040,
name='Alien',
type=component_types[3],
),
1041: Component(
id=1041,
name='X-Flow',
type=component_types[3],
),
1042: Component(
id=1042,
name='Chrome',
type=component_types[3],
),
1043: Component(
id=1043,
name='Slamin',
type=component_types[6],
),
1044: Component(
id=1044,
name='Chrome',
type=component_types[6],
),
1045: Component(
id=1045,
name='X-Flow',
type=component_types[6],
),
1046: Component(
id=1046,
name='Alien',
type=component_types[6],
),
1047: Component(
id=1047,
name='Alien',
type=component_types[3],
),
1048: Component(
id=1048,
name='X-Flow',
type=component_types[3],
),
1049: Component(
id=1049,
name='Alien',
type=component_types[0],
),
1050: Component(
id=1050,
name='X-Flow',
type=component_types[0],
),
1051: Component(
id=1051,
name='Alien',
type=component_types[3],
),
1052: Component(
id=1052,
name='X-Flow',
type=component_types[3],
),
1053: Component(
id=1053,
name='X-Flow',
type=component_types[2],
),
1054: Component(
id=1054,
name='Alien',
type=component_types[2],
),
1055: Component(
id=1055,
name='Alien',
type=component_types[2],
),
1056: Component(
id=1056,
name='Alien',
type=component_types[3],
),
1057: Component(
id=1057,
name='X-Flow',
type=component_types[3],
),
1058: Component(
id=1058,
name='Alien',
type=component_types[0],
),
1059: Component(
id=1059,
name='X-Flow',
type=component_types[6],
),
1060: Component(
id=1060,
name='X-Flow',
type=component_types[0],
),
1061: Component(
id=1061,
name='X-Flow',
type=component_types[2],
),
1062: Component(
id=1062,
name='Alien',
type=component_types[3],
),
1063: Component(
id=1063,
name='X-Flow',
type=component_types[3],
),
1064: Component(
id=1064,
name='Alien',
type=component_types[6],
),
1065: Component(
id=1065,
name='Alien',
type=component_types[6],
),
1066: Component(
id=1066,
name='X-Flow',
type=component_types[6],
),
1067: Component(
id=1067,
name='Alien',
type=component_types[2],
),
1068: Component(
id=1068,
name='X-Flow',
type=component_types[2],
),
1069: Component(
id=1069,
name='Alien',
type=component_types[3],
),
1070: Component(
id=1070,
name='X-Flow',
type=component_types[3],
),
1071: Component(
id=1071,
name='Alien',
type=component_types[3],
),
1072: Component(
id=1072,
name='X-Flow',
type=component_types[3],
),
1073: Component(
id=1073,
name='Shadow',
type=component_types[7],
),
1074: Component(
id=1074,
name='Mega',
type=component_types[7],
),
1075: Component(
id=1075,
name='Rimshine',
type=component_types[7],
),
1076: Component(
id=1076,
name='Wires',
type=component_types[7],
),
1077: Component(
id=1077,
name='Classic',
type=component_types[7],
),
1078: Component(
id=1078,
name='Twist',
type=component_types[7],
),
1079: Component(
id=1079,
name='Cutter',
type=component_types[7],
),
1080: Component(
id=1080,
name='Switch',
type=component_types[7],
),
1081: Component(
id=1081,
name='Grove',
type=component_types[7],
),
1082: Component(
id=1082,
name='Import',
type=component_types[7],
),
1083: Component(
id=1083,
name='Dollar',
type=component_types[7],
),
1084: Component(
id=1084,
name='Trance',
type=component_types[7],
),
1085: Component(
id=1085,
name='Atomic',
type=component_types[7],
),
1086: Component(
id=1086,
name='Stereo',
type=component_types[8],
),
1087: Component(
id=1087,
name='Hydraulics',
type=component_types[9],
),
1088: Component(
id=1088,
name='Alien',
type=component_types[2],
),
1089: Component(
id=1089,
name='X-Flow',
type=component_types[6],
),
1090: Component(
id=1090,
name='Alien',
type=component_types[3],
),
1091: Component(
id=1091,
name='X-Flow',
type=component_types[2],
),
1092: Component(
id=1092,
name='Alien',
type=component_types[6],
),
1093: Component(
id=1093,
name='X-Flow',
type=component_types[3],
),
1094: Component(
id=1094,
name='Alien',
type=component_types[3],
),
1095: Component(
id=1095,
name='X-Flow',
type=component_types[3],
),
1096: Component(
id=1096,
name='Ahab',
type=component_types[7],
),
1097: Component(
id=1097,
name='Virtual',
type=component_types[7],
),
1098: Component(
id=1098,
name='Access',
type=component_types[7],
),
1099: Component(
id=1099,
name='Chrome',
type=component_types[3],
),
1100: Component(
id=1100,
name='Chrome Grill',
type=component_types[14],
),
1101: Component(
id=1101,
name='Chrome Flames',
type=component_types[3],
),
1102: Component(
id=1102,
name='Chrome Strip',
type=component_types[3],
),
1103: Component(
id=1103,
name='Covertible',
type=component_types[2],
),
1104: Component(
id=1104,
name='Chrome',
type=component_types[6],
),
1105: Component(
id=1105,
name='Slamin',
type=component_types[6],
),
1106: Component(
id=1106,
name='Chrome Arches',
type=component_types[3],
),
1107: Component(
id=1107,
name='Chrome Strip',
type=component_types[3],
),
1108: Component(
id=1108,
name='Chrome Strip',
type=component_types[3],
),
1109: Component(
id=1109,
name='Chrome',
type=component_types[15],
),
1110: Component(
id=1110,
name='Slamin',
type=component_types[15],
),
1113: Component(
id=1113,
name='Chrome',
type=component_types[6],
),
1114: Component(
id=1114,
name='Slamin',
type=component_types[6],
),
1115: Component(
id=1115,
name='Chrome',
type=component_types[14],
),
1116: Component(
id=1116,
name='Slamin',
type=component_types[14],
),
1117: Component(
id=1117,
name='Chrome',
type=component_types[10],
),
1118: Component(
id=1118,
name='Chrome Trim',
type=component_types[3],
),
1119: Component(
id=1119,
name='Wheelcovers',
type=component_types[3],
),
1120: Component(
id=1120,
name='Chrome Trim',
type=component_types[3],
),
1121: Component(
id=1121,
name='Wheelcovers',
type=component_types[3],
),
1122: Component(
id=1122,
name='Chrome Flames',
type=component_types[3],
),
1123: Component(
id=1123,
name='Chrome Bars',
type=component_types[14],
),
1124: Component(
id=1124,
name='Chrome Arches',
type=component_types[3],
),
1125: Component(
id=1125,
name='Chrome Lights',
type=component_types[14],
),
1126: Component(
id=1126,
name='Chrome Exhaust',
type=component_types[6],
),
1127: Component(
id=1127,
name='Slamin Exhaust',
type=component_types[6],
),
1128: Component(
id=1128,
name='Vinyl Hardtop',
type=component_types[2],
),
1129: Component(
id=1129,
name='Chrome',
type=component_types[6],
),
1130: Component(
id=1130,
name='Hardtop',
type=component_types[2],
),
1131: Component(
id=1131,
name='Softtop',
type=component_types[2],
),
1132: Component(
id=1132,
name='Slamin',
type=component_types[6],
),
1133: Component(
id=1133,
name='Chrome Strip',
type=component_types[3],
),
1134: Component(
id=1134,
name='Chrome Strip',
type=component_types[3],
),
1135: Component(
id=1135,
name='Slamin',
type=component_types[6],
),
1136: Component(
id=1136,
name='Chrome',
type=component_types[6],
),
1137: Component(
id=1137,
name='Chrome Strip',
type=component_types[3],
),
1138: Component(
id=1138,
name='Alien',
type=component_types[0],
),
1139: Component(
id=1139,
name='X-Flow',
type=component_types[0],
),
1140: Component(
id=1140,
name='X-Flow',
type=component_types[11],
),
1141: Component(
id=1141,
name='Alien',
type=component_types[11],
),
1142: Component(
id=1142,
name='Oval',
type=component_types[13],
),
1143: Component(
id=1143,
name='Oval',
type=component_types[12],
),
1144: Component(
id=1144,
name='Square',
type=component_types[13],
),
1145: Component(
id=1145,
name='Square',
type=component_types[12],
),
1146: Component(
id=1146,
name='X-Flow',
type=component_types[0],
),
1147: Component(
id=1147,
name='Alien',
type=component_types[0],
),
1148: Component(
id=1148,
name='X-Flow',
type=component_types[11],
),
1149: Component(
id=1149,
name='Alien',
type=component_types[11],
),
1150: Component(
id=1150,
name='Alien',
type=component_types[11],
),
1151: Component(
id=1151,
name='X-Flow',
type=component_types[11],
),
1152: Component(
id=1152,
name='X-Flow',
type=component_types[10],
),
1153: Component(
id=1153,
name='Alien',
type=component_types[10],
),
1154: Component(
id=1154,
name='Alien',
type=component_types[11],
),
1155: Component(
id=1155,
name='Alien',
type=component_types[10],
),
1156: Component(
id=1156,
name='X-Flow',
type=component_types[11],
),
1157: Component(
id=1157,
name='X-Flow',
type=component_types[10],
),
1158: Component(
id=1158,
name='X-Flow',
type=component_types[0],
),
1159: Component(
id=1159,
name='Alien',
type=component_types[11],
),
1160: Component(
id=1160,
name='Alien',
type=component_types[10],
),
1161: Component(
id=1161,
name='X-Flow',
type=component_types[11],
),
1162: Component(
id=1162,
name='Alien',
type=component_types[0],
),
1163: Component(
id=1163,
name='X-Flow',
type=component_types[0],
),
1164: Component(
id=1164,
name='Alien',
type=component_types[0],
),
1165: Component(
id=1165,
name='X-Flow',
type=component_types[10],
),
1166: Component(
id=1166,
name='Alien',
type=component_types[10],
),
1167: Component(
id=1167,
name='X-Flow',
type=component_types[11],
),
1168: Component(
id=1168,
name='Alien',
type=component_types[11],
),
1169: Component(
id=1169,
name='Alien',
type=component_types[10],
),
1170: Component(
id=1170,
name='X-Flow',
type=component_types[10],
),
1171: Component(
id=1171,
name='Alien',
type=component_types[10],
),
1172: Component(
id=1172,
name='X-Flow',
type=component_types[10],
),
1173: Component(
id=1173,
name='X-Flow',
type=component_types[10],
),
1174: Component(
id=1174,
name='Chrome',
type=component_types[10],
),
1175: Component(
id=1175,
name='Slamin',
type=component_types[10],
),
1176: Component(
id=1176,
name='Chrome',
type=component_types[11],
),
1177: Component(
id=1177,
name='Slamin',
type=component_types[11],
),
1178: Component(
id=1178,
name='Slamin',
type=component_types[11],
),
1179: Component(
id=1179,
name='Chrome',
type=component_types[10],
),
1180: Component(
id=1180,
name='Chrome',
type=component_types[11],
),
1181: Component(
id=1181,
name='Slamin',
type=component_types[10],
),
1182: Component(
id=1182,
name='Chrome',
type=component_types[10],
),
1183: Component(
id=1183,
name='Slamin',
type=component_types[11],
),
1184: Component(
id=1184,
name='Chrome',
type=component_types[11],
),
1185: Component(
id=1185,
name='Slamin',
type=component_types[10],
),
1186: Component(
id=1186,
name='Slamin',
type=component_types[11],
),
1187: Component(
id=1187,
name='Chrome',
type=component_types[11],
),
1188: Component(
id=1188,
name='Slamin',
type=component_types[10],
),
1189: Component(
id=1189,
name='Chrome',
type=component_types[10],
),
1190: Component(
id=1190,
name='Slamin',
type=component_types[10],
),
1191: Component(
id=1191,
name='Chrome',
type=component_types[10],
),
1192: Component(
id=1192,
name='Chrome',
type=component_types[11],
),
1193: Component(
id=1193,
name='Slamin',
type=component_types[11],
),
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment