RaspberryPiFoundation / lesson_format

Lesson formatter
17 stars 28 forks source link

Erro while trying to build project #189

Closed erikhenrique closed 7 years ago

erikhenrique commented 8 years ago

I'm trying to build the project to see the pdf files before made a PR of translation. But, for some reason the make pages_cc got fail. Can anyone help me? What I'm doing wrong?

Full trace of error:

make pages_cc
python build.py  cc lessons/scratch lessons/python lessons/webdev output/codeclub
Traceback (most recent call last):
  File "build.py", line 890, in build
    term = parse_manifest(m, theme)
  File "build.py", line 1015, in parse_manifest
    project = parse_project_manifest(p, base_dir, theme)
  File "build.py", line 1036, in parse_project_manifest
    filename  = expand_glob(base_dir, p['filename'],     one_file = True)
  File "build.py", line 1271, in expand_glob
    raise AssertionError("Looked for one file matching '%s', found: %r"%(os.path.join(base_dir,paths), output))
AssertionError: Looked for one file matching '/home/vagrant/lesson_format/lessons/scratch/pl-PL/Semestr 1/Pogromcy duch\xf3w/Pogromcy duch\xf3w.md', found: []
Traceback (most recent call last):
  File "build.py", line 890, in build
    term = parse_manifest(m, theme)
  File "build.py", line 1015, in parse_manifest
    project = parse_project_manifest(p, base_dir, theme)
  File "build.py", line 1036, in parse_project_manifest
    filename  = expand_glob(base_dir, p['filename'],     one_file = True)
  File "build.py", line 1268, in expand_glob
    output = glob.glob(os.path.join(base_dir, paths))
  File "/usr/lib/python2.7/glob.py", line 16, in glob
    return list(iglob(pathname))
  File "/usr/lib/python2.7/glob.py", line 25, in iglob
    if os.path.lexists(pathname):
  File "/home/vagrant/lesson_format/venv/lib/python2.7/posixpath.py", line 143, in lexists
    os.lstat(path)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 50-54: ordinal not in range(256)
Traceback (most recent call last):
  File "build.py", line 890, in build
    term = parse_manifest(m, theme)
  File "build.py", line 1015, in parse_manifest
    project = parse_project_manifest(p, base_dir, theme)
  File "build.py", line 1036, in parse_project_manifest
    filename  = expand_glob(base_dir, p['filename'],     one_file = True)
  File "build.py", line 1268, in expand_glob
    output = glob.glob(os.path.join(base_dir, paths))
  File "/usr/lib/python2.7/glob.py", line 16, in glob
    return list(iglob(pathname))
  File "/usr/lib/python2.7/glob.py", line 25, in iglob
    if os.path.lexists(pathname):
  File "/home/vagrant/lesson_format/venv/lib/python2.7/posixpath.py", line 143, in lexists
    os.lstat(path)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 50-56: ordinal not in range(256)
Traceback (most recent call last):
  File "build.py", line 890, in build
    term = parse_manifest(m, theme)
  File "build.py", line 1015, in parse_manifest
    project = parse_project_manifest(p, base_dir, theme)
  File "build.py", line 1036, in parse_project_manifest
    filename  = expand_glob(base_dir, p['filename'],     one_file = True)
  File "build.py", line 1268, in expand_glob
    output = glob.glob(os.path.join(base_dir, paths))
  File "/usr/lib/python2.7/glob.py", line 16, in glob
    return list(iglob(pathname))
  File "/usr/lib/python2.7/glob.py", line 25, in iglob
    if os.path.lexists(pathname):
  File "/home/vagrant/lesson_format/venv/lib/python2.7/posixpath.py", line 143, in lexists
    os.lstat(path)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 50-59: ordinal not in range(256)
pandoc: When expecting a product of 3 values, encountered an Array of 2 elements instead
Traceback (most recent call last):
  File "build.py", line 1363, in <module>
    build(p.pdf_generator, p.lesson_dirs, p.region, p.output_dir, p.verbose)
  File "build.py", line 964, in build
    built_project = build_project(pdf_generator, term, project, language, theme, output_dir, project_dir, term_breadcrumb)
  File "build.py", line 358, in build_project
    output_files, generated_pdf = process_file(input_file, project_breadcrumb, lesson_style, project, language, theme, root_dir, output_dir, pdf_generator)
  File "build.py", line 298, in process_file
    markdown_to_html(input_file, breadcrumb, style, project, language, theme, root_dir, output_file)
  File "build.py", line 178, in markdown_to_html
    pandoc_html(markdown_file, style, project, language, theme, variables, commands, root_dir, output_file)
  File "build.py", line 163, in pandoc_html
    subprocess.check_call(cmd, cwd=working_dir)
  File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pandoc', u'/home/vagrant/lesson_format/lessons/scratch/en-GB/Term 2/Memory/Memory.md', '-o', u'/home/vagrant/lesson_format/output/codeclub/en-GB/02_scratch_02/01/Memory.html', '-t', 'html5', '--section-divs', '--smart', '--template=/home/vagrant/lesson_format/assets/templates/lesson.html', '--filter', '/home/vagrant/lesson_format/lib/pandoc_scratchblocks/filter.py', '-M', u'registration_note=All Code Clubs <u>must be registered</u>. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You can register your club at <a href="https://www.codeclubworld.org/">codeclubworld.org</a>.', '-M', u'legal=These projects are for use outside the UK only. More information is available on our website at <a href="https://codeclubworld.org/">www.codeclubworld.org</a>.<br />This coursework is developed in the open on GitHub, at <a href="https://github.com/CodeClub/">www.github.com/CodeClub</a>. Come and join us!', '-M', 'year=2016', '-M', 'beta=False', '-M', u'organization=Code Club World Projects', '-M', u'logo=/img/cc_logo.png', '-M', u'favicon=/img/cc_favicon.ico', '-M', 'root=../../..', '-M', u'lang=en-GB', '-M', 'rtl=False', '-M', u'theme=cc', '-M', u'webmaster_tools_verification=LAa8xdL-G6vOe9RSZnECSduS5m1BMiM8U2erQku5yIE', '-M', u'analytics_account=UA-30750176-5', '-M', u'analytics_domain=projects.codeclubworld.org', '-f', 'markdown_github-implicit_figures+header_attributes+yaml_metadata_block+inline_code_attributes+footnotes', '-c', '../../../js/prism.js', '-c', '../../../js/lesson.js', '-c', '../../../css/prism.css', '-c', '../../../css/master.min.css', '-M', 'leg_save_desc=Make sure to <span class="save_text upper">save</span> your work now', '-M', 'leg_test=Test your Project', '-M', 'leg_test_desc=Click on the green flag to <span class="flag_text upper">test</span> your code', '-M', 'breadcrumbs=<ul class="breadcrumbs-list"><li class="breadcrumbs-item"><a class="breadcrumbs-link" href="../../../index.html">Languages</a></li><li class="breadcrumbs-item"><a class="breadcrumbs-link" href="../../index.html">English</a></li><li class="breadcrumbs-item"><a class="breadcrumbs-link" href="../index.html">Scratch 2</a></li><li class="breadcrumbs-item current">Memory</li></ul>', '-M', 'leg_save=Save your Project', '-M', 'leg_activity_desc=Follow these <span class="check_text upper">instructions</span> one by one', '-M', 'leg_activity=Activity Checklist']' returned non-zero exit status 1
make: *** [pages_cc] Error 1

Python version: 2.7.3 pandoc version: 1.16.0.2 NodeJs version: 1.4.29

Thanks

martinpeck commented 8 years ago

Can you try downgrading pandoc? I've seen similar issues with latest pandoc builds.

Try downgrading to 1.13.2

(if you're using homebrew to install pandoc, this is the oldest version they have on tap)

martinpeck commented 8 years ago

The reason I saw the above is because I recently had...

pandoc: When expecting a product of 3 values, encountered an Array of 2 elements instead

... and downgrading fixed it. That said, I've not seen the unicode issues you're seeing, so I can't be sure the pandoc version is causing that.

martinpeck commented 7 years ago

Closing this for now.

erikhenrique commented 7 years ago

@martinpeck sorry man, I din't received any notifications from this thread. I make the downgrading for the version 1.13.2 and now is working fine.

Thanks a lot! I will try to create a Vagrantfile to use virtual machine to do the hard work.