On Fri, 2006-11-03 at 02:10 +0100, Vibe Grevsen wrote: > Hi again, > > good news - I fiddled a bit more and got it working under Windows :) :) :) >
Hello, > > >> ocr = os.popen( ( "ocrad -s %s -c %s -x %s < %s 2>" + os.path.devnull ) % > >> (scale, charset, orf, pnmfile)) > > > or better use os.popen3 and discard stderr output. > > os.popen3() does not seem to support the read()-method? Are you sure? I have used It on at least a couple of version of python. If you look into the code snippet I sent yesterday you may see few line commented calling ocrad using popen3 and it works (at least on of a few computers I tested it) > > > > On windows you have to put quote around pnmfile to protect against space > > in path (also un linux you should have them but it's unlikely you get a > > path with a space). > > Oh, YES, you're absolutely right. > Thank you for this suggestion. > > > > On windows there is also an other caveat. > > you should put quote also around ocrad path but if you do that you have > > to quote everything. > > to explain the command should be: > > > ocr_cmd = r'""ocrad_path" -s %s -c %s "%s""'%(scale, charset, pnmfile) > > fin, fout, ferrr = os.popen3(ocr_cmd) > > I tested your suggestion, but it seemed to resolve wrong in the interpreter. > Also popen3() could not be read() so I changed it a bit Strange. It's work for me > > # u: unicode support, r: raw string > ocr_cmd = ur'ocrad -s %s -c %s "%s"' % (scale, charset, > pnmfile) > ocr = os.popen( ocr_cmd ) > > I also tested this > > # u: unicode support, r: raw string > ocr_cmd = ( ur'ocrad -s %s -c %s < "%s" 2>' + os.path.devnull > ) % (scale, charset, pnmfile) > ocr = os.popen( ocr_cmd ) > > Both working in windows so Skip can pick whichever he likes best ;) Does 2> really work? I think it kind of works because it's ignored by cmd.exe but it's a unix sh construct (I'm not really sure if it even works using csh derived shells) > > > >> Maybe you could hint on other parts of the sources I should check for the > >> next lead? > > With the above change I only had to do one more thing... > Comment out the check for ocrad, then OCR is working. (Assuming ocrad 0.16 is > in the path.) > > This means that we should probably work on testing the find_program and > is_executable procedures. > As soon as they are finished I could probably start on a new > exe-installer-version. > I think I figured how to include PIL in the exe aswell. > > > >> ocrad -s4 -x out.txt >ocr.txt logo.pgm > >> did produce an ocr.txt but no out.txt for this image > >> http://www.unlockaarhus.dk/dev/logo.pgm. > > > using -s (and other flags as well) disable -x. > > Hmm, bug, no, better undocumented feature? :) oh yes, you have to look inside the source code to find it > (At least it's not explained in the ocrad readme as far as I can see...) > > > > orf file is never used. probably is there from the start before skip > > introduce the scale parameter > > Actually he tries to count the number of lines in orf I think no, he looks for line starting with line that probably it's related to the number of line in the output. > > for line in open(orf): > ... > > But this could of course be done directly on ocr.read(). > > > Happy coding :) > > Vibe > _______________________________________________ > [email protected] > http://mail.python.org/mailman/listinfo/spambayes > Check the FAQ before asking: http://spambayes.sf.net/faq.html -- Luigi Pugnetti Symbolic S.p.A. V.le Mentana, 29 I-43100 Parma Italy Tel: +39 0521 708811 Fax: +39 0521 776190 _______________________________________________ [email protected] http://mail.python.org/mailman/listinfo/spambayes Check the FAQ before asking: http://spambayes.sf.net/faq.html
