0001 ### BITPIM 0002 ### 0003 ### Copyright (C) 2006 Joe Pham <djpham@bitpim.org> 0004 ### Copyright (C) 2006 Roger Binns <rogerb@bitpim.org> 0005 ### 0006 ### This program is free software; you can redistribute it and/or modify 0007 ### it under the terms of the BitPim license as detailed in the LICENSE file. 0008 ### 0009 ### $Id: __init__.py 4678 2008-08-13 23:46:56Z djpham $ 0010 0011 import helpids 0012 0013 # phone carriers 0014 c_vzw='Verizon Wireless' 0015 c_cingular='Cingular' 0016 c_att='AT&T' 0017 c_telus='Telus Mobility' 0018 c_alltel='Alltel' 0019 c_bell='Bell Mobility' 0020 c_sprint='Sprint' 0021 c_pelephone='Pelephone' 0022 c_sti='STI Mobile' 0023 c_other='Other' 0024 if __debug__: 0025 c_tmobileusa='T-Mobile USA' 0026 0027 # phone brands 0028 b_lg='LG' 0029 b_samsung='Samsung' 0030 b_sanyo='Sanyo' 0031 b_sk='SK' 0032 b_toshiba='Toshiba' 0033 b_other='Other' 0034 b_audiovox='Audiovox' 0035 b_moto='Motorola' 0036 0037 _phonedata= { 'LG-AX8600': { 'module': 'com_lgax8600', 0038 'carrier': [c_alltel], 0039 'brand': b_lg, 0040 'helpid': helpids.ID_PHONE_LGAX8600, 0041 }, 0042 'LG-G4015': { 'module': 'com_lgg4015', 0043 'carrier': [c_att], 0044 'brand': b_lg, 0045 'helpid': helpids.ID_PHONE_LGG4015, 0046 }, 0047 'LG-C2000': { 'module': 'com_lgc2000', 0048 'carrier': [c_cingular], 0049 'brand': b_lg, 0050 'helpid': helpids.ID_PHONE_LGC2000, 0051 }, 0052 'LG-LX570 (Musiq)': { 'module': 'com_lglx570', 0053 'carrier': [c_sprint], 0054 'brand': b_lg, 0055 'helpid': helpids.ID_PHONE_LGLX570, 0056 }, 0057 'LG-UX5000': { 'module': 'com_lgux5000', 0058 'brand': b_lg, 0059 'carrier': [c_vzw], 0060 'helpid': helpids.ID_PHONE_LGUX5000, 0061 }, 0062 'LG-VX3200': { 'module': 'com_lgvx3200', 0063 'brand': b_lg, 0064 'helpid': helpids.ID_PHONE_LGVX3200, 0065 }, 0066 'LG-VX4400': { 'module': 'com_lgvx4400', 0067 'brand': b_lg, 0068 'carrier': [c_vzw], 0069 'helpid': helpids.ID_PHONE_LGVX4400, 0070 }, 0071 'LG-VX4500': { 'module': 'com_lgvx4500', 0072 'brand': b_lg, 0073 'helpid': helpids.ID_PHONE_LGVX4500, 0074 }, 0075 'LG-VX4600': { 'module': 'com_lgvx4600', 0076 'carrier': [c_telus], 0077 'brand': b_lg, 0078 'helpid': None, 0079 }, 0080 'LG-VX4650': { 'module': 'com_lgvx4650', 0081 'carrier': [c_vzw], 0082 'brand': b_lg, 0083 'helpid': helpids.ID_PHONE_LGVX4650, 0084 }, 0085 'LG-VX5200': { 'module': 'com_lgvx5200', 0086 'carrier': [c_vzw], 0087 'brand': b_lg, 0088 'helpid': helpids.ID_PHONE_LGVX5200, 0089 }, 0090 'LG-VX5300': { 'module': 'com_lgvx5300', 0091 'carrier': [c_vzw], 0092 'brand': b_lg, 0093 'helpid': helpids.ID_PHONE_LGVX5300, 0094 }, 0095 'LG-VX5400': { 'module': 'com_lgvx5400', 0096 'carrier': [c_vzw], 0097 'brand': b_lg, 0098 'helpid': None, 0099 }, 0100 'LG-LX5450': { 'module': 'com_lglx5450', 0101 'carrier': [c_alltel], 0102 'brand': b_lg, 0103 'helpid': None, 0104 }, 0105 'LG-LX5550': { 'module': 'com_lglx5550', 0106 'carrier': [c_alltel], 0107 'brand': b_lg, 0108 'helpid': None, 0109 }, 0110 'LG-VX6000': { 'module': 'com_lgvx6000', 0111 'brand': b_lg, 0112 'helpid': helpids.ID_PHONE_LGVX6000, 0113 }, 0114 'LG-VX6100': { 'module': 'com_lgvx6100', 0115 'brand': b_lg, 0116 'helpid': helpids.ID_PHONE_LGVX6100, 0117 }, 0118 'LG-LG6190': { 'module': 'com_lglg6190', 0119 'carrier': [c_bell], 0120 'brand': b_lg, 0121 'helpid': None, 0122 }, 0123 'LG-LG6200': { 'module': 'com_lglg6200', 0124 'carrier': [c_bell], 0125 'brand': b_lg, 0126 'helpid': None, 0127 }, 0128 'LG-VX7000': { 'module': 'com_lgvx7000', 0129 'brand': b_lg, 0130 'helpid': helpids.ID_PHONE_LGVX7000, 0131 }, 0132 'LG-VX8000': { 'module': 'com_lgvx8000', 0133 'carrier': [c_vzw], 0134 'brand': b_lg, 0135 'helpid': helpids.ID_PHONE_LGVX8000, 0136 }, 0137 'LG-LG8100': { 'module': 'com_lglg8100', 0138 'carrier': [c_telus], 0139 'brand': b_lg, 0140 'helpid': None, 0141 }, 0142 'LG-VX8100': { 'module': 'com_lgvx8100', 0143 'carrier': [c_vzw], 0144 'brand': b_lg, 0145 'helpid': helpids.ID_PHONE_LGVX8100, 0146 }, 0147 'LG-VX8300': { 'module': 'com_lgvx8300', 0148 'carrier': [c_vzw], 0149 'brand': b_lg, 0150 'helpid': helpids.ID_PHONE_LGVX8300, 0151 }, 0152 'LG-VX8350': { 'module': 'com_lgvx8350', 0153 'carrier': [c_vzw], 0154 'brand': b_lg, 0155 'helpid': None, 0156 }, 0157 'LG-VX8500 (Chocolate)': { 'module': 'com_lgvx8500', 0158 'carrier': [c_vzw], 0159 'brand': b_lg, 0160 'helpid': helpids.ID_PHONE_LGVX8500, 0161 }, 0162 'LG-VX8550 (Chocolate 2)': { 'module': 'com_lgvx8550', 0163 'carrier': [c_vzw], 0164 'brand': b_lg, 0165 'helpid': None, 0166 }, 0167 'LG-VX8560 (Chocolate 3)': { 'module': 'com_lgvx8560', 0168 'carrier': [c_vzw], 0169 'brand': b_lg, 0170 'helpid': helpids.ID_PHONE_LGVX8560, 0171 }, 0172 'LG-VX8600': { 'module': 'com_lgvx8600', 0173 'carrier': [c_vzw], 0174 'brand': b_lg, 0175 'helpid': helpids.ID_PHONE_LGVX8600, 0176 }, 0177 'LG-VX8610 (Decoy)': { 'module': 'com_lgvx8610', 0178 'carrier': [c_vzw], 0179 'brand': b_lg, 0180 'helpid': helpids.ID_PHONE_LGVX8610, 0181 }, 0182 'LG-VX8700': { 'module': 'com_lgvx8700', 0183 'carrier': [c_vzw], 0184 'brand': b_lg, 0185 'helpid': helpids.ID_PHONE_LGVX8700, 0186 }, 0187 'LG-VX8800 (Venus)': { 'module': 'com_lgvx8800', 0188 'carrier': [c_vzw], 0189 'brand': b_lg, 0190 'helpid': helpids.ID_PHONE_LGVX8800, 0191 }, 0192 'LG-VX9400': { 'module': 'com_lgvx9400', 0193 'carrier': [c_vzw], 0194 'brand': b_lg, 0195 'helpid': None, 0196 }, 0197 'LG-VX9700 (Dare)': { 'module': 'com_lgvx9700', 0198 'carrier': [c_vzw], 0199 'brand': b_lg, 0200 'helpid': helpids.ID_PHONE_LGVX9700, 0201 }, 0202 'LG-VX9800': { 'module': 'com_lgvx9800', 0203 'carrier': [c_vzw], 0204 'brand': b_lg, 0205 'helpid': helpids.ID_PHONE_LGVX9800, 0206 }, 0207 'LG-VX9900 (enV)': { 'module': 'com_lgvx9900', 0208 'carrier': [c_vzw], 0209 'brand': b_lg, 0210 'helpid': helpids.ID_PHONE_LGVX9900, 0211 }, 0212 'LG-VX9100 (enV 2)': { 'module': 'com_lgvx9100', 0213 'carrier': [c_vzw], 0214 'brand': b_lg, 0215 'helpid': helpids.ID_PHONE_LGVX9100, 0216 }, 0217 'LG-VX10000 (Voyager)': { 'module': 'com_lgvx10000', 0218 'carrier': [c_vzw], 0219 'brand': b_lg, 0220 'helpid': helpids.ID_PHONE_LGVX10000, 0221 }, 0222 'LG-VI125': { 'module': 'com_lgvi125', 0223 'carrier': [c_sprint], 0224 'brand': b_lg, 0225 'helpid': None, 0226 }, 0227 'LG-PM225': { 'module': 'com_lgpm225', 0228 'carrier': [c_sprint], 0229 'brand': b_lg, 0230 'helpid': helpids.ID_PHONE_LGPM225, 0231 }, 0232 'LG-PM325': { 'module': 'com_lgpm325', 0233 'carrier': [c_sprint], 0234 'brand': b_lg, 0235 'helpid': None, 0236 }, 0237 'LG-TM520': { 'module': 'com_lgtm520', 0238 'brand': b_lg, 0239 'helpid': None, 0240 }, 0241 'LG-VX10': { 'module': 'com_lgtm520', 0242 'brand': b_lg, 0243 'helpid': None, 0244 }, 0245 'MM-5600': { 'module': 'com_sanyo5600', 0246 'carrier': [c_sprint], 0247 'brand': b_sanyo, 0248 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0249 }, 0250 'SCP-6600 (Katana)': { 'module': 'com_sanyo6600', 0251 'carrier': [c_sprint], 0252 'brand': b_sanyo, 0253 'helpid': helpids.ID_PHONE_SANYOSCP6600, 0254 }, 0255 'SCP-6650 (Katana-II)': { 'module': 'com_sanyo6650', 0256 'carrier': [c_sprint], 0257 'brand': b_sanyo, 0258 'helpid': helpids.ID_PHONE_SANYOSCP6600, 0259 }, 0260 'MM-7400': { 'module': 'com_sanyo7400', 0261 'carrier': [c_sprint], 0262 'brand': b_sanyo, 0263 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0264 }, 0265 'MM-7500': { 'module': 'com_sanyo7500', 0266 'carrier': [c_sprint], 0267 'brand': b_sanyo, 0268 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0269 }, 0270 'MM-8300': { 'module': 'com_sanyo8300', 0271 'carrier': [c_sprint], 0272 'brand': b_sanyo, 0273 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0274 }, 0275 'SCP-8400': { 'module': 'com_sanyo8400', 0276 'carrier': [c_sprint], 0277 'brand': b_sanyo, 0278 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0279 }, 0280 'PM-8200': { 'module': 'com_sanyo8200', 0281 'carrier': [c_sprint], 0282 'brand': b_sanyo, 0283 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0284 }, 0285 'RL-4920': { 'module': 'com_sanyo4920', 0286 'carrier': [c_sprint], 0287 'brand': b_sanyo, 0288 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0289 }, 0290 'RL-4930': { 'module': 'com_sanyo4930', 0291 'carrier': [c_sprint], 0292 'brand': b_sanyo, 0293 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0294 }, 0295 'SCP-200': { 'module': 'com_sanyo200', 0296 'carrier': [c_sprint], 0297 'brand': b_sanyo, 0298 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0299 }, 0300 'SCP-2400': { 'module': 'com_sanyo2400', 0301 'carrier': [c_sprint], 0302 'brand': b_sanyo, 0303 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0304 }, 0305 'SCP-3100': { 'module': 'com_sanyo3100', 0306 'carrier': [c_sprint], 0307 'brand': b_sanyo, 0308 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0309 }, 0310 'SCP-3200': { 'module': 'com_sanyo3200', 0311 'carrier': [c_sprint], 0312 'brand': b_sanyo, 0313 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0314 }, 0315 'SCP-4900': { 'module': 'com_sanyo4900', 0316 'carrier': [c_sprint], 0317 'brand': b_sanyo, 0318 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0319 }, 0320 'SCP-5300': { 'module': 'com_sanyo5300', 0321 'carrier': [c_sprint], 0322 'brand': b_sanyo, 0323 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0324 }, 0325 'SCP-5400': { 'module': 'com_sanyo5400', 0326 'carrier': [c_sprint], 0327 'brand': b_sanyo, 0328 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0329 }, 0330 'SCP-5500': { 'module': 'com_sanyo5500', 0331 'carrier': [c_sprint], 0332 'brand': b_sanyo, 0333 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0334 }, 0335 'SCP-7050': { 'module': 'com_sanyo7050', 0336 'carrier': [c_sprint], 0337 'brand': b_sanyo, 0338 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0339 }, 0340 'SCP-7200': { 'module': 'com_sanyo7200', 0341 'carrier': [c_sprint], 0342 'brand': b_sanyo, 0343 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0344 }, 0345 'SCP-7300': { 'module': 'com_sanyo7300', 0346 'carrier': [c_sprint], 0347 'brand': b_sanyo, 0348 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0349 }, 0350 'SCP-8100': { 'module': 'com_sanyo8100', 0351 'carrier': [c_sprint], 0352 'brand': b_sanyo, 0353 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0354 }, 0355 'SCP-8100 (Bell)': { 'module': 'com_sanyo8100_bell', 0356 'carrier': [c_bell], 0357 'brand': b_sanyo, 0358 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0359 }, 0360 'SCH-A310': { 'module': 'com_samsungscha310', 0361 'carrier': [c_vzw], 0362 'brand': b_samsung, 0363 'helpid': None, 0364 }, 0365 'SPH-A460': { 'module': 'com_samsungspha460', 0366 'brand': b_samsung, 0367 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0368 }, 0369 'SPH-A620 (VGA1000)': { 'module': 'com_samsungspha620', 0370 'carrier': [c_sprint], 0371 'brand': b_samsung, 0372 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0373 }, 0374 'SPH-A660 (VI660)': { 'module': 'com_samsungspha660', 0375 'carrier': [c_sprint], 0376 'brand': b_samsung, 0377 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0378 }, 0379 'SPH-A680': { 'module': 'com_samsungspha680', 0380 'carrier': [c_sprint], 0381 'brand': b_samsung, 0382 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0383 }, 0384 'SPH-A740': { 'module': 'com_samsungspha740', 0385 'carrier': [c_sprint], 0386 'brand': b_samsung, 0387 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0388 }, 0389 'SPH-A840': { 'module': 'com_samsungspha840', 0390 'carrier': [c_sprint], 0391 'brand': b_samsung, 0392 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0393 }, 0394 'SPH-A840 (Telus)': { 'module': 'com_samsungspha840_telus', 0395 'brand': b_samsung, 0396 'carrier': [c_telus], 0397 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0398 }, 0399 'SPH-A900': { 'module': 'com_samsungspha900', 0400 'carrier': [c_sprint], 0401 'brand': b_samsung, 0402 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0403 }, 0404 'SPH-M300PIM': { 'module': 'com_samsungsphm300pim', 0405 'carrier': [c_sprint], 0406 'brand': b_samsung, 0407 'helpid': helpids.ID_PHONE_SAMSUNGSPHM300, 0408 }, 0409 'SPH-M300MEDIA': { 'module': 'com_samsungsphm300media', 0410 'carrier': [c_sprint], 0411 'brand': b_samsung, 0412 'helpid': helpids.ID_PHONE_SAMSUNGSPHM300, 0413 }, 0414 'SPH-N200': { 'module': 'com_samsungsphn200', 0415 'carrier': [c_sprint], 0416 'brand': b_samsung, 0417 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0418 }, 0419 'SPH-N400': { 'module': 'com_samsungsphn400', 0420 'carrier': [c_sprint], 0421 'brand': b_samsung, 0422 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0423 }, 0424 'SCH-A650': { 'module': 'com_samsungscha650', 0425 'brand': b_samsung, 0426 'carrier': [c_vzw], 0427 'helpid': None, 0428 }, 0429 'SCH-A670': { 'module': 'com_samsungscha670', 0430 'brand': b_samsung, 0431 'carrier': [c_vzw], 0432 'helpid': None, 0433 }, 0434 'SCH-A870': { 'module': 'com_samsungscha870', 0435 'brand': b_samsung, 0436 'carrier': [c_vzw], 0437 'helpid': helpids.ID_PHONE_SAMSUNGSCHA870, 0438 }, 0439 'SCH-A950': { 'module': 'com_samsungscha950', 0440 'brand': b_samsung, 0441 'carrier': [c_vzw], 0442 'helpid': helpids.ID_PHONE_SAMSUNGSCHA950, 0443 }, 0444 'SCH-A930': { 'module': 'com_samsungscha930', 0445 'brand': b_samsung, 0446 'carrier': [c_vzw], 0447 'helpid': helpids.ID_PHONE_SAMSUNGSCHA930, 0448 }, 0449 'SCH-U470': { 'module': 'com_samsungschu470', 0450 'brand': b_samsung, 0451 'carrier': [c_vzw], 0452 'helpid': helpids.ID_PHONE_SAMSUNGSCHU470, 0453 }, 0454 'SCH-U740': { 'module': 'com_samsungschu740', 0455 'brand': b_samsung, 0456 'carrier': [c_vzw], 0457 'helpid': helpids.ID_PHONE_SAMSUNGSCHU740, 0458 }, 0459 'SK6100' : { 'module': 'com_sk6100', 0460 'brand': b_sk, 0461 'carrier': [c_pelephone], 0462 'helpid': None, 0463 }, 0464 'VM4050' : { 'module': 'com_toshibavm4050', 0465 'brand': b_toshiba, 0466 'carrier': [c_sprint], 0467 'helpid': helpids.ID_PHONE_TOSHIBAVM4050, 0468 }, 0469 'VI-2300': { 'module': 'com_sanyo2300', 0470 'carrier': [c_sprint], 0471 'brand': b_sanyo, 0472 'helpid': helpids.ID_PHONE_SANYOOTHERS, 0473 }, 0474 'LG-VI5225': { 'module': 'com_lgvi5225', 0475 'carrier': [c_sti], 0476 'brand': b_lg, 0477 'helpid': None, 0478 }, 0479 'V710': { 'module': 'com_motov710', 0480 'brand': b_moto, 0481 'carrier': [c_vzw], 0482 'helpid': helpids.ID_PHONE_MOTOV710, 0483 }, 0484 'V710m': { 'module': 'com_motov710m', 0485 'brand': b_moto, 0486 'carrier': [c_vzw], 0487 'helpid': helpids.ID_PHONE_MOTOV710M, 0488 }, 0489 'V3c': { 'module': 'com_motov3c', 0490 'brand': b_moto, 0491 'carrier': [c_vzw], 0492 'helpid': helpids.ID_PHONE_MOTOV3C, 0493 }, 0494 'V3cm': { 'module': 'com_motov3cm', 0495 'brand': b_moto, 0496 'carrier': [c_vzw], 0497 'helpid': helpids.ID_PHONE_MOTOV3CM, 0498 }, 0499 'V3m': { 'module': 'com_motov3m', 0500 'brand': b_moto, 0501 'carrier': [c_vzw], 0502 'helpid': helpids.ID_PHONE_MOTOV3M, 0503 }, 0504 'V3mM': { 'module': 'com_motov3mm', 0505 'brand': b_moto, 0506 'carrier': [c_vzw], 0507 'helpid': helpids.ID_PHONE_MOTOV3MM, 0508 }, 0509 'V325': { 'module': 'com_motov325', 0510 'brand': b_moto, 0511 'carrier': [c_vzw], 0512 'helpid': helpids.ID_PHONE_MOTOV325, 0513 }, 0514 'V325M': { 'module': 'com_motov325m', 0515 'brand': b_moto, 0516 'carrier': [c_vzw], 0517 'helpid': helpids.ID_PHONE_MOTOV325M, 0518 }, 0519 'E815': { 'module': 'com_motoe815', 0520 'brand': b_moto, 0521 'carrier': [c_vzw], 0522 'helpid': helpids.ID_PHONE_MOTOE815, 0523 }, 0524 'E815m': { 'module': 'com_motoe815m', 0525 'brand': b_moto, 0526 'carrier': [c_vzw], 0527 'helpid': helpids.ID_PHONE_MOTOE815M, 0528 }, 0529 'K1m': { 'module': 'com_motok1m', 0530 'brand': b_moto, 0531 'carrier': [c_vzw], 0532 'helpid': helpids.ID_PHONE_MOTOK1M, 0533 }, 0534 'Other CDMA phone': { 'module': 'com_othercdma', 0535 'carrier': [c_other], 0536 'brand': b_other, 0537 'helpid': None, 0538 }, 0539 } 0540 0541 if __debug__: 0542 _phonedata.update( {'Audiovox CDM-8900': { 'module': 'com_audiovoxcdm8900', # phone is too fragile for normal use 0543 'brand': b_audiovox, 0544 'helpid': None, 0545 }, 0546 'SPH-A790': { 'module': 'com_samsungspha790', 0547 'brand': b_samsung, 0548 'carrier': [c_sprint], 0549 'helpid': None, 0550 }, 0551 'RAZR V3t': { 'module': 'com_motov3t', 0552 'brand': b_moto, 0553 'carrier': [c_tmobileusa], 0554 'helpid': None, 0555 }, 0556 'SPH-A640': { 'module': 'com_samsungspha640', 0557 'carrier': [c_sprint], 0558 'brand': b_samsung, 0559 'helpid': helpids.ID_PHONE_SAMSUNGOTHERS, 0560 }, 0561 'LG-LX260 (Rumor)': { 'module': 'com_lglx260', 0562 'carrier': [c_sprint], 0563 'brand': b_lg, 0564 'helpid': None, 0565 }, 0566 }) 0567 0568 # update the module path 0569 for k, e in _phonedata.items(): 0570 _phonedata[k]['module']=__name__+'.'+e['module'] 0571 0572 phonemodels=_phonedata.keys() 0573 phonemodels.sort() 0574 0575 def module(phone): 0576 return _phonedata[phone].get('module', None) 0577 0578 def carriers(phone): 0579 return _phonedata[phone].get('carrier', [c_other]) 0580 0581 def manufacturer(phone): 0582 return _phonedata[phone].get('brand', b_other) 0583 0584 def helpid(phone): 0585 return _phonedata[phone].get('helpid', None) 0586 0587 _tmp1={} 0588 _tmp2={} 0589 for x in phonemodels: 0590 for y in carriers(x): 0591 _tmp1[y]=True 0592 _tmp2[manufacturer(x)]=True 0593 phonecarriers=_tmp1.keys() 0594 phonecarriers.sort() 0595 phonemanufacturers=_tmp2.keys() 0596 phonemanufacturers.sort() 0597 del _tmp1, _tmp2 0598 0599 def phoneslist(brand=None, carrier_name=None): 0600 return [x for x in phonemodels if (brand is None or manufacturer(x)==brand) \ 0601 and (carrier_name is None or carrier_name in carriers(x))] 0602 0603 def carrier2phones(carrier_name): 0604 # return the list of phone belongs to this carrier 0605 return [x for x in phonemodels if carrier_name in carriers(x)] 0606 0607 def manufacturer2phones(brand_name): 0608 # return a list of phone belongs to this brand 0609 return [x for x in phonemodels if manufacturer(x)==brand_name] 0610 0611 def getallmodulenames(): 0612 return [_phonedata[k]['module'] for k in _phonedata] 0613
Generated by PyXR 0.9.4