TheUSB
Profilo di
Nome | TheUSB |
---|---|
Indirizzo email | n/a |
Messaggi | 2 |
-
- 2017-05-28 21:14:43
- Re: Salve a tutti, ho un problema di compilazione
- Forum >> Principianti
- Hai più che ragione, non so nemmeno cosa ho frà le mani, quindi purtroppo ho dovuto fare una domanda simile, devo solo riuscire a compilare quel file, ho poco tempo per impararmi pure il python per bene, devo finire un progetto d'esame realizzato con arduino, e frà la programmazione devo aggiungere al codice il file html.h, che deve essere ottenuto compilando l'index.html mediante html2h.py, per me questo è un grosso blocco, altra gente ha già compilato questi file, ma come già scritto sul codice, non è stato testato su windows, mi scuso per le mie impossibili richieste, una soluzione più semplice e veloce secondo te?
-
- 2017-05-28 20:28:11
- Salve a tutti, ho un problema di compilazione
- Forum >> Principianti
- Salve a tutti, spero di non aver sbagliato sezione.
Ho un problema con la compilazione di un file, non ho mai studiato il python, magari per mia inesperienza non riesco a procedere con questa compilazione, devo portare il file index.html in html.h, utilizzando uno script py...
Lo script py è il seguente#!/usr/bin/env python # Run this script like this: # ./html2h.py webroot > html.h # # Note that this is untested on Windows/OSX! import os import sys import argparse parser = argparse.ArgumentParser (description = 'Convert a website to be put into flash memory for use with Webbino') parser.add_argument ('webroot', metavar = "WEBROOT", help = "Path to website root directory") parser.add_argument ('--nostrip', "-n", action = 'store_true', default = False, help = "Do not strip CR/LF/TABs") args = parser.parse_args () # The above will raise an error if webroot was not specified, so we can # assume it was os.chdir (args.webroot) # https://www.safaribooksonline.com/library/view/python-cookbook/0596001673/ch04s16.html def splitall(path): allparts = [] while 1: parts = os.path.split(path) if parts0 == path: # sentinel for absolute paths allparts.insert(0, parts0) break elif parts1 == path: # sentinel for relative paths allparts.insert(0, parts1) break else: path = parts0 allparts.insert(0, parts1) return allparts def process_file (filename): print >> sys.stderr, "Processing file: %s" % filename try: with open (filename, 'r') as fp: # Make up a unique ID for every file to use in C identifiers parts = splitall (filename[2:]) parts = [parts0] + [x.capitalize () for x in parts[1:]] code = "".join (parts) code = code.replace ('.', '_') print "const char %s_name[] PROGMEM = \"%s\";" % (code, filename[1:]) print print "const char %s[] PROGMEM = {" % code i = 0 b = fp.read (1) while b: if args.nostrip or (b != '\n' and b != '\r' and b != '\t'): if i % 8 == 0: print "\t", print "0x%02x, " % ord (b), i = i + 1 if i % 8 == 0: print "" b = fp.read (1) print "0x00" print "};" print print "// unsigned int %s_len = %u;" % (code, i + 1) print except IOError as ex: print "Cannot open file %s: %s" % (filename, str (ex)) code = None return code def process_dir (dirpath): print >> sys.stderr, "Processing directory: %s" % dirpath idents = [] for filename in sorted (os.listdir (dirpath)): fullfile = os.path.join (dirpath, filename) if os.path.isfile (fullfile): ident = process_file (fullfile) if ident is not None: idents.append (ident) elif os.path.isdir (fullfile): idents.extends (process_dir (fullfile)) else: print "Skipping %s" % filename return idents ### MAIN ### idents = process_dir (".") n_pages = len (idents) print >> sys.stderr, "Total files processed: %d" % n_pages if n_pages > 0: # Help with code to be put in sketch print >> sys.stderr print >> sys.stderr, "Put the following in your sketch:" print >> sys.stderr print >> sys.stderr, '#include "html.h"' print >> sys.stderr for n, ident in enumerate (idents): print >> sys.stderr, "const Page page%02d PROGMEM = {%s_name, %s, NULL};" % (n + 1, ident, ident) print >> sys.stderr print >> sys.stderr, "const Page* const pages[] PROGMEM = {" for n in xrange (1, n_pages + 1): print >> sys.stderr, "\t&page%02d," % n print >> sys.stderr, "\tNULL" print >> sys.stderr, "};"
Ho provato sia con python 3.6 che con il 2.7, ma nessun risultato positivo, il 3.6 mi da fin da subito errore, il 2.7 mi dice che mancano argomenti..
--- Ultima modifica di TheUSB in data 2017-05-28 20:29:03 ---