Forum
>>
Principianti
>>
Salve a tutti, ho un problema di compilazione
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da TheUSB |
2017-05-28 20:28:11 - Salve a tutti, ho un problema di compilazione
|
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 --- |
|
Scritto da Daniele aka Palmux |
2017-05-28 20:52:49 - Re: Salve a tutti, ho un problema di compilazione
|
Ciao anche a te, sai ho delle fortissime perplessità quando leggo messaggi come il tuo.
Hai preso uno script, che dovrebbe più o meno fare al caso tuo e chiedi poi a qualcuno di leggersi la sbrodolata di codice per capire perché non fa quello che promette. Probabilmente è un problema mio, ma non è questo lo spirito giusto. Dovresti a mio avviso prenderti un bel manuale di Python, cercare di capire quello che lo script fa e dopo opportune prove, isolare la sezione che non capisci o che ti è oscura e chiedere spiegazioni/aiuto solo su quella. Fare così come hai fatto tu non ha senso per me, non ti porterà nulla e farà venire mal di testa a chi risponde. Cya |
|
Scritto da TheUSB |
2017-05-28 21:14:43 - Re: Salve a tutti, ho un problema di compilazione
|
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?
|
Pagina: 1
Esegui il login per scrivere una risposta.