Obecnie pracuję nad dostosowaną stroną internetową, która pokazuje dostępne projekty, które mam w Tracu (1.0.1). Używam mod_python do połączenia interfejsu trac. Znalazłem standardową stronę do tego, ale nie wyświetlała listy repozytoriów. Strona pokazała kilka zmiennych, które można powiązać z różnymi projektami, ale nie mogę znaleźć zmiennych dla różnych repozytoriów wewnątrz projektów.

Skonfigurowałem stronę internetową po przeczytaniu tego: http://trac.edgewall.org/wiki/TracInterfaceCustomization (w wyglądzie strony)

Krótkie podsumowanie; edycja ../conf.d/trac.conf:

PythonOption TracEnvParentDir /parent/dir/of/projects 
PythonOption TracEnvIndexTemplate /path/to/template

I tworzenie pliku szablonu mogę edytować w / path / to / template:

  <!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
          xmlns:py="http://genshi.edgewall.org/"
          xmlns:xi="http://www.w3.org/2001/XInclude">
      <head>
        <title>Available Projects</title>
      </head>
      <body>
        <h1>Available Projects</h1>
        <ul>
        <dl>
          <li py:for="project in projects" py:choose="">
            <a py:when="project.href" href="$project.href"
               title="$project.description">$project.name</a>
                ## <dd> WANT TO ADD CODE HERE! </dd>
            <py:otherwise>
              <small>$project.name: <em>Error</em> <br /> ($project.description)</small>
            </py:otherwise>
          </li>
        </dl>
        </ul>
      </body>
    </html>

Więc ... Kod, który chcę dodać to coś w stylu:

<dd py:for="repos in project.repository" py:choose=""> 
<a py:when="repos.href" href="$repos.href"> $repos.name</a> </dd>

Nie mogę dowiedzieć się, gdzie dodać zmienne, a jeśli już istnieją jakieś zmienne, których mogę użyć. Po przeszukaniu plików wydawało się, że main.py ma coś wspólnego ze zmiennymi (/usr/local/Trac-1.0.1/trac/web/main.py), ale na pierwszy rzut oka nie wydawało się to łatwe po prostu dodaj więcej zmiennych.

Czy istnieje prosty sposób na znalezienie pozostałych zmiennych? A jak trudno jest dodać więcej zmiennych? Czy może łatwiej będzie to zrobić alternatywnie? Potrzebuję tylko dynamicznego linkowania do repozytoriów

Steffen Eriksen
źródło