Merge pull request #69 from lurch/small_code_tidyups

Minor code reformatting
This commit is contained in:
Philip Howard 2015-11-19 22:14:13 +00:00
commit 3606787df8
7 changed files with 203 additions and 170 deletions

View File

@ -2,6 +2,7 @@ import json, sys
db = json.load(open('pi-pinout.db')) db = json.load(open('pi-pinout.db'))
def from_phys(phys, mode="bcm"): def from_phys(phys, mode="bcm"):
pin = db['pins'][str(phys)] pin = db['pins'][str(phys)]
if 'scheme' in pin: if 'scheme' in pin:
@ -9,6 +10,7 @@ def from_phys(phys, mode="bcm"):
return int(pin['scheme'][mode]) return int(pin['scheme'][mode])
return None return None
def to_phys(pin, mode="bcm"): def to_phys(pin, mode="bcm"):
for pin in db['pins']: for pin in db['pins']:
if 'scheme' in db['pins'][pin]: if 'scheme' in db['pins'][pin]:
@ -16,6 +18,7 @@ def to_phys(pin, mode="bcm"):
return int(pin) return int(pin)
return None return None
pin = int(sys.argv[1]) pin = int(sys.argv[1])
mode = 'bcm' mode = 'bcm'

View File

@ -21,6 +21,7 @@ overlays = pinout.settings['overlays']
pages = {} pages = {}
def cssify(value): def cssify(value):
value = slugify(value); value = slugify(value);
if value[0] == '3' or value[0] == '5': if value[0] == '3' or value[0] == '5':
@ -28,6 +29,7 @@ def cssify(value):
return value return value
def slugify(value): def slugify(value):
""" """
Normalizes string, converts to lowercase, removes non-alpha characters, Normalizes string, converts to lowercase, removes non-alpha characters,
@ -38,6 +40,7 @@ def slugify(value):
value = re.sub('[^\w\s-]', '', value).strip().lower() value = re.sub('[^\w\s-]', '', value).strip().lower()
return re.sub('[-\s]+', '_', value) return re.sub('[-\s]+', '_', value)
def load_overlay(overlay): def load_overlay(overlay):
try: try:
data = markjaml.load('src/{}/overlay/{}.md'.format(lang, overlay)) data = markjaml.load('src/{}/overlay/{}.md'.format(lang, overlay))
@ -106,6 +109,7 @@ def load_overlay(overlay):
pages[loaded['page_url']] = loaded pages[loaded['page_url']] = loaded
return loaded return loaded
def load_md(filename): def load_md(filename):
filename = 'src/{}/{}'.format(lang, filename) filename = 'src/{}/{}'.format(lang, filename)
try: try:
@ -116,6 +120,7 @@ def load_md(filename):
print('Unable to load markdown from {}'.format(filename)) print('Unable to load markdown from {}'.format(filename))
return '' return ''
overlays = map(load_overlay, overlays) overlays = map(load_overlay, overlays)
print(json.dumps(overlays)) print(json.dumps(overlays))

View File

@ -4,6 +4,7 @@ import yaml
import re import re
import unicodedata import unicodedata
def slugify(value): def slugify(value):
""" """
Normalizes string, converts to lowercase, removes non-alpha characters, Normalizes string, converts to lowercase, removes non-alpha characters,
@ -14,6 +15,7 @@ def slugify(value):
value = re.sub('[^\w\s-]', '-', value).strip().lower() value = re.sub('[^\w\s-]', '-', value).strip().lower()
return re.sub('[-\s]+', '-', value) return re.sub('[-\s]+', '-', value)
def load(file): def load(file):
''' '''
Loads and parses JSON-embedded Markdown file, chopping out and Loads and parses JSON-embedded Markdown file, chopping out and

View File

@ -8,11 +8,13 @@ SETTINGS_FILE = 'settings.yaml'
pins = None pins = None
settings = None settings = None
def get_setting(setting, default = None): def get_setting(setting, default = None):
if setting in settings and settings[setting] != None: if setting in settings and settings[setting] != None:
return settings[setting] return settings[setting]
return default return default
def render_html(*args, **kwargs): def render_html(*args, **kwargs):
html = args[0] html = args[0]
kwargs['v'] = str(int(time.time())) kwargs['v'] = str(int(time.time()))
@ -20,6 +22,7 @@ def render_html(*args, **kwargs):
html = html.replace('{{' + key + '}}', kwargs[key]) html = html.replace('{{' + key + '}}', kwargs[key])
return html return html
def bcm_to_physical(pin): def bcm_to_physical(pin):
for idx in pins: for idx in pins:
compare_pin = pins[idx] compare_pin = pins[idx]
@ -29,6 +32,7 @@ def bcm_to_physical(pin):
#print("Mapping BCM{} to {}".format(pin, str(idx))) #print("Mapping BCM{} to {}".format(pin, str(idx)))
return str(idx) return str(idx)
def physical_to_bcm(pin): def physical_to_bcm(pin):
pin = pins[pin] pin = pins[pin]
if 'scheme' in pin: if 'scheme' in pin:
@ -36,6 +40,7 @@ def physical_to_bcm(pin):
return str(pin['scheme']['bcm']) return str(pin['scheme']['bcm'])
return None return None
def physical_to_wiringpi(pin): def physical_to_wiringpi(pin):
pin = pins[pin] pin = pins[pin]
if 'scheme' in pin: if 'scheme' in pin:
@ -43,6 +48,7 @@ def physical_to_wiringpi(pin):
return str(pin['scheme']['wiringpi']) return str(pin['scheme']['wiringpi'])
return None return None
def physical_to(pin, scheme='bcm'): def physical_to(pin, scheme='bcm'):
if scheme in ['bcm', 'wiringpi']: if scheme in ['bcm', 'wiringpi']:
pin = pins[pin] pin = pins[pin]
@ -53,6 +59,7 @@ def physical_to(pin, scheme='bcm'):
return pin return pin
return None return None
def load(lang='en'): def load(lang='en'):
global pins, settings global pins, settings
if DB_FILE.endswith('.yaml'): if DB_FILE.endswith('.yaml'):

View File

@ -5,18 +5,22 @@ app = Flask(__name__)
lang = 'en' lang = 'en'
@app.route('/') @app.route('/')
def show_index(): def show_index():
return send_from_directory(basedir, 'index.html') return send_from_directory(basedir, 'index.html')
@app.route("/resources/<path:filename>") @app.route("/resources/<path:filename>")
def custom_static(filename): def custom_static(filename):
return send_from_directory(basedir + 'resources/', filename) return send_from_directory(basedir + 'resources/', filename)
@app.route("/<path:page>") @app.route("/<path:page>")
def show_page(page): def show_page(page):
return send_from_directory(basedir, '{}.html'.format(page)) return send_from_directory(basedir, '{}.html'.format(page))
if __name__ == "__main__": if __name__ == "__main__":
if len(sys.argv) > 1: if len(sys.argv) > 1:

View File

@ -32,6 +32,7 @@ comment_prefix = {
'c': '//' 'c': '//'
} }
def slugify(value): def slugify(value):
""" """
Normalizes string, converts to lowercase, removes non-alpha characters, Normalizes string, converts to lowercase, removes non-alpha characters,
@ -44,6 +45,7 @@ def slugify(value):
value = re.sub('[^\w\s-]', '', value).strip().lower() value = re.sub('[^\w\s-]', '', value).strip().lower()
return re.sub('[-\s]+', '_', value) return re.sub('[-\s]+', '_', value)
def bcm_to_physical(pin): def bcm_to_physical(pin):
pin = pin[3:] pin = pin[3:]
for idx in pins: for idx in pins:
@ -54,6 +56,7 @@ def bcm_to_physical(pin):
print("Mapping BCM{} to {}".format(pin, str(idx))) print("Mapping BCM{} to {}".format(pin, str(idx)))
return str(idx) return str(idx)
def physical_to_bcm(pin): def physical_to_bcm(pin):
pin = pins[pin] pin = pins[pin]
if 'scheme' in pin: if 'scheme' in pin:
@ -61,6 +64,7 @@ def physical_to_bcm(pin):
return str(pin['scheme']['bcm']) return str(pin['scheme']['bcm'])
return None return None
def physical_to_wiringpi(pin): def physical_to_wiringpi(pin):
pin = pins[pin] pin = pins[pin]
if 'scheme' in pin: if 'scheme' in pin:
@ -68,6 +72,7 @@ def physical_to_wiringpi(pin):
return str(pin['scheme']['wiringpi']) return str(pin['scheme']['wiringpi'])
return None return None
def physical_to(pin, scheme='bcm'): def physical_to(pin, scheme='bcm'):
if scheme in ['bcm', 'wiringpi']: if scheme in ['bcm', 'wiringpi']:
pin = pins[pin] pin = pins[pin]
@ -78,17 +83,19 @@ def physical_to(pin, scheme='bcm'):
return pin return pin
return None return None
db = json.load(open('../src/{}/pi-pinout.json'.format(lang)))
pins = db['pins']
define = {}
keys = []
def add_define(key, value): def add_define(key, value):
global keys, define global keys, define
keys.append(key) keys.append(key)
define[key] = value define[key] = value
db = json.load(open('../src/{}/pi-pinout.json'.format(lang)))
pins = db['pins']
define = {}
keys = []
if len(sys.argv) >= 3: if len(sys.argv) >= 3:
overlay_file = sys.argv[1] overlay_file = sys.argv[1]

View File

@ -10,6 +10,7 @@ import os
reload(sys) reload(sys)
sys.setdefaultencoding('utf8') sys.setdefaultencoding('utf8')
def url_slugify(value): def url_slugify(value):
""" """
Normalizes string, converts to lowercase, removes non-alpha characters, Normalizes string, converts to lowercase, removes non-alpha characters,
@ -20,6 +21,7 @@ def url_slugify(value):
value = re.sub('[^\w\s-]', '', value).strip().lower() value = re.sub('[^\w\s-]', '', value).strip().lower()
return re.sub('[-\s]+', '_', value) return re.sub('[-\s]+', '_', value)
def load_overlay_url(overlay, lang): def load_overlay_url(overlay, lang):
try: try:
data = markjaml.load('src/{}/overlay/{}.md'.format(lang, overlay)) data = markjaml.load('src/{}/overlay/{}.md'.format(lang, overlay))
@ -33,6 +35,7 @@ def load_overlay_url(overlay, lang):
return overlay, loaded['page_url'] return overlay, loaded['page_url']
def get_pin_url(pin_num, pinout): def get_pin_url(pin_num, pinout):
pin = pinout.pins[str(pin_num)] pin = pinout.pins[str(pin_num)]
pin_url = pin['name'] pin_url = pin['name']
@ -47,6 +50,7 @@ def get_pin_url(pin_num,pinout):
return url_slugify('pin{}_{}'.format(pin_num, pin_url)) return url_slugify('pin{}_{}'.format(pin_num, pin_url))
def generate_for_lang(lang="en"): def generate_for_lang(lang="en"):
url_lookup = {} url_lookup = {}
@ -80,6 +84,7 @@ def generate_for_lang(lang="en"):
return url_lookup return url_lookup
def generate_urls(lang="en"): def generate_urls(lang="en"):
languages = [l.replace('src/', '') for l in glob.glob('src/??') if os.path.isdir(l)] # if not l == 'src/'+lang languages = [l.replace('src/', '') for l in glob.glob('src/??') if os.path.isdir(l)] # if not l == 'src/'+lang
urls = {} urls = {}