Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
ops
jumpserver
Commits
a7558821
Commit
a7558821
authored
Dec 30, 2017
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Bugfix] 修复打印中文报错异常
parent
6586bef8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
20 additions
and
13 deletions
+20
-13
api.py
apps/assets/api.py
+5
-4
callback.py
apps/ops/ansible/callback.py
+0
-1
inventory.py
apps/ops/ansible/inventory.py
+0
-2
models.py
apps/ops/models.py
+8
-2
views.py
apps/ops/views.py
+0
-1
api.py
apps/perms/api.py
+0
-1
group.py
apps/users/views/group.py
+0
-1
run_server.py
run_server.py
+7
-1
No files found.
apps/assets/api.py
View file @
a7558821
...
@@ -21,6 +21,7 @@ from django.shortcuts import get_object_or_404
...
@@ -21,6 +21,7 @@ from django.shortcuts import get_object_or_404
from
django.db.models
import
Q
from
django.db.models
import
Q
from
common.mixins
import
IDInFilterMixin
from
common.mixins
import
IDInFilterMixin
from
common.utils
import
get_logger
from
.hands
import
IsSuperUser
,
IsValidUser
,
IsSuperUserOrAppUser
,
\
from
.hands
import
IsSuperUser
,
IsValidUser
,
IsSuperUserOrAppUser
,
\
get_user_granted_assets
get_user_granted_assets
from
.models
import
AssetGroup
,
Asset
,
Cluster
,
SystemUser
,
AdminUser
from
.models
import
AssetGroup
,
Asset
,
Cluster
,
SystemUser
,
AdminUser
...
@@ -30,6 +31,9 @@ from .tasks import update_asset_hardware_info_manual, test_admin_user_connectabi
...
@@ -30,6 +31,9 @@ from .tasks import update_asset_hardware_info_manual, test_admin_user_connectabi
test_system_user_connectability_manual
test_system_user_connectability_manual
logger
=
get_logger
(
__file__
)
class
AssetViewSet
(
IDInFilterMixin
,
BulkModelViewSet
):
class
AssetViewSet
(
IDInFilterMixin
,
BulkModelViewSet
):
"""
"""
API endpoint that allows Asset to be viewed or edited.
API endpoint that allows Asset to be viewed or edited.
...
@@ -178,10 +182,6 @@ class SystemUserViewSet(BulkModelViewSet):
...
@@ -178,10 +182,6 @@ class SystemUserViewSet(BulkModelViewSet):
serializer_class
=
serializers
.
SystemUserSerializer
serializer_class
=
serializers
.
SystemUserSerializer
permission_classes
=
(
IsSuperUserOrAppUser
,)
permission_classes
=
(
IsSuperUserOrAppUser
,)
def
update
(
self
,
request
,
*
args
,
**
kwargs
):
print
(
request
.
data
)
return
super
()
.
update
(
request
,
*
args
,
**
kwargs
)
class
AssetListUpdateApi
(
IDInFilterMixin
,
ListBulkCreateUpdateDestroyAPIView
):
class
AssetListUpdateApi
(
IDInFilterMixin
,
ListBulkCreateUpdateDestroyAPIView
):
"""
"""
...
@@ -223,6 +223,7 @@ class AssetRefreshHardwareApi(generics.RetrieveAPIView):
...
@@ -223,6 +223,7 @@ class AssetRefreshHardwareApi(generics.RetrieveAPIView):
asset_id
=
kwargs
.
get
(
'pk'
)
asset_id
=
kwargs
.
get
(
'pk'
)
asset
=
get_object_or_404
(
Asset
,
pk
=
asset_id
)
asset
=
get_object_or_404
(
Asset
,
pk
=
asset_id
)
summary
=
update_asset_hardware_info_manual
(
asset
)[
1
]
summary
=
update_asset_hardware_info_manual
(
asset
)[
1
]
logger
.
debug
(
"Refresh summary: {}"
.
format
(
summary
))
if
summary
.
get
(
'dark'
):
if
summary
.
get
(
'dark'
):
return
Response
(
summary
[
'dark'
]
.
values
(),
status
=
501
)
return
Response
(
summary
[
'dark'
]
.
values
(),
status
=
501
)
else
:
else
:
...
...
apps/ops/ansible/callback.py
View file @
a7558821
...
@@ -28,7 +28,6 @@ class AdHocResultCallback(CallbackModule):
...
@@ -28,7 +28,6 @@ class AdHocResultCallback(CallbackModule):
host
=
res
.
_host
.
get_name
()
host
=
res
.
_host
.
get_name
()
task_name
=
res
.
task_name
task_name
=
res
.
task_name
task_result
=
res
.
_result
task_result
=
res
.
_result
print
(
task_result
)
if
self
.
results_raw
[
t
]
.
get
(
host
):
if
self
.
results_raw
[
t
]
.
get
(
host
):
self
.
results_raw
[
t
][
host
][
task_name
]
=
task_result
self
.
results_raw
[
t
][
host
][
task_name
]
=
task_result
...
...
apps/ops/ansible/inventory.py
View file @
a7558821
...
@@ -32,7 +32,6 @@ class BaseHost(Host):
...
@@ -32,7 +32,6 @@ class BaseHost(Host):
}
}
"""
"""
self
.
host_data
=
host_data
self
.
host_data
=
host_data
print
(
host_data
)
hostname
=
host_data
.
get
(
'hostname'
)
or
host_data
.
get
(
'ip'
)
hostname
=
host_data
.
get
(
'hostname'
)
or
host_data
.
get
(
'ip'
)
port
=
host_data
.
get
(
'port'
)
or
22
port
=
host_data
.
get
(
'port'
)
or
22
super
()
.
__init__
(
hostname
,
port
)
super
()
.
__init__
(
hostname
,
port
)
...
@@ -62,7 +61,6 @@ class BaseHost(Host):
...
@@ -62,7 +61,6 @@ class BaseHost(Host):
self
.
set_variable
(
"ansible_become_pass"
,
become
.
get
(
'pass'
,
''
))
self
.
set_variable
(
"ansible_become_pass"
,
become
.
get
(
'pass'
,
''
))
else
:
else
:
self
.
set_variable
(
"ansible_become"
,
False
)
self
.
set_variable
(
"ansible_become"
,
False
)
print
(
self
.
get_vars
())
def
__set_extra_variables
(
self
):
def
__set_extra_variables
(
self
):
for
k
,
v
in
self
.
host_data
.
get
(
'vars'
,
{})
.
items
():
for
k
,
v
in
self
.
host_data
.
get
(
'vars'
,
{})
.
items
():
...
...
apps/ops/models.py
View file @
a7558821
...
@@ -317,7 +317,10 @@ class AdHocRunHistory(models.Model):
...
@@ -317,7 +317,10 @@ class AdHocRunHistory(models.Model):
@property
@property
def
result
(
self
):
def
result
(
self
):
return
json
.
loads
(
self
.
_result
)
if
self
.
_result
:
return
json
.
loads
(
self
.
_result
)
else
:
return
{}
@result.setter
@result.setter
def
result
(
self
,
item
):
def
result
(
self
,
item
):
...
@@ -325,7 +328,10 @@ class AdHocRunHistory(models.Model):
...
@@ -325,7 +328,10 @@ class AdHocRunHistory(models.Model):
@property
@property
def
summary
(
self
):
def
summary
(
self
):
return
json
.
loads
(
self
.
_summary
)
if
self
.
_summary
:
return
json
.
loads
(
self
.
_summary
)
else
:
return
{
"ok"
:
{},
"dark"
:
{}}
@summary.setter
@summary.setter
def
summary
(
self
,
item
):
def
summary
(
self
,
item
):
...
...
apps/ops/views.py
View file @
a7558821
...
@@ -38,7 +38,6 @@ class TaskListView(DatetimeSearchMixin, ListView):
...
@@ -38,7 +38,6 @@ class TaskListView(DatetimeSearchMixin, ListView):
return
self
.
queryset
return
self
.
queryset
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
print
(
self
.
date_from
)
context
=
{
context
=
{
'app'
:
'Ops'
,
'app'
:
'Ops'
,
'action'
:
_
(
'Task list'
),
'action'
:
_
(
'Task list'
),
...
...
apps/perms/api.py
View file @
a7558821
...
@@ -94,7 +94,6 @@ class AssetPermissionRemoveAssetApi(RetrieveUpdateAPIView):
...
@@ -94,7 +94,6 @@ class AssetPermissionRemoveAssetApi(RetrieveUpdateAPIView):
perm
=
self
.
get_object
()
perm
=
self
.
get_object
()
serializer
=
self
.
serializer_class
(
data
=
request
.
data
)
serializer
=
self
.
serializer_class
(
data
=
request
.
data
)
if
serializer
.
is_valid
():
if
serializer
.
is_valid
():
print
(
serializer
.
data
)
assets
=
serializer
.
validated_data
.
get
(
'assets'
)
assets
=
serializer
.
validated_data
.
get
(
'assets'
)
if
assets
:
if
assets
:
perm
.
assets
.
remove
(
*
tuple
(
assets
))
perm
.
assets
.
remove
(
*
tuple
(
assets
))
...
...
apps/users/views/group.py
View file @
a7558821
...
@@ -100,7 +100,6 @@ class UserGroupGrantedAssetView(AdminUserRequiredMixin, DetailView):
...
@@ -100,7 +100,6 @@ class UserGroupGrantedAssetView(AdminUserRequiredMixin, DetailView):
context_object_name
=
'user_group'
context_object_name
=
'user_group'
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
print
(
kwargs
.
get
(
'pk'
))
self
.
object
=
self
.
get_object
(
queryset
=
self
.
model
.
objects
.
all
())
self
.
object
=
self
.
get_object
(
queryset
=
self
.
model
.
objects
.
all
())
return
super
()
.
get
(
request
,
*
args
,
**
kwargs
)
return
super
()
.
get
(
request
,
*
args
,
**
kwargs
)
...
...
run_server.py
View file @
a7558821
...
@@ -7,6 +7,7 @@ import time
...
@@ -7,6 +7,7 @@ import time
import
argparse
import
argparse
import
sys
import
sys
import
signal
import
signal
import
io
from
apps
import
__version__
from
apps
import
__version__
...
@@ -26,6 +27,7 @@ WORKERS = 4
...
@@ -26,6 +27,7 @@ WORKERS = 4
EXIT_EVENT
=
threading
.
Event
()
EXIT_EVENT
=
threading
.
Event
()
processes
=
{}
processes
=
{}
sys
.
stdout
=
io
.
TextIOWrapper
(
sys
.
stdout
.
buffer
,
encoding
=
'utf-8'
)
try
:
try
:
os
.
makedirs
(
os
.
path
.
join
(
BASE_DIR
,
"data"
,
"static"
))
os
.
makedirs
(
os
.
path
.
join
(
BASE_DIR
,
"data"
,
"static"
))
...
@@ -70,7 +72,8 @@ def start_celery():
...
@@ -70,7 +72,8 @@ def start_celery():
os
.
environ
.
setdefault
(
'PYTHONOPTIMIZE'
,
'1'
)
os
.
environ
.
setdefault
(
'PYTHONOPTIMIZE'
,
'1'
)
cmd
=
"""
cmd
=
"""
export C_FORCE_ROOT=1;celery -A common worker -l {}
export C_FORCE_ROOT=1;
celery -A common worker -l {}
"""
.
format
(
LOG_LEVEL
.
lower
())
"""
.
format
(
LOG_LEVEL
.
lower
())
p
=
subprocess
.
Popen
(
cmd
,
shell
=
True
,
stdout
=
sys
.
stdout
,
stderr
=
sys
.
stderr
)
p
=
subprocess
.
Popen
(
cmd
,
shell
=
True
,
stdout
=
sys
.
stdout
,
stderr
=
sys
.
stderr
)
...
@@ -133,6 +136,9 @@ def stop_service():
...
@@ -133,6 +136,9 @@ def stop_service():
print
(
"Stop service {}"
.
format
(
name
))
print
(
"Stop service {}"
.
format
(
name
))
proc
.
terminate
()
proc
.
terminate
()
if
os
.
path
.
exists
(
"/tmp/beat.pid"
):
os
.
unlink
(
'/tmp/beat.pid'
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
parser
=
argparse
.
ArgumentParser
(
description
=
"Jumpserver start tools"
)
parser
=
argparse
.
ArgumentParser
(
description
=
"Jumpserver start tools"
)
...
...
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