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.

