Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Лошкарев Сергей Алексеевич
PS page generation
Commits
59b16d46
Commit
59b16d46
authored
3 years ago
by
Лошкарев Сергей Алексеевич
Browse files
Options
Download
Patches
Plain Diff
write test_writer
parent
9676c0c6
master
1.0
1 merge request
!3
Many hard work
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
main.py
+4
-3
main.py
page_writer.py
+37
-22
page_writer.py
with
41 additions
and
25 deletions
+41
-25
main.py
+
4
−
3
View file @
59b16d46
from
config
import
read_config
from
get_from_tagia
import
get_users_from_taiga
from
page_writer
import
person_p
age
_w
riter
from
page_writer
import
P
age
W
riter
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
This diff is collapsed.
Click to expand it.
page_writer.py
+
37
−
22
View file @
59b16d46
...
...
@@ -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']
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets