Returns dict mapping category names to code lists. Args: unicode_dir: Unicode data directory Returns: dict mapping category names to code lists
(unicode_dir=_UNICODE_DIR)
| 278 | |
| 279 | |
| 280 | def Categories(unicode_dir=_UNICODE_DIR): |
| 281 | """Returns dict mapping category names to code lists. |
| 282 | |
| 283 | Args: |
| 284 | unicode_dir: Unicode data directory |
| 285 | |
| 286 | Returns: |
| 287 | dict mapping category names to code lists |
| 288 | """ |
| 289 | |
| 290 | categories = {} |
| 291 | |
| 292 | def DoLine(codes, fields): |
| 293 | """Process single UnicodeData.txt line, updating categories.""" |
| 294 | category = fields[2] |
| 295 | categories.setdefault(category, []).extend(codes) |
| 296 | # Add codes from Lu into L, etc. |
| 297 | if len(category) > 1: |
| 298 | short = category[0] |
| 299 | categories.setdefault(short, []).extend(codes) |
| 300 | |
| 301 | ReadUnicodeTable(unicode_dir+"/UnicodeData.txt", 15, DoLine) |
| 302 | return categories |
| 303 |
nothing calls this directly
no test coverage detected