from genshi.builder import tag
from genshi.input import HTML
from genshi.path import Path
from genshi.filters.transform import Transformer

html = HTML('''
            <tr>
                <th class="col1">
                  <label for="field-cc">Cc:</label>
                </th>
                <td class="col1">
                        <span>
                          <input type="text" id="field-cc"/>
                        </span>
                </td>
                <th class="col2">
                </th>
                <td class="col2">
                </td>
            </tr>''')

#print Path('./').select(html)
#print html.select('./tr')

transtream = html | Transformer('.')\
          .select("td[2]").append("Bbbb").end()\
          .select('th[2]').append("Aaaa")
print transtream.select(".")


html2 = HTML('''
      <form action="/newticket" method="post" id="propertyform">
        <fieldset id="properties">
          <table>
            <tr>
                <th class="col1">
                  <label for="field-cc">Cc:</label>
                </th>
                <td class="col1">
                        <span>
                          <input type="text" id="field-cc"/>
                        </span>
                </td>
                <th class="col2">
                </th>
                <td class="col2">
                </td>
            </tr>
          </table>
        </fieldset>
      </form>
''')
print "-"*5
transtream = html2 | Transformer('fieldset[@id="properties"]/table/tr')\
          .select("td[2]").append("Bbbb").end()\
          .select('th[2]').append("Aaaa")
print transtream.select('//fieldset[@id="properties"]/table/tr')
