Commit 59b16d46 authored by Лошкарев Сергей Алексеевич's avatar Лошкарев Сергей Алексеевич
Browse files

write test_writer

1 merge request!3Many hard work
Showing with 41 additions and 25 deletions
+41 -25
from config import read_config
from get_from_tagia import get_users_from_taiga
from page_writer import person_page_writer
from page_writer import PageWriter
taiga, wiki = read_config('config.ini')
persons = get_users_from_taiga(
taiga['host'], taiga['username'],
taiga['password'], taiga['project_slug']
)
writer = PageWriter(wiki)
for person in persons[:1]:
print(person.__dict__)
person_page_writer({}, person)
\ No newline at end of file
writer.write_person_page(person)
\ No newline at end of file
......@@ -4,28 +4,43 @@ from jinja2 import FileSystemLoader
from gql import gql, Client
from gql.transport.requests import RequestsHTTPTransport
def _normalise_str(s):
return s.replace('\\', '\\\\').replace('\n', '\\n').replace('\r', '')
_env = Environment(loader=FileSystemLoader('./'))
_user_template = _env.get_template('person_page.tmpl')
_query_template = _env.get_template('query.tmpl')
def person_page_writer(wiki_config, person):
wiki_config
sample_transport=RequestsHTTPTransport(
url='https://wiki-dev.miem.vmnet.top/graphql',
use_json=True,
headers={
'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjEsImVtYWlsIjoic2Fsb3Noa2FyZXZAZWR1LmhzZS5ydSIsIm5hbWUiOiLQm9C-0YjQutCw0YDQtdCyINCh0LXRgNCz0LXQuSDQkNC70LXQutGB0LXQtdCy0LjRhyIsImF2IjoiIiwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwibGMiOiJydSIsImRmIjoiIiwiYXAiOiIiLCJwZXJtaXNzaW9ucyI6WyJyZWFkOnBhZ2VzIiwicmVhZDphc3NldHMiLCJyZWFkOmNvbW1lbnRzIiwid3JpdGU6Y29tbWVudHMiLCJ3cml0ZTpwYWdlcyIsIm1hbmFnZTpwYWdlcyIsImRlbGV0ZTpwYWdlcyIsInJlYWQ6c291cmNlIiwicmVhZDpoaXN0b3J5Iiwid3JpdGU6YXNzZXRzIiwibWFuYWdlOmFzc2V0cyJdLCJncm91cHMiOlszXSwiaWF0IjoxNjI1MDM4MTYzLCJleHAiOjE2MjUwMzk5NjMsImF1ZCI6InVybjp3aWtpLmpzIiwiaXNzIjoidXJuOndpa2kuanMifQ.A15ek0hGHV94fcVfkpuSSlNgmkrBf6WmKnH4eLZcaToaZ3IHQmXYHvNTihBAd1rgAYbsqjpBqbeVd-6dBjSiX2DF88cORjtwIBnT2T5PtBHAqAvPHje1goZi85VXZg-1kAU36mRtISQNBBINyzwRvtovrNjY20HeNATouj0zaUoPsHn136jmIlw9MU0t807KXAA38qDvpZWucNdUigxvaBV7R7EsX-bkmPphPLtbtGPfLoHfXDtv3fgUN1xWZA3TrVTU_FFDowrzIo9ZLWCaI-Grlj-WZl8sDBmblE58DAC4SI5zLQ8vap9zr9_zi297mZNEhiRrs9N5I15leciKXQ',
"Content-type": "application/json"
}
)
client = Client(
transport=sample_transport,
fetch_schema_from_transport=True,
)
print(client.execute(gql(_query_template.render(
content=_user_template.render(person=person).replace('\n', '<br/>'),
path='ps/members/'+person.username,
title=person.full_name
))))
class PageWriter():
def __init__(
self, wiki_config,
person_template='person_page.tmpl',
query_template='query.tmpl'
):
env = Environment(loader=FileSystemLoader('./'))
self._user_template = env.get_template(person_template)
self._query_template = env.get_template(query_template)
wiki_config
sample_transport=RequestsHTTPTransport(
url='https://wiki-dev.miem.vmnet.top/graphql',
use_json=True,
headers={
'Authorization': 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjEsImVtYWlsIjoic2Fsb3Noa2FyZXZAZWR1LmhzZS5ydSIsIm5hbWUiOiLQm9C-0YjQutCw0YDQtdCyINCh0LXRgNCz0LXQuSDQkNC70LXQutGB0LXQtdCy0LjRhyIsImF2IjoiIiwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwibGMiOiJydSIsImRmIjoiIiwiYXAiOiIiLCJwZXJtaXNzaW9ucyI6WyJyZWFkOnBhZ2VzIiwicmVhZDphc3NldHMiLCJyZWFkOmNvbW1lbnRzIiwid3JpdGU6Y29tbWVudHMiLCJ3cml0ZTpwYWdlcyIsIm1hbmFnZTpwYWdlcyIsImRlbGV0ZTpwYWdlcyIsInJlYWQ6c291cmNlIiwicmVhZDpoaXN0b3J5Iiwid3JpdGU6YXNzZXRzIiwibWFuYWdlOmFzc2V0cyJdLCJncm91cHMiOlszXSwiaWF0IjoxNjI1MDM4MTYzLCJleHAiOjE2MjUwMzk5NjMsImF1ZCI6InVybjp3aWtpLmpzIiwiaXNzIjoidXJuOndpa2kuanMifQ.A15ek0hGHV94fcVfkpuSSlNgmkrBf6WmKnH4eLZcaToaZ3IHQmXYHvNTihBAd1rgAYbsqjpBqbeVd-6dBjSiX2DF88cORjtwIBnT2T5PtBHAqAvPHje1goZi85VXZg-1kAU36mRtISQNBBINyzwRvtovrNjY20HeNATouj0zaUoPsHn136jmIlw9MU0t807KXAA38qDvpZWucNdUigxvaBV7R7EsX-bkmPphPLtbtGPfLoHfXDtv3fgUN1xWZA3TrVTU_FFDowrzIo9ZLWCaI-Grlj-WZl8sDBmblE58DAC4SI5zLQ8vap9zr9_zi297mZNEhiRrs9N5I15leciKXQ',
'Content-type': 'application/json'
}
)
self._client = Client(
transport=sample_transport,
fetch_schema_from_transport=True,
)
def write_person_page(self, person):
content = self._user_template.render(person=person)
query_text = self._query_template.render(
content=_normalise_str(content),
path='ps/members/'+person.username,
title=person.full_name
)
query = gql(query_text)
resp = self._client.execute(query)
print(resp)
# return resp['succeeded'], resp['message']
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment