Я думаю, вам придется написать это самостоятельно, но это довольно легко и весело.Я предполагаю, что Python здесь.
Мне нравится интерфейс Confluence XML-RPC.Для этого см. http://goo.gl/KCt3z. Удаленные методы, о которых вы заботитесь, скорее всего, login, getPage, setPage и / или updatePage.Этот скелет будет выглядеть так:
import xmlrpclib
server = xmlrpclib.Server(opts.url)
conn = server.confluence1
token = conn.login(opts.username, opts.password)
page = conn.getPage(token,'PageSpace',page_title)
page = page + table
page = conn.updatePage(token,page,update_options)
table
вот данные из таблиц PG.Мы создадим это ниже.
Для получения простых данных из PostgreSQL я чаще всего использую psycopg2 (также рассмотрим SQLSoup).Независимо от того, как вы выбираете данные, вы получите список строк в виде словаря.Часть базы данных, вероятно, будет выглядеть так:
import psycopg2, psycopg2.extras
conn = psycopg2.connect("dbname=reece")
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
cur.execute('SELECT * FROM sometable')
rows = cur.fetchall()
Теперь вам нужно отформатировать данные.Для простых вещей, оператор print = будет работать.Для более сложного форматирования рассмотрим шаблонизатор, например jinja2 (http://jinja.pocoo.org/). Код рендеринга может выглядеть так:
from jinja2 import Template
template = Template(open(template_path).read())
table = template.render( rows = rows )
Файл template_path будет содержать шаблон форматирования, который может выглядеть следующим образом:
<table>
<tr>
<th>col header 1</th>
<th>col header 2</th>
</tr>
{% for row in rows|sort -%}
<tr>
<td>{{row.col1}}</td>
<td>{{row.col2}}</td>
</tr>
{% endfor %}
</table>
Примечание: Confluence больше не использует вики-разметку по умолчанию. Вы должны писать HTML.
Наконец, если вы хотите создать страницу для всех таблиц, вы можете посмотреть на information_schema, которая содержитинформация о базе данных в виде таблиц. Например:
select table_name from information_schema.tables where table_schema = current_schema();