Mercurial > public > ostc4
view Documentations/setGPLHeader.py @ 626:3e1a0e267f38
Added option to select sensitivity of focus detection:
Depending on the location the computer is equiped during dive (arm wet/ dry suite, glove...) it is usefull to adapt the sensitivity of the focus detection. Technical it means the radius of the spot in which direction ray is projected may be changed in size.
The option has been added to the motion control menu.
author | Ideenmodellierer |
---|---|
date | Fri, 12 Feb 2021 21:37:50 +0100 |
parents | 6237372f76a4 |
children |
line wrap: on
line source
#! /usr/bin/env python3 from __future__ import print_function import os, sys, glob,re, codecs ############################################################################## OSTC4=os.getcwd() if not os.path.exists( os.path.join(OSTC4, 'Discovery') ): raise 'Wrong start directory...' ############################################################################## def walk(OSTC4): for dir in ['BootLoader', 'Common', 'Discovery', 'FontPack', 'Small_CPU']: # Make sure we have the top directory... if not os.path.exists( os.path.join(OSTC4, dir) ): raise 'Missing ' + dir # Then walk in all its existing source sub-directories... for sub in ['.', 'Inc', 'Src']: path = os.path.join(OSTC4, dir, sub) if not os.path.exists(path): continue print(path + ':') for file in sorted( glob.iglob( os.path.join(path, '*.[chs]') ) ): try: work(file) except Exception as e: raise RuntimeError('Cannot process ' + file + ':\n\t' + str(e)) ############################################################################## with open(os.path.join(OSTC4, 'Documentations', 'GPL_template.txt')) as f: template = f.read() def work(file): # Unclear what is done if encoding is not yet UTF-8... with open(file, 'rt', encoding='cp1252') as f: lines = f.read().splitlines() # Set defaults kw = {} kw['file'] = file.replace(OSTC4+'/', '') kw['brief'] = '' kw['date'] = '2018' # Try to gather info from existing header, if any: for line in lines: # Skip files that already have a GNU license: if 'GNU General Public License' in line: print('(done)\t' + file) return get(line, 'brief', kw) get(line, 'date', kw) # Replace kw in header header = template for k,v in kw.items(): header = header.replace('$'+k, v) # Overwrite resulting file, normalizing EOL with open(file, 'wt', encoding='utf-8') as f: for line in header.splitlines(): f.write(line.rstrip() + '\n') for line in lines: f.write(line.rstrip() + '\n') print('+\t' + file) ############################################################################## def get(line, word, kw): m = re.search('(@|\\\\)' + word + '\s*(.*)', line) if m: kw[word] = m.group(2) ############################################################################## walk(OSTC4)