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

all changes in one commit...

1 merge request!4many shit
Showing with 31 additions and 8 deletions
+31 -8
...@@ -10,7 +10,7 @@ class Person(): ...@@ -10,7 +10,7 @@ class Person():
Person class for describing informatron about users to page writer Person class for describing informatron about users to page writer
''' '''
def __init__(self, member, user) -> (None): def __init__(self, member, user, role_name) -> (None):
''' '''
Constructor to Person object Constructor to Person object
''' '''
...@@ -18,9 +18,9 @@ class Person(): ...@@ -18,9 +18,9 @@ class Person():
self.username = user.username self.username = user.username
self.photo = user.big_photo self.photo = user.big_photo
self.bio = user.bio self.bio = user.bio
self.role_name = member.role_name[0], self.role_name = role_name
def add_link(self, link): def set_link(self, link):
self.link = link self.link = link
class TaigaReader(): class TaigaReader():
...@@ -41,7 +41,9 @@ class TaigaReader(): ...@@ -41,7 +41,9 @@ class TaigaReader():
Create Person with member and request to getting information from user Create Person with member and request to getting information from user
''' '''
user = self._api.users.get(member.user) user = self._api.users.get(member.user)
return Person(member, user) roles = self._api.projects.get_by_slug(self._project_slug).list_roles()
role_name = str(roles.get(id=member.role).name)
return Person(member, user, role_name)
def get_persons(self): def get_persons(self):
''' '''
......
# Список участников проектной школы
{% for role, persons in persons_by_role.items() %}
## {{role}}
{% for person in persons %}
* [{{person.full_name}}]({{person.link}})
{% endfor %}
---
{% endfor %}
\ No newline at end of file
...@@ -16,6 +16,6 @@ for person in reader.get_persons(): ...@@ -16,6 +16,6 @@ for person in reader.get_persons():
if not is_succes: if not is_succes:
print(f'Page not created for: {person.username}, message: {message}') print(f'Page not created for: {person.username}, message: {message}')
# writer.write_list_page(persons_by_roles) writer.write_list_page(persons_by_roles)
print('Pages created') print('Pages created')
\ No newline at end of file
...@@ -11,10 +11,12 @@ class PageWriter(): ...@@ -11,10 +11,12 @@ class PageWriter():
def __init__( def __init__(
self, wiki_config, self, wiki_config,
person_template='person_page.tmpl', person_template='person_page.tmpl',
list_template='list_page.tmpl',
query_template='query.tmpl' query_template='query.tmpl'
): ):
env = Environment(loader=FileSystemLoader('./')) env = Environment(loader=FileSystemLoader('./'))
self._user_template = env.get_template(person_template) self._user_template = env.get_template(person_template)
self._list_template = env.get_template(list_template)
self._query_template = env.get_template(query_template) self._query_template = env.get_template(query_template)
self._path = wiki_config['path'] self._path = wiki_config['path']
sample_transport=RequestsHTTPTransport( sample_transport=RequestsHTTPTransport(
...@@ -37,13 +39,24 @@ class PageWriter(): ...@@ -37,13 +39,24 @@ class PageWriter():
path=self._path + person.username, path=self._path + person.username,
title=person.full_name title=person.full_name
) )
print(query_text)
resp = self._client.execute( resp = self._client.execute(
gql(query_text) gql(query_text)
)['pages']['create']['responseResult'] )['pages']['create']['responseResult']
link = '' link = ''
if resp['succeeded']: if resp['succeeded']:
link = './' + person.user_name link = './' + person.username
person.set_link(link) person.set_link(link)
return resp['succeeded'], resp['message'] return resp['succeeded'], resp['message']
def write_list_page(self, persons_by_role, title='Список участников'):
content = self._list_template.render(persons_by_role=persons_by_role)
query_text = self._query_template.render(
content=_normalise_str(content),
path=self._path + 'list',
title=title
)
resp = self._client.execute(
gql(query_text)
)['pages']['create']['responseResult']
return resp['succeeded'], resp['message']
# {{person.full_name}} {{person.full_name}} # {{person.full_name}} ({{person.role_name}})
<img src='{{person.photo}}'> <img src='{{person.photo}}'>
--- ---
......
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