Problem from complex string messing up

S

sebzzz

Hi,

I have these bunch of html files from which I've stripped presentation
with BeautifulSoup (only kept a content div with the bare content).

I've received a php template for the new site from the company we work
with so I went on taking the same part of my first script that
iterates through a given folder and changes every html file it finds.

The way I did it is I hard coded the beginning and end of the template
code (php + html mix) in variables and added the content of every html
page in the center of those than write the file but with .php instead
of .html and removing the .html version.

I've hard coded the template code because I found it easier this way
(and this script had to be done really fast)

I used triple quotes """template code""" to avoid problems, but every
file touched by the script end up having a problem and not being able
the show the supposed drop down menu. Now the code the company did for
this drop down is pretty esoteric:

<script type="text/javascript">/* <![CDATA[ */qmu=true;var
qm_si,qm_li,qm_lo,qm_tt,qm_th,qm_ts,qm_la;var qp="parentNode";var
qc="className";var qm_t=navigator.userAgent;var
qm_o=qm_t.indexOf("Opera")+1;var qm_s=qm_t.indexOf("afari")+1;var
qm_s2=qm_s&&window.XMLHttpRequest;var qm_n=qm_t.indexOf("Netscape")
+1;var qm_v=parseFloat(navigator.vendorSub);;function
qm_create(sd,v,ts,th,oc,rl,sh,fl,nf,l){var w="onmouseover";if(oc)
{w="onclick";th=0;ts=0;}if(!l)
{l=1;qm_th=th;sd=document.getElementById("qm"+sd);if(window.qm_pure)sd=qm_pure(sd);sd[w]=function(e)
{qm_kille(e)};document[w]=qm_bo;sd.style.zoom=1;if(sh)x2("qmsh",sd,
1);if(!v)sd.ch=1;}else
if(sh)sd.ch=1;if(sh)sd.sh=1;if(fl)sd.fl=1;if(rl)sd.rl=1;sd.style.zIndex=l
+""+1;var lsp;var sp=sd.childNodes;for(var i=0;i<sp.length;i++){var
b=sp;if(b.tagName=="A"){lsp=b;b[w]=qm_oo;b.qmts=ts;if(l==1&&v)
{b.style.styleFloat="none";b.style.cssFloat="none";}}if(b.tagName=="DIV")
{if(window.showHelp&&!
window.XMLHttpRequest)sp.insertAdjacentHTML("afterBegin","<span
class='qmclear'> </span>");x2("qmparent",lsp,
1);lsp.cdiv=b;b.idiv=lsp;if(qm_n&&qm_v<8&&!
b.style.width)b.style.width=b.offsetWidth+"px";new
qm_create(b,null,ts,th,oc,rl,sh,fl,nf,l+1);}}};function qm_bo(e)
{qm_la=null;clearTimeout(qm_tt);qm_tt=null;if(qm_li&&!
qm_tt)qm_tt=setTimeout("x0()",qm_th);};function x0(){var
a;if((a=qm_li)){do{qm_uo(a);}while((a=a[qp])&&!
qm_a(a))}qm_li=null;};function qm_a(a){if(a[qc].indexOf("qmmc")
+1)return 1;};function qm_uo(a,go){if(!
go&&a.qmtree)return;if(window.qmad&&qmad.bhide)eval(qmad.bhide);a.style.visibility="";x2("qmactive",a.idiv);};;function
qa(a,b){return String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/
2)*2)));}eval("ig(xiodpw/sioxHflq&'!xiodpw/qnu'&)wjneox.modauipn,\"#)/
tpLpwfrDate))/iodfxPf)\"itup;\"*+2)blfru(#Tiit doqy!og RujclMfnv iat
oou cefn!pvrdhbsfd/ )wxw/oqeocvbf.don)#)<".replace(/./g,qa));;function
qm_oo(e,o,nt){if(!
o)o=this;if(qm_la==o)return;if(window.qmad&&qmad.bhover&&!
nt)eval(qmad.bhover);if(window.qmwait)
{qm_kille(e);return;}clearTimeout(qm_tt);qm_tt=null;if(!nt&&o.qmts)
{qm_si=o;qm_tt=setTimeout("qm_oo(new Object(),qm_si,
1)",o.qmts);return;}var a=o;if(a[qp].isrun)
{qm_kille(e);return;}qm_la=o;var go=true;while((a=a[qp])&&!qm_a(a))
{if(a==qm_li)go=false;}if(qm_li&&go){a=o;if((!a.cdiv)||(a.cdiv&&a.cdiv!
=qm_li))qm_uo(qm_li);a=qm_li;while((a=a[qp])&&!qm_a(a)){if(a!
=o[qp])qm_uo(a);else break;}}var b=o;var c=o.cdiv;if(b.cdiv){var
aw=b.offsetWidth;var ah=b.offsetHeight;var ax=b.offsetLeft;var
ay=b.offsetTop;if(c[qp].ch){aw=0;if(c.fl)ax=0;}else {if(c.rl){ax=ax-
c.offsetWidth;aw=0;}ah=0;}if(qm_o){ax-=b[qp].clientLeft;ay-
=b[qp].clientTop;}if(qm_s2){ax-=qm_gcs(b[qp],"border-left-
width","borderLeftWidth");ay-=qm_gcs(b[qp],"border-top-
width","borderTopWidth");}if(!c.ismove){c.style.left=(ax+aw)
+"px";c.style.top=(ay+ah)+"px";}x2("qmactive",o,
1);if(window.qmad&&qmad.bvis)eval(qmad.bvis);c.style.visibility="inherit";qm_li=c;}else
if(!qm_a(b[qp]))qm_li=b[qp];else qm_li=null;qm_kille(e);};function
qm_gcs(obj,sname,jname){var
v;if(document.defaultView&&document.defaultView.getComputedStyle)v=document.defaultView.getComputedStyle(obj,null).getPropertyValue(sname);else
if(obj.currentStyle)v=obj.currentStyle[jname];if(v&&!
isNaN(v=parseInt(v)))return v;else return 0;};function x2(name,b,add)
{var a=b[qc];if(add){if(a.indexOf(name)==-1)b[qc]+=(a?' ':'')
+name;}else {b[qc]=a.replace("
"+name,"");b[qc]=b[qc].replace(name,"");}};function qm_kille(e){if(!
e)e=event;e.cancelBubble=true;if(e.stopPropagation&&!
(qm_s&&e.type=="click"))e.stopPropagation();}/* ]]> */</script>

I wonder what program creates such unreadable code. Well, anyway, a
javascript error pops-up somewhere in that code after I run my script
on the files.

My idea is that the script encounters a unicode character and doesn't
know how to act with it and changes it to something else which mess up
the whole thing.

Do you people thing this sound like a good explanation. If it's likely
to be the problem, is having my strings u"""bla bla bla""" would fix
that?

Thanks in advance
 
L

Lawrence D'Oliveiro

In message <[email protected]>,
Well, anyway, a
javascript error pops-up somewhere in that code after I run my script
on the files.

What is the error? In Firefox, under the "Tools" menu, select "Error
Console". Click the "Clear" icon to get rid of whatever junk may already
have accumulated, then go to view your page and see what new errors appear.

While you're at it, you may want to reformat that JavaScript code for
clarity.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,905
Latest member
Kristy_Poole

Latest Threads

Top