Mercurial > public > sg101
annotate bio/flags.py @ 887:9a15f7c27526
Actually save model object upon change.
This commit was tested on the comments model.
Additional logging added.
Added check for Markdown image references.
Added TODOs after observing behavior on comments.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Tue, 03 Feb 2015 21:09:44 -0600 |
parents | 89b240fe9297 |
children |
rev | line source |
---|---|
bgneal@609 | 1 """ |
bgneal@609 | 2 This module contains country flag data & functions. |
bgneal@609 | 3 |
bgneal@609 | 4 """ |
bgneal@679 | 5 import json |
bgneal@609 | 6 import os.path |
bgneal@609 | 7 import locale |
bgneal@609 | 8 import logging |
bgneal@609 | 9 |
bgneal@609 | 10 |
bgneal@609 | 11 # Read flag data from external JSON file: |
bgneal@609 | 12 |
bgneal@609 | 13 FLAG_DATA = {} |
bgneal@609 | 14 |
bgneal@609 | 15 datafile = os.path.join(os.path.split(__file__)[0], 'flag_data.json') |
bgneal@609 | 16 |
bgneal@609 | 17 try: |
bgneal@609 | 18 with open(datafile, 'r') as fp: |
bgneal@609 | 19 FLAG_DATA = json.load(fp, encoding='utf-8') |
bgneal@609 | 20 except IOError: |
bgneal@609 | 21 FLAG_DATA = {} |
bgneal@609 | 22 logging.error("Could not load flag_data.json") |
bgneal@609 | 23 |
bgneal@609 | 24 # Build a choices list for use with Django models, etc. |
bgneal@609 | 25 # The locale is set in order to sort the place names correctly: |
bgneal@609 | 26 |
bgneal@609 | 27 locale.setlocale(locale.LC_ALL, '') |
bgneal@609 | 28 |
bgneal@609 | 29 FLAG_CHOICES = sorted(FLAG_DATA.items(), |
bgneal@609 | 30 cmp=lambda lhs, rhs: locale.strcoll(lhs[1], rhs[1])) |