x86doc
x86doc copied to clipboard
Another extraction fails (and an offer)
Offer
If you fix my error, I will convert the output to a set of Python dictionaries.
- A dictionary using opcode hex values as keys to access opcode name and info
- A dictionary using opcode name to access opcode hex values and info.
Hopefully, you will want to pull my dictionaries into your offering.
Question
Is it unreasonable to use extract.py on the full converted PDFs as opposed to clipped at AAA?
Error seen during extraction
Writing to html/FCLEX:FNCLEX.html
[<OpenTag p >, <OpenTag em >, <OpenTag sup >]
[<OpenTag p >, u'W', u'h', u'e', u'n', u' ', u'o', u'p', u'e', u'r', u'a', u't', u'i', u'n', u'g', u' ', u'a', u' ', u'P', u'e', u'n', u't', u'i', u'u', u'm', u' ', u'o', u'r', u' ', u'I', u'n', u't', u'e', u'l', u'4', u'8', u'6', u' ', u'p', u'r', u'o', u'c', u'e', u's', u's', u'o', u'r', u' ', u'i', u'n', u' ', u'M', u'S', u'-', u'D', u'O', u'S', u'*', u' ', u'c', u'o', u'm', u'p', u'a', u't', u'i', u'b', u'i', u'l', u'i', u't', u'y', u' ', u'm', u'o', u'd', u'e', u',', u' ', u'i', u't', u' ', u'i', u's', u' ', u'p', u'o', u's', u's', u'i', u'b', u'l', u'e', u' ', u'(', u'u', u'n', u'd', u'e', u'r', u' ', u'u', u'n', u'u', u's', u'u', u'a', u'l', ' ', u'c', u'i', u'r', u'c', u'u', u'm', u's', u't', u'a', u'n', u'c', u'e', u's', u')', u' ', u'f', u'o', u'r', u' ', u'a', u'n', u' ', u'F', u'N', u'C', u'L', u'E', u'X', u' ', u'i', u'n', u's', u't', u'r', u'u', u'c', u't', u'i', u'o', u'n', u' ', u't', u'o', u' ', u'b', u'e', u' ', u'i', u'n', u't', u'e', u'r', u'r', u'u', u'p', u't', u'e', u'd', u' ', u'p', u'r', u'i', u'o', u'r', u' ', u't', u'o', u' ', u'b', u'e', u'i', u'n', u'g', u' ', u'e', u'x', u'e', u'c', u'u', u't', u'e', u'd', u' ', u't', u'o', u' ', u'h', u'a', u'n', u'd', u'l', u'e', u' ', u'a', u' ', u'p', u'e', u'n', u'd', u'i', u'n', u'g', u' ', u'F', u'P', u'U', u' ', u'e', u'x', u'c', u'e', u'p', u'-', u't', u'i', u'o', u'n', u'.', u' ', u'S', u'e', u'e', u' ', u't', u'h', u'e', u' ', u's', u'e', u'c', u't', u'i', u'o', u'n', u' ', u't', u'i', u't', u'l', u'e', u'd', u' ', u'\u201c', u'N', u'o', u'-', u'W', u'a', u'i', u't', u' ', u'F', u'P', u'U', u' ', u'I', u'n', u's', u't', u'r', u'u', u'c', u't', u'i', u'o', u'n', u's', u' ', u'C', u'a', u'n', u' ', u'G', u'e', u't', u' ', u'F', u'P', u'U', u' ', u'I', u'n', u't', u'e', u'r', u'r', u'u', u'p', u't', u' ', u'i', u'n', u' ', u'W', u'i', u'n', u'd', u'o', u'w', u'\u201d', u' ', u'i', u'n', u' ', u'A', u'p', u'p', u'e', u'n', u'd', u'i', u'x', u' ', u'D', u' ', u'o', u'f', u' ', u't', u'h', u'e', u' ', <OpenTag em >, u'I', u'n', u't', u'e', u'l', <OpenTag sup >, u'\xae', ' ', u'6', u'4', u' ', u'a', u'n', u'd', u' ', u'I', u'A', u'-', u'3', u'2', u' ', u'A', u'r', u'c', u'h', u'i', u't', u'e', u'c', u't', u'u', u'r', u'e', u's', u' ', u'S', u'o', u'f', u't', u'w', u'a', u'r', u'e', u' ', u'D', u'e', u'v', u'e', u'l', u'o', u'p', u'e', u'r', u'\u2019', u's', u' ', u'M', u'a', u'n', u'u', u'a', u'l', u',', u' ', u'V', u'o', u'l', u'u', u'm', u'e', u' ', u'1', <CloseTag em>, u',', u' ', u'f', u'o', u'r', u' ', u'a', u' ', u'd', u'e', u's', u'c', u'r', u'i', u'p', u't', u'i', u'o', u'n', u' ', u'o', u'f', u' ', u't', u'h', u'e', u's', u'e', u' ', u'c', u'i', u'r', u'c', u'u', u'm', u's', u't', u'a', u'n', u'c', u'e', u's', u'.', u' ', u'A', u'n', ' ', u'F', u'N', u'C', u'L', u'E', u'X', u' ', u'i', u'n', u's', u't', u'r', u'u', u'c', u't', u'i', u'o', u'n', u' ', u'c', u'a', u'n', u'n', u'o', u't', u' ', u'b', u'e', u' ', u'i', u'n', u't', u'e', u'r', u'r', u'u', u'p', u't', u'e', u'd', u' ', u'i', u'n', u' ', u't', u'h', u'i', u's', u' ', u'w', u'a', u'y', u' ', u'o', u'n', u' ', u'a', u' ', u'P', u'e', u'n', u't', u'i', u'u', u'm', u' ', u'4', u',', u' ', u'I', u'n', u't', u'e', u'l', u' ', u'X', u'e', u'o', u'n', u',', u' ', u'o', u'r', u' ', u'P', u'6', u' ', u'f', u'a', u'm', u'i', u'l', u'y', u' ', u'p', u'r', u'o', u'c', u'e', u's', u's', u'o', u'r', u'.']
Traceback (most recent call last):
File "extract.py", line 41, in <module>
result = main(sys.argv)
File "extract.py", line 33, in main
parser.process_page(page)
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 303, in process_page
self.end_page(page)
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 255, in end_page
self.flush()
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 239, in flush
self.__output_file(displayable)
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 354, in __output_file
file_data = self.__output_page(displayable).encode("UTF-8")
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 373, in __output_page
text.append(self.__output_html(element))
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 385, in __output_html
result = self.__output_text(element)
File "/Users/jlettvin/Desktop/github/x86doc/x86manual.py", line 574, in __output_text
text.autoclose()
File "/Users/jlettvin/Desktop/github/x86doc/htmltext.py", line 56, in autoclose
raise Exception("autoclose mismatch")
Exception: autoclose mismatch