Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
network manager
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
innovation-that-excites
network manager
Commits
65f8274a
Commit
65f8274a
authored
Jun 10, 2019
by
Luciano Cauzzi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Integrated login function
parent
0772a750
Pipeline
#61
canceled with stages
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
38 additions
and
6 deletions
+38
-6
network_manager/app_network_manager.py
network_manager/app_network_manager.py
+3
-0
network_manager/container.py
network_manager/container.py
+5
-1
network_manager/pyramid_manager.py
network_manager/pyramid_manager.py
+24
-4
network_manager/pyramid_model.py
network_manager/pyramid_model.py
+4
-0
run.py
run.py
+2
-1
No files found.
network_manager/app_network_manager.py
View file @
65f8274a
...
...
@@ -21,3 +21,6 @@ class AppNetworkManager:
self
.
__session
.
mount
(
'http://'
,
adapter
)
self
.
__session
.
mount
(
'https://'
,
adapter
)
pass
def
get_session
(
self
):
return
self
.
__session
network_manager/container.py
View file @
65f8274a
...
...
@@ -10,4 +10,8 @@ class NetworkManager(containers.DeclarativeContainer):
class
PyramidManager
(
containers
.
DeclarativeContainer
):
config
=
providers
.
Configuration
(
'config'
)
manager
=
providers
.
Factory
(
AppPyramidManager
,
base_url
=
config
.
pyramid
.
base_url
,
resource_url
=
config
.
pyramid
.
res_url
,
token
=
config
.
pyramid
.
token
)
manager
=
providers
.
Factory
(
AppPyramidManager
,
base_url
=
config
.
pyramid
.
base_url
,
resource_url
=
config
.
pyramid
.
res_url
,
api_key
=
config
.
pyramid
.
api_key
,
network_manager
=
NetworkManager
.
manager
())
network_manager/pyramid_manager.py
View file @
65f8274a
import
json
from
typing
import
Optional
from
logger_library
import
Logger
from
.pyramid_model
import
*
from
network_manager.pyramid_model
import
AppToken
,
app_token_from_dict
logger
=
Logger
.
app_logger
()
.
get_logger
()
class
AppPyramidManager
:
TIMEOUT
=
30
def
__init__
(
self
,
base_url
,
resource_url
,
token
):
def
__init__
(
self
,
base_url
,
resource_url
,
api_key
,
network_manager
):
self
.
__url__
=
resource_url
self
.
__
token__
=
token
self
.
__
api_key__
=
api_key
self
.
__base_url__
=
base_url
logger
.
debug
(
"Initialization completed:
\n
BASE_URL= {}
\n
RESOURCE_URL= {}
\n
TOKEN= {}"
.
format
(
base_url
,
resource_url
,
token
))
self
.
__network_manager__
=
network_manager
logger
.
debug
(
"Initialization completed:
\n
BASE_URL= {}
\n
RESOURCE_URL= {}
\n
API_KEY= {}"
.
format
(
base_url
,
resource_url
,
api_key
))
def
login
(
self
)
->
Optional
[
AppToken
]:
try
:
url
=
"{}/sessions"
.
format
(
self
.
__base_url__
)
payload
=
"username=admin&api_key="
+
self
.
__api_key__
headers
=
{
'Content-Type'
:
"application/x-www-form-urlencoded"
}
s
=
self
.
__network_manager__
.
get_session
()
response
=
s
.
post
(
url
,
data
=
payload
,
headers
=
headers
,
timeout
=
AppPyramidManager
.
TIMEOUT
)
json_repr
=
json
.
loads
(
response
.
text
)
return
app_token_from_dict
(
json_repr
)
except
Exception
as
e
:
logger
.
error
(
"
\n
[NETWORK]: Error while fetching police report list: {}
\n
"
.
format
(
e
))
return
None
network_manager/pyramid_model.py
View file @
65f8274a
...
...
@@ -44,3 +44,7 @@ class AppToken:
def
to_dict
(
self
)
->
dict
:
result
:
dict
=
{
"expire"
:
from_int
(
self
.
expire
),
"token"
:
from_str
(
self
.
token
)}
return
result
def
app_token_from_dict
(
s
:
Any
)
->
AppToken
:
return
AppToken
.
from_dict
(
s
)
run.py
View file @
65f8274a
...
...
@@ -12,10 +12,11 @@ def main():
'pyramid'
:
{
'base_url'
:
BASE_URL
,
'res_url'
:
RES_URL
,
'
token
'
:
TOKEN
,
'
api_key
'
:
TOKEN
,
}
}
manager
=
PyramidManager
(
config
=
config
)
.
manager
()
login
=
manager
.
login
()
pass
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment