<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog.hio.fr</title>
	<atom:link href="http://blog.hio.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hio.fr</link>
	<description></description>
	<lastBuildDate>Wed, 24 Feb 2010 07:49:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PYTHON verifier la syntaxe d&#8217;un projet php</title>
		<link>http://blog.hio.fr/2010/02/23/python-verifier-la-syntaxe-dun-projet-php/</link>
		<comments>http://blog.hio.fr/2010/02/23/python-verifier-la-syntaxe-dun-projet-php/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 14:54:46 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=526</guid>
		<description><![CDATA[python php_syntax.py (-e pour voir seulement les fichiers contenant une erreur)]]></description>
			<content:encoded><![CDATA[<p>python php_syntax.py (-e pour voir seulement les fichiers contenant une erreur)</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">mimetypes</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> red<span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\x</span>1b<span style="color: #000099; font-weight: bold;">\x</span>5b1;31;40m%s<span style="color: #000099; font-weight: bold;">\x</span>1b<span style="color: #000099; font-weight: bold;">\x</span>5b0;37;40m'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> green<span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\x</span>1b<span style="color: #000099; font-weight: bold;">\x</span>5b1;32;40m%s<span style="color: #000099; font-weight: bold;">\x</span>1b<span style="color: #000099; font-weight: bold;">\x</span>5b0;37;40m'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">string</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> count<span style="color: black;">&#40;</span><span style="color: #008000;">list</span><span style="color: black;">&#41;</span>:
    line_count = <span style="color: #ff4500;">0</span>
    <span style="color: #ff7700;font-weight:bold;">for</span> line <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">list</span>:
        line_count += <span style="color: #ff4500;">1</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> line_count
&nbsp;
mimeArray = <span style="color: black;">&#91;</span><span style="color: #483d8b;">'application/x-httpd-php'</span><span style="color: black;">&#93;</span>
errors_count = <span style="color: #ff4500;">0</span>
files_count = <span style="color: #ff4500;">0</span>
lines_count = <span style="color: #ff4500;">0</span>
bytes_count = <span style="color: #ff4500;">0</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #483d8b;">'-e'</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">argv</span>:
    showonlyerror = <span style="color: #ff4500;">1</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
    showonlyerror = <span style="color: #ff4500;">0</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> path, dirs, files <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">walk</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.'</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">file</span> <span style="color: #ff7700;font-weight:bold;">in</span> files:
        f_mime = <span style="color: #dc143c;">mimetypes</span>.<span style="color: black;">guess_type</span><span style="color: black;">&#40;</span><span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span> f_mime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> <span style="color: #ff7700;font-weight:bold;">in</span> mimeArray:
            f_path = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>path, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
            a = <span style="color: #dc143c;">os</span>.<span style="color: black;">popen</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'php -l %s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">readlines</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
            b = <span style="color: #008000;">open</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span>
            counta = count<span style="color: black;">&#40;</span>a<span style="color: black;">&#41;</span>
            sizea = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span>
            line_count = count<span style="color: black;">&#40;</span>b<span style="color: black;">&#41;</span>
            files_count += <span style="color: #ff4500;">1</span>
            bytes_count += sizea
            lines_count += line_count
            <span style="color: #ff7700;font-weight:bold;">if</span> counta <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">1</span>:
                errors_count += <span style="color: #ff4500;">1</span>
                <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'%s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>red<span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    %s, %s line(s), %s byte(s)'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>f_mime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, line_count, sizea<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">for</span> p <span style="color: #ff7700;font-weight:bold;">in</span> a:
                    <span style="color: #ff7700;font-weight:bold;">if</span> p <span style="color: #66cc66;">!</span>= <span style="color: #483d8b;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span>:
                        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    %s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>p.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">else</span>:
                <span style="color: #ff7700;font-weight:bold;">if</span> showonlyerror == <span style="color: #ff4500;">0</span>:
                    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'%s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>green<span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    %s, %s line(s), %s byte(s)'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>f_mime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>, line_count, sizea<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                    <span style="color: #ff7700;font-weight:bold;">for</span> p <span style="color: #ff7700;font-weight:bold;">in</span> a:
                        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    %s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>p.<span style="color: black;">strip</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">print</span>
<span style="color: #ff7700;font-weight:bold;">if</span> errors_count <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    file(s): %i, lines: %i, bytes: %i, error: %s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>files_count, lines_count, bytes_count, red<span style="color: black;">&#40;</span>errors_count<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">else</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'    file(s): %i, lines: %i, bytes: %i, error: %s'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>files_count, lines_count, bytes_count, green<span style="color: black;">&#40;</span>errors_count<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><strong>sorti:</strong><br />
<a href="http://blog.hio.fr/wp-content/2010/02/php_syntax_01.png"><img src="http://blog.hio.fr/wp-content/2010/02/php_syntax_01-300x173.png" alt="" title="php_syntax_01" width="300" height="173" class="alignnone size-medium wp-image-527" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/02/23/python-verifier-la-syntaxe-dun-projet-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PYTHON image resize</title>
		<link>http://blog.hio.fr/2010/02/17/python-images-resize/</link>
		<comments>http://blog.hio.fr/2010/02/17/python-images-resize/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 11:33:32 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[resize]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=521</guid>
		<description><![CDATA[Convertir des images pour le web de façon récursive et en reproduisant a la sortie la même arborescence que dans le répertoire d'origine,
Ce script est appeler a être modifier souvent, pour finir par arriver vers ce que je veux faire, multi-threader la conversion et que çe soit le plus efficace possible ^^]]></description>
			<content:encoded><![CDATA[<p>Convertir des images pour le web de façon récursive et en reproduisant a la sortie la même arborescence que dans le répertoire d&#8217;origine,<br />
Ce script est appeler a être modifier souvent, pour finir par arriver vers ce que je veux faire multi-threader la conversion et que çe soit le plus efficace possible ^^</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">mimetypes</span>
<span style="color: #ff7700;font-weight:bold;">import</span> Image
<span style="color: #ff7700;font-weight:bold;">import</span> ImageFilter
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> pix:
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, pixdir, outputdir<span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>.<span style="color: black;">pixdir</span> = pixdir
        <span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span> = outputdir
        <span style="color: #008000;">self</span>.<span style="color: black;">mimeArray</span> = <span style="color: black;">&#91;</span><span style="color: #483d8b;">'image/jpeg'</span>, <span style="color: #483d8b;">'image/png'</span><span style="color: black;">&#93;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">prepare</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> = <span style="color: #483d8b;">'N'</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> prepare<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">if</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>:
            <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mkdir %s&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            <span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span><span style="color: black;">&#41;</span>
        pixArray = <span style="color: black;">&#123;</span><span style="color: black;">&#125;</span>
        i = <span style="color: #ff4500;">0</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> path, dirs, files <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">walk</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixdir</span><span style="color: black;">&#41;</span>:
            tmp = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span> , path.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixdir</span>, <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span>tmp<span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span>:
                <span style="color: #dc143c;">os</span>.<span style="color: black;">mkdir</span><span style="color: black;">&#40;</span>tmp<span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;mkdir %s&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>tmp<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">file</span> <span style="color: #ff7700;font-weight:bold;">in</span> files:
                f_path = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>path, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
                f_mime = <span style="color: #dc143c;">mimetypes</span>.<span style="color: black;">guess_type</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">if</span> f_mime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">self</span>.<span style="color: black;">mimeArray</span>:
                    f_size = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span>
                    pixArray<span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span> = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'oldpath'</span>: <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>path, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>,
                                   <span style="color: #483d8b;">'newpath'</span>: <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>tmp, <span style="color: #008000;">file</span>.<span style="color: black;">lower</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>,
                                   <span style="color: #483d8b;">'size'</span>: <span style="color: #008000;">self</span>.<span style="color: black;">o2ko</span><span style="color: black;">&#40;</span>f_size<span style="color: black;">&#41;</span>,
                                   <span style="color: #483d8b;">'mimetype'</span>: f_mime<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span><span style="color: black;">&#125;</span>
                    i += <span style="color: #ff4500;">1</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">count</span> = i
        <span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span> = pixArray
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> o2ko<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, o<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">return</span> o/<span style="color: #ff4500;">1024</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> convert<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, oldpath, newpath<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">try</span>:
            bf_size = <span style="color: #008000;">self</span>.<span style="color: black;">o2ko</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>oldpath<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            bi = Image.<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>oldpath<span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #ff7700;font-weight:bold;">if</span> bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">2500</span>:
                w = bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span> <span style="color: #66cc66;">*</span> <span style="color: #ff4500;">50</span> / <span style="color: #ff4500;">100</span>
                h = bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span> <span style="color: #66cc66;">*</span> <span style="color: #ff4500;">50</span> / <span style="color: #ff4500;">100</span>
            <span style="color: #ff7700;font-weight:bold;">else</span>:
                w = bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>
                h = bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>
&nbsp;
            bi = bi.<span style="color: black;">resize</span><span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>w, h<span style="color: black;">&#41;</span>, Image.<span style="color: black;">ANTIALIAS</span><span style="color: black;">&#41;</span>
            bi.<span style="color: black;">save</span><span style="color: black;">&#40;</span>newpath, <span style="color: #483d8b;">'JPEG'</span><span style="color: black;">&#41;</span>     
            ai = Image.<span style="color: #008000;">open</span><span style="color: black;">&#40;</span>newpath<span style="color: black;">&#41;</span>
            af_size = <span style="color: #008000;">self</span>.<span style="color: black;">o2ko</span><span style="color: black;">&#40;</span><span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>newpath<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>[%ix%i %sKo %s] %s<span style="color: #000099; font-weight: bold;">\n</span>   to <span style="color: #000099; font-weight: bold;">\n</span>[%ix%i %sKo %s] %s&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,
                                                                      bi.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,
                                                                      bf_size,
                                                                      bi.<span style="color: black;">mode</span>,
                                                                      oldpath,
                                                                      ai.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span>,
                                                                      ai.<span style="color: black;">size</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span>,
                                                                      af_size,
                                                                      ai.<span style="color: black;">mode</span>,
                                                                      newpath<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">except</span> <span style="color: #008000;">IOError</span>:
            <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>image file %s is endomaged&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>oldpath<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> run<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">for</span> i <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span>:
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'newpath'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">1</span>:
                <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> <span style="color: #66cc66;">!</span>= <span style="color: #483d8b;">'ALL'</span> <span style="color: #ff7700;font-weight:bold;">and</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> <span style="color: #66cc66;">!</span>= <span style="color: #483d8b;">'NALL'</span>:
                    <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Overwrite %s [Y,N,ALL,NALL]: [N] &quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'newpath'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
                <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> <span style="color: #ff7700;font-weight:bold;">not</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: black;">&#91;</span><span style="color: #483d8b;">'Y'</span>, <span style="color: #483d8b;">'N'</span>, <span style="color: #483d8b;">'ALL'</span>, <span style="color: #483d8b;">'NALL'</span><span style="color: black;">&#93;</span>:
                    <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> = <span style="color: #008000;">raw_input</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Please answer [Y,N,ALL,NALL]: [N] &quot;</span><span style="color: black;">&#41;</span>
&nbsp;
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> == <span style="color: #483d8b;">'Y'</span> <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> == <span style="color: #483d8b;">'ALL'</span>:
                <span style="color: #008000;">self</span>.<span style="color: black;">convert</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'oldpath'</span><span style="color: black;">&#93;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'newpath'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
            <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">self</span>.<span style="color: black;">overwrite</span> == <span style="color: #483d8b;">'NALL'</span> <span style="color: #ff7700;font-weight:bold;">or</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">exists</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'newpath'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span> == <span style="color: #ff4500;">0</span>:
                <span style="color: #008000;">self</span>.<span style="color: black;">convert</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'oldpath'</span><span style="color: black;">&#93;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">pixArray</span><span style="color: black;">&#91;</span>i<span style="color: black;">&#93;</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'newpath'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> stats<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #008000;">dir</span><span style="color: black;">&#41;</span>:
        n_files = <span style="color: #ff4500;">0</span>
        d_size = <span style="color: #ff4500;">0</span>
        <span style="color: #ff7700;font-weight:bold;">for</span> path, dirs, files <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">walk</span><span style="color: black;">&#40;</span><span style="color: #008000;">dir</span><span style="color: black;">&#41;</span>:
            <span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">file</span> <span style="color: #ff7700;font-weight:bold;">in</span> files:
                f_path = <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">join</span><span style="color: black;">&#40;</span>path, <span style="color: #008000;">file</span><span style="color: black;">&#41;</span>
                n_files += <span style="color: #ff4500;">1</span>
                d_size = d_size + <span style="color: #dc143c;">os</span>.<span style="color: black;">path</span>.<span style="color: black;">getsize</span><span style="color: black;">&#40;</span>f_path<span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#123;</span><span style="color: #483d8b;">'n_files'</span>: n_files, <span style="color: #483d8b;">'d_size'</span>: d_size<span style="color: black;">&#125;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__del__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        before = <span style="color: #008000;">self</span>.<span style="color: black;">stats</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">pixdir</span><span style="color: black;">&#41;</span>
        after = <span style="color: #008000;">self</span>.<span style="color: black;">stats</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">outputdir</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Before: %i files for %sKo'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>before<span style="color: black;">&#91;</span><span style="color: #483d8b;">'n_files'</span><span style="color: black;">&#93;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">o2ko</span><span style="color: black;">&#40;</span>before<span style="color: black;">&#91;</span><span style="color: #483d8b;">'d_size'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'After : %i files for %sKo'</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>after<span style="color: black;">&#91;</span><span style="color: #483d8b;">'n_files'</span><span style="color: black;">&#93;</span>, <span style="color: #008000;">self</span>.<span style="color: black;">o2ko</span><span style="color: black;">&#40;</span>after<span style="color: black;">&#91;</span><span style="color: #483d8b;">'d_size'</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
&nbsp;
pix = pix<span style="color: black;">&#40;</span><span style="color: #483d8b;">'/home/hio/Photos/'</span>, <span style="color: #808080; font-style: italic;"># from</span>
          <span style="color: #483d8b;">'/home/hio/Photos_Web/'</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;"># to</span>
pix.<span style="color: black;">run</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/02/17/python-images-resize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LINUX &#171;&#160;udev: renamed network interface eth0 to eth1&#8243;</title>
		<link>http://blog.hio.fr/2010/01/20/linux-udev-renamed-network-interface-eth0-to-eth1/</link>
		<comments>http://blog.hio.fr/2010/01/20/linux-udev-renamed-network-interface-eth0-to-eth1/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 11:11:39 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[udev]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=515</guid>
		<description><![CDATA[Corriger en editant et en remettant dans l'ordre les bonne carte eth avec les bonne interface
]]></description>
			<content:encoded><![CDATA[<p>Corriger en editant et en remettant dans l&#8217;ordre les bonne carte eth avec les bonne interface</p>
<p>fichier a editer</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>udev<span style="color: #000000; font-weight: bold;">/</span>rules.d<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">70</span>-persistent-net.rules</pre></div></div>

<p>Changer les &laquo;&nbsp;NAME=&nbsp;&raquo; par les bonnes interfaces</p>

<div class="wp_syntax"><div class="code"><pre class="conf" style="font-family:monospace;"># This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.
&nbsp;
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM==&quot;net&quot;, DRIVERS==&quot;?*&quot;, ATTRS{address}==&quot;00:0c:29:65:ae:04&quot;, NAME=&quot;eth1&quot;
&nbsp;
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM==&quot;net&quot;, ACTION==&quot;add&quot;, DRIVERS==&quot;?*&quot;, ATTR{address}==&quot;00:1c:c0:01:5f:e0&quot;, ATTR{type}==&quot;1&quot;, KERNEL==&quot;eth*&quot;, NAME=&quot;eth0&quot;</pre></div></div>

<p>Probleme du au fait, que vous avez rajoutez une carte ethernet alors que la carte mere en possedai deja une,<br />
ca a pu fonctionner pendant un moment, et un jour pour une raison X (changement de kernel ou autre), la carte ethernet qui est sur la carte mere est passer en eth0 et n &#8216;etant pas connecter au reseau. bye bye, plus de ssh ni rien.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/01/20/linux-udev-renamed-network-interface-eth0-to-eth1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP session avec memcached</title>
		<link>http://blog.hio.fr/2010/01/16/php-session-avec-memcached/</link>
		<comments>http://blog.hio.fr/2010/01/16/php-session-avec-memcached/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:58:24 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=509</guid>
		<description><![CDATA[Comment stocker les session php dans un memcached en 1 minute chrono 

GO !]]></description>
			<content:encoded><![CDATA[<p>Comment stocker les session php dans un memcached en 1 minute chrono </p>
<p>GO !</p>
<p><strong>Installation de memcached</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> memcached
<span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> php5-memcache</pre></div></div>

<p>modifier la conf dans /etc/memcached.conf au besoin (augmenter la memoire utiliser, etc&#8230;)</p>
<p>et ensuite dans le php.ini qui devrai se trouver ici /etc/php5/apache2/php.ini</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">session.save_handler <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> memcache</span>
session.save_path<span style="color: #000066; font-weight:bold;">=</span><span style="color: #933;">&quot;tcp://127.0.0.1:11211?persistent=1&amp;weight=1&amp;timeout=1&amp;retry_interval=15&quot;</span></pre></div></div>

<p><strong>On restart apache</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></div></div>

<p>un petit script php pour voir se qu&#8217;il se passe<br />
<a href="http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/"> http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/01/16/php-session-avec-memcached/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment changer les messages par defaut des validateurs Symfony</title>
		<link>http://blog.hio.fr/2010/01/14/comment-changer-les-messages-par-defaut-des-validateurs-symfony/</link>
		<comments>http://blog.hio.fr/2010/01/14/comment-changer-les-messages-par-defaut-des-validateurs-symfony/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 14:23:51 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=389</guid>
		<description><![CDATA[Comment faire , quand on veut changer tous les messages par défaut des validateurs Symfony , sans les définir un par un par un bete 'message' => 'mais blublu' et sans allez les changer directement dans les entrailles de symfony ce qui est mal !!! C'est mal !!!]]></description>
			<content:encoded><![CDATA[<p>Comment faire , quand on veut changer tous les messages par défaut des validateurs Symfony , sans les définir un par un par un bete &#8216;message&#8217; => &#8216;mais blublu&#8217; et sans allez les changer directement dans les entrailles de symfony ce qui est mal !!! C&#8217;est mal !!!</p>
<p>oh oui dit nous père castor<br />
Et bien comme ça</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">    sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setInvalidMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Champ invalide'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setRequiredMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Champ obligatoire'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    parent<span style="color: #339933;">::</span><span style="color: #004000;">setup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ce qui nous donne dans un vrai bout de php</p>
<p><strong>VentesForm.class.php</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> VentesForm <span style="color: #000000; font-weight: bold;">extends</span> BaseVentesForm
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> configure<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setInvalidMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Champ invalide'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setRequiredMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Champ obligatoire'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    parent<span style="color: #339933;">::</span><span style="color: #004000;">setup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'created_at'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'updated_at'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span>
          <span style="color: #000088;">$this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'expires_at'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'is_active'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'uid'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfWidgetFormInput<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'type'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'hidden'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'is_hidden'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'civ'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfWidgetFormChoice<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'choices'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'M.'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'M.'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Mme'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Mme'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Mlle'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'Mlle'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'adresse1'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfWidgetFormTextarea<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'adresse2'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfWidgetFormTextarea<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'adresse3'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfWidgetFormTextarea<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">validatorSchema</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> sfValidatorEmail<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'invalid'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'L\'adresse email saisie est incorrecte'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">widgetSchema</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'numeroabo'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'N°Abonné'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p><a href="http://www.symfony-project.org/api/1_2/sfValidatorBase">sfValidatorBase</a></p>
<p><strong>NOTE:</strong><br />
Deprecated depuis la version 1.4 de symfony remplacer par<br />
sfValidatorBase::setDefaultMessage() method</p>
<p><a href="http://www.symfony-project.org/tutorial/1_4/en/deprecated">http://www.symfony-project.org/tutorial/1_4/en/deprecated</a></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setDefaultMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'invalid'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Champ invalide'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
sfValidatorBase<span style="color: #339933;">::</span><span style="color: #004000;">setDefaultMessage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'required'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Champ obligatoire'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
parent<span style="color: #339933;">::</span><span style="color: #004000;">setup</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/01/14/comment-changer-les-messages-par-defaut-des-validateurs-symfony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Symfony Text Helper</title>
		<link>http://blog.hio.fr/2010/01/08/php-symfony-text-helper/</link>
		<comments>http://blog.hio.fr/2010/01/08/php-symfony-text-helper/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 08:14:01 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[helper]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=490</guid>
		<description><![CDATA[Text Helper]]></description>
			<content:encoded><![CDATA[<p><strong>Text Helper</strong><br />
<a href="http://www.symfony-project.org/api/1_4/TextHelper">http://www.symfony-project.org/api/1_4/TextHelper</a></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> use_helper<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Text'</span><span style="color: #009900;">&#41;</span>
<span style="color: #b1b100;">echo</span> auto_link_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Turns all urls and email addresses into clickable links. The +link+ parameter can limit what should be linked.</span>
<span style="color: #b1b100;">echo</span> excerpt_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Extracts an excerpt from the +text+ surrounding the +phrase+ with a number of characters on each side determined</span>
<span style="color: #b1b100;">echo</span> highlight_text<span style="color: #009900;">&#40;</span><span style="color: #000088;">$text</span><span style="color: #339933;">,</span> <span style="color: #000088;">$phrase</span><span style="color: #339933;">,</span> <span style="color: #000088;">$highlighter</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Highlights the +phrase+ where it is found in the +text+ by surrounding it like</span>
<span style="color: #b1b100;">echo</span> simple_format_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>  <span style="color: #666666; font-style: italic;">// Returns +text+ transformed into html using very simple formatting rules</span>
<span style="color: #b1b100;">echo</span> strip_links_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Turns all links into words, like &quot;&lt;a href=&quot;something&quot;&gt;else&lt;/a&gt;&quot; to &quot;else&quot;.</span>
<span style="color: #b1b100;">echo</span> truncate_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Truncates +text+ to the length of +length+ and replaces the last three characters with the +truncate_string+</span>
<span style="color: #b1b100;">echo</span> wrap_text<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Word wrap long lines to line_width.</span>
<span style="color: #b1b100;">echo</span> _auto_link_email_addresses<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Turns all email addresses into clickable links.</span>
<span style="color: #b1b100;">echo</span> _auto_link_urls<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #666666; font-style: italic;">// Turns all urls into clickable links</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2010/01/08/php-symfony-text-helper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Symfony Date Helper</title>
		<link>http://blog.hio.fr/2009/12/24/php-symfony-divers/</link>
		<comments>http://blog.hio.fr/2009/12/24/php-symfony-divers/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 15:52:45 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[helper]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=484</guid>
		<description><![CDATA[Date helper]]></description>
			<content:encoded><![CDATA[<p><strong>Date helper</strong><br />
<a href="http://www.symfony-project.org/api/1_4/DateHelper">http://www.symfony-project.org/api/1_4/DateHelper</a></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
use_helper<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Date'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #b1b100;">echo</span> format_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span> 
<span style="color: #b1b100;">echo</span> format_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'d'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'en'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #b1b100;">echo</span> format_datetime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #009900;">&#41;</span>
<span style="color: #b1b100;">echo</span> format_date<span style="color: #009900;">&#40;</span><span style="color: #000088;">$date</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'MM/yyyy'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #b1b100;">echo</span> format_daterange<span style="color: #009900;">&#40;</span><span style="color: #000088;">$start_date</span><span style="color: #339933;">,</span> <span style="color: #000088;">$end_date</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'MM/yy'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'from %s to %s'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'starting from %s'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'until %s'</span><span style="color: #009900;">&#41;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2009/12/24/php-symfony-divers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PYTHON str_replace en python</title>
		<link>http://blog.hio.fr/2009/11/15/python-str_replace-en-python/</link>
		<comments>http://blog.hio.fr/2009/11/15/python-str_replace-en-python/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 21:36:28 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[strReplace]]></category>
		<category><![CDATA[str_replace]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=480</guid>
		<description><![CDATA[Comment faire un equivalent de str_replace() de php en python]]></description>
			<content:encoded><![CDATA[<p>Comment faire un equivalent de str_replace() de php en python</p>
<p><strong>La fonction strReplace</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">string</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">shutil</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> strReplace<span style="color: black;">&#40;</span><span style="color: #008000;">str</span>, <span style="color: #dc143c;">array</span><span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">for</span> search, replace <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">array</span>:
        <span style="color: #008000;">str</span> = <span style="color: #008000;">str</span>.<span style="color: black;">replace</span><span style="color: black;">&#40;</span>search, replace<span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: #008000;">str</span></pre></td></tr></table></div>

<p><strong>Utilisation</strong></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">replace = <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">' '</span>, <span style="color: #483d8b;">'_'</span><span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span><span style="color: #483d8b;">'-'</span>, <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">for</span> <span style="color: #008000;">dir</span> <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #dc143c;">os</span>.<span style="color: black;">listdir</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'.'</span><span style="color: black;">&#41;</span>:
    newdir = strReplace<span style="color: black;">&#40;</span><span style="color: #008000;">dir</span>, replace<span style="color: black;">&#41;</span>.<span style="color: black;">capitalize</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;moving: %s &gt; %s&quot;</span><span style="color: #66cc66;">%</span> <span style="color: black;">&#40;</span><span style="color: #008000;">dir</span>, newdir<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
    <span style="color: #dc143c;">os</span>.<span style="color: black;">rename</span><span style="color: black;">&#40;</span><span style="color: #008000;">dir</span>, newdir<span style="color: black;">&#41;</span></pre></div></div>

<p><strong>ce qui nous donne dans ce cas précis</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">moving: Angel of Retribution <span style="color: #000000; font-weight: bold;">&gt;</span> Angel_of_retribution
moving: Living After Midnight <span style="color: #000000; font-weight: bold;">&gt;</span> Living_after_midnight
moving: British Steel <span style="color: #000000; font-weight: bold;">&gt;</span> British_steel
moving: Defenders Of The Faith <span style="color: #000000; font-weight: bold;">&gt;</span> Defenders_of_the_faith
moving: Killing Machine <span style="color: #000000; font-weight: bold;">&gt;</span> Killing_machine
moving: Ram It Down <span style="color: #000000; font-weight: bold;">&gt;</span> Ram_it_down
moving: Hell Bent For Leather <span style="color: #000000; font-weight: bold;">&gt;</span> Hell_bent_for_leather
moving: Stained Class <span style="color: #000000; font-weight: bold;">&gt;</span> Stained_class
moving: Sin After Sin <span style="color: #000000; font-weight: bold;">&gt;</span> Sin_after_sin
moving: Jugulator <span style="color: #000000; font-weight: bold;">&gt;</span> Jugulator
moving: Screaming For Vengeance <span style="color: #000000; font-weight: bold;">&gt;</span> Screaming_for_vengeance
moving: Turbo <span style="color: #000000; font-weight: bold;">&gt;</span> Turbo
moving: Painkiller <span style="color: #000000; font-weight: bold;">&gt;</span> Painkiller
moving: Rocka Rolla <span style="color: #000000; font-weight: bold;">&gt;</span> Rocka_rolla
moving: Point Of Entry <span style="color: #000000; font-weight: bold;">&gt;</span> Point_of_entry
moving: Demolition <span style="color: #000000; font-weight: bold;">&gt;</span> Demolition
moving: Priest...Live<span style="color: #000000; font-weight: bold;">!</span> <span style="color: #000000; font-weight: bold;">&gt;</span> Priest...live<span style="color: #000000; font-weight: bold;">!</span>
moving: Sad Wings Of Destiny <span style="color: #000000; font-weight: bold;">&gt;</span> Sad_wings_of_destiny</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2009/11/15/python-str_replace-en-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PYTHON Comment faire une requete http</title>
		<link>http://blog.hio.fr/2009/11/15/python-comment-faire-une-requete-http/</link>
		<comments>http://blog.hio.fr/2009/11/15/python-comment-faire-une-requete-http/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 12:42:55 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[http]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=475</guid>
		<description><![CDATA[Faire des requetes grace a python et httplib]]></description>
			<content:encoded><![CDATA[<p>Faire des requetes grace a python et httplib</p>
<p><strong>La class HttpRequest</strong></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#!/usr/bin/python                                                                                        </span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">httplib</span>
<span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">urllib</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> HttpRequest:
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, proxyhost, proxyport<span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>.<span style="color: black;">proxyhost</span> = proxyhost
        <span style="color: #008000;">self</span>.<span style="color: black;">proxyport</span> = proxyport
        <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span> = <span style="color: #dc143c;">httplib</span>.<span style="color: black;">HTTPConnection</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">proxyhost</span>, <span style="color: #008000;">self</span>.<span style="color: black;">proxyport</span>, <span style="color: #ff4500;">20</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> get<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, url<span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span>.<span style="color: black;">request</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;GET&quot;</span>, url<span style="color: black;">&#41;</span>
        response = <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span>.<span style="color: black;">getresponse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;url: %s, %s %s&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>url, response.<span style="color: black;">status</span>, response.<span style="color: black;">reason</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">msg</span> = response.<span style="color: black;">msg</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">content</span> = response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> post<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, url, params = <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span>:
        headers = <span style="color: black;">&#123;</span><span style="color: #483d8b;">&quot;Content-type&quot;</span>:<span style="color: #483d8b;">&quot;application/x-www-form-urlencoded&quot;</span>, <span style="color: #483d8b;">&quot;Accept&quot;</span>:<span style="color: #483d8b;">&quot;text/plain&quot;</span><span style="color: black;">&#125;</span>
        <span style="color: #ff7700;font-weight:bold;">if</span><span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>params<span style="color: black;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>:
            params = <span style="color: #dc143c;">urllib</span>.<span style="color: black;">urlencode</span><span style="color: black;">&#40;</span>params<span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span>.<span style="color: black;">request</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;POST&quot;</span>, url, params, headers<span style="color: black;">&#41;</span>
        response = <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span>.<span style="color: black;">getresponse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;url: %s, %s %s&quot;</span><span style="color: #66cc66;">%</span><span style="color: black;">&#40;</span>url, response.<span style="color: black;">status</span>, response.<span style="color: black;">reason</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">msg</span> = response.<span style="color: black;">msg</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">content</span> = response.<span style="color: black;">read</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> getresponse<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">msg</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> getcontent<span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>.<span style="color: black;">content</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__del__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span><span style="color: black;">&#41;</span>:
        <span style="color: #008000;">self</span>.<span style="color: black;">cnx</span>.<span style="color: black;">close</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></td></tr></table></div>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">httprequest = HttpRequest<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;127.0.0.1&quot;</span>, <span style="color: #483d8b;">&quot;3777&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><strong>En GET</strong></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">httprequest.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://www.google.fr'</span><span style="color: black;">&#41;</span>
httprequest.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://blog.hio.fr'</span><span style="color: black;">&#41;</span>
httprequest.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://blog.hio.fr/blu.html'</span><span style="color: black;">&#41;</span>
httprequest.<span style="color: black;">get</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://blog.if-else.fr'</span><span style="color: black;">&#41;</span></pre></div></div>

<p><strong>Renvoi</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">url: http:<span style="color: #000000; font-weight: bold;">//</span>www.google.fr, <span style="color: #000000;">200</span> OK
url: http:<span style="color: #000000; font-weight: bold;">//</span>blog.hio.fr, <span style="color: #000000;">200</span> OK
url: http:<span style="color: #000000; font-weight: bold;">//</span>blog.hio.fr<span style="color: #000000; font-weight: bold;">/</span>blu.html, <span style="color: #000000;">404</span> Not Found
url: http:<span style="color: #000000; font-weight: bold;">//</span>blog.if-else.fr, <span style="color: #000000;">200</span> OK</pre></div></div>

<p><strong>En POST</strong></p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">params = <span style="color: black;">&#123;</span><span style="color: #483d8b;">&quot;login&quot;</span>:<span style="color: #483d8b;">&quot;login&quot;</span>,
          <span style="color: #483d8b;">&quot;password&quot;</span>:<span style="color: #483d8b;">&quot;password&quot;</span><span style="color: black;">&#125;</span>
httprequest.<span style="color: black;">post</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'http://www.url-bidon.fr/login/connexion'</span>, params<span style="color: black;">&#41;</span></pre></div></div>

<p><strong>Renvoi par exemple</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">url: http:<span style="color: #000000; font-weight: bold;">//</span>www.url-bidon.fr<span style="color: #000000; font-weight: bold;">/</span>login<span style="color: #000000; font-weight: bold;">/</span>connexion, <span style="color: #000000;">302</span> Moved Temporarily</pre></div></div>

<p>Et si on veut en savoir plus on a les fonctions getresponse() et getcontent()</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">httprequest.<span style="color: black;">getresponse</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><strong>Renvoi</strong></p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">Date: Sun, <span style="color: #000000;">15</span> Nov <span style="color: #000000;">2009</span> <span style="color: #000000;">11</span>:04:<span style="color: #000000;">55</span> GMT
Server: Apache
X-Powered-By: PHP<span style="color: #000000; font-weight: bold;">/</span>5.2.6-<span style="color: #000000;">1</span>+lenny3
Cache-Control: no-store, no-cache, must-revalidate, post-check=<span style="color: #000000;">0</span>, pre-check=<span style="color: #000000;">0</span>
Pragma: no-cache
Set-Cookie: <span style="color: #007800;">PHPSESSID</span>=d1d0958e52fb25b874a573bd1c261b1a; <span style="color: #007800;">path</span>=<span style="color: #000000; font-weight: bold;">/</span>
Expires: Thu, <span style="color: #000000;">19</span> Nov <span style="color: #000000;">1981</span> 08:<span style="color: #000000;">52</span>:00 GMT
Location: <span style="color: #000000; font-weight: bold;">/</span>login<span style="color: #000000; font-weight: bold;">/</span>failed
Vary: Accept-Encoding
Content-Length: <span style="color: #000000;">0</span>
Content-Type: text<span style="color: #000000; font-weight: bold;">/</span>html; <span style="color: #007800;">charset</span>=utf-<span style="color: #000000;">8</span>
X-Cache: MISS from proxy.hio.fr
X-Cache-Lookup: MISS from proxy.hio.fr:<span style="color: #000000;">3777</span>
Via: <span style="color: #000000;">1.0</span> proxy.hio.fr <span style="color: #7a0874; font-weight: bold;">&#40;</span>squid<span style="color: #000000; font-weight: bold;">/</span>3.0.STABLE8<span style="color: #7a0874; font-weight: bold;">&#41;</span>
Proxy-Connection: close</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;">httprequest.<span style="color: black;">getcontent</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p><strong>Renvoi le contenu de la page</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN&quot; &quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&nbsp;
&lt;head profile=&quot;http://gmpg.org/xfn/11&quot;&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&nbsp;
etc...</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2009/11/15/python-comment-faire-une-requete-http/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Fork it</title>
		<link>http://blog.hio.fr/2009/11/12/php-fork-it/</link>
		<comments>http://blog.hio.fr/2009/11/12/php-fork-it/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 09:20:15 +0000</pubDate>
		<dc:creator>HiO</dc:creator>
				<category><![CDATA[Dev]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[fork]]></category>

		<guid isPermaLink="false">http://blog.hio.fr/?p=467</guid>
		<description><![CDATA[fork it !!!]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">function</span> test<span style="color: #009900;">&#40;</span><span style="color: #000088;">$max</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$max</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000000; font-weight: bold;">class</span> fork <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$children</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #000088;">$threads</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">timestart</span> <span style="color: #339933;">=</span> <span style="color: #990000;">microtime</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">threads</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$threads</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> forker<span style="color: #009900;">&#40;</span><span style="color: #000088;">$worker</span><span style="color: #339933;">,</span> <span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$pid</span> <span style="color: #339933;">=</span> pcntl_fork<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pid</span> <span style="color: #339933;">==</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pid</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' PARENT | launching thread (pid: '</span><span style="color: #339933;">.</span><span style="color: #000088;">$pid</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pid</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">threads</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
          <span style="color: #000088;">$pid</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_shift</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
          pcntl_waitpid<span style="color: #009900;">&#40;</span><span style="color: #000088;">$pid</span><span style="color: #339933;">,</span> <span style="color: #000088;">$status</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
      <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' CHILD  | working on '</span><span style="color: #339933;">.</span><span style="color: #000088;">$worker</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'('</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #000088;">$worker</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' CHILD  | finish '</span><span style="color: #339933;">.</span><span style="color: #000088;">$worker</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'('</span><span style="color: #339933;">.</span><span style="color: #000088;">$row</span><span style="color: #339933;">.</span><span style="color: #0000ff;">')'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #990000;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> waitchildrens<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">children</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$child</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      pcntl_waitpid<span style="color: #009900;">&#40;</span><span style="color: #000088;">$child</span><span style="color: #339933;">,</span> <span style="color: #000088;">$status</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$timeend</span> <span style="color: #339933;">=</span> <span style="color: #990000;">microtime</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$time</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$timeend</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">timestart</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' TIME   | '</span><span style="color: #339933;">.</span><span style="color: #000088;">$time</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' seconde(s)'</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$fork</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> fork<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fork</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">forker</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'test'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'11111111'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'22222222'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'33333333'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'44444444'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'55555555'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'66666666'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'77777777'</span><span style="color: #339933;">,</span>
                            <span style="color: #0000ff;">'88888888'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fork</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">waitchildrens</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fork</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.hio.fr/2009/11/12/php-fork-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
