Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
RECIRCLE
/
portal
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
11
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
2e681869
authored
Aug 08, 2019
by
Chif Gergő
Browse files
Options
Browse Files
Download
Plain Diff
Resolve merge conflict in gitignore and Pipfile.lock
parents
31723e86
12683431
Pipeline
#820
failed with stage
in 1 minute 19 seconds
Changes
16
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
170 additions
and
36 deletions
+170
-36
.gitignore
+8
-0
.gitlab-ci.yml
+4
-8
Pipfile
+2
-1
Pipfile.lock
+17
-1
recircle/image/models.py
+24
-2
recircle/image/serializers.py
+10
-2
recircle/image/tests.py
+5
-2
recircle/image/views.py
+38
-14
recircle/instance/migrations/0010_merge_20190723_0841.py
+14
-0
recircle/instance/migrations/0010_merge_20190731_1215.py
+14
-0
recircle/instance/migrations/0011_merge_20190806_1052.py
+14
-0
recircle/instance/tests.py
+5
-2
recircle/recircle/settings/base.py
+1
-0
recircle/recircle/settings/local.py
+4
-0
recircle/storage/tests.py
+5
-2
recircle/template/tests.py
+5
-2
No files found.
.gitignore
View file @
2e681869
# IDEs
.vscode/
<<<<<<< HEAD
.idea/
# Byte-compiled / optimized / DLL files
...
...
@@ -87,3 +88,10 @@ clouds.yaml
=======
*.sqlite3
recircle/clouds.yaml
environment.sh
.idea/
__pycache__
>>>>>>> 126834316017d9a2654cc913e7eec8a47fee93e6
.gitlab-ci.yml
View file @
2e681869
image
:
python:3.6
stages
:
-
lint
-
test
before_script
:
-
pip install pipenv
-
pipenv install -d
-
git submodule sync --recursive
-
git submodule update --init --recursive
flake8
:
stage
:
lint
script
:
-
pipenv run flake8
-
pip install flake8
-
flake8
test
:
script
:
-
pip install pipenv
-
pipenv install -d
-
cd recircle
-
pipenv run python manage.py test
Pipfile
View file @
2e681869
...
...
@@ -8,15 +8,16 @@ httpie = "*"
flake8 = "*"
django-rest-swagger = "*"
coverage = "*"
django-nose = "*"
[packages]
django = "*"
djangorestframework = "*"
djoser = "*"
django-cors-headers = "*"
openstacksdk = "*"
python-novaclient = "*"
keystoneauth1 = "*"
djoser = "*"
[requires]
python_version = "3.6"
Pipfile.lock
View file @
2e681869
{
"_meta": {
"hash": {
"sha256": "
f991f85fb7c006559ee78cb35cc3a18089dfd0065a565f2b194c197cbf772a50
"
"sha256": "
8cb2efb1cfa79de96297c90953faf757011ca1f1ff4784ac05226a249001e1f5
"
},
"pipfile-spec": 6,
"requires": {
...
...
@@ -500,6 +500,14 @@
"index": "pypi",
"version": "==4.5.4"
},
"django-nose": {
"hashes": [
"sha256:58934a06a6932696e54c9e8af3fab49bf67ca9e9c840ad668cb7f51219808a07",
"sha256:f515d903cfaeda52c7a9198e0c8ed51563e82802b62a4e5fbd056fd830095318"
],
"index": "pypi",
"version": "==1.4.6"
},
"django-rest-swagger": {
"hashes": [
"sha256:48f6aded9937e90ae7cbe9e6c932b9744b8af80cc4e010088b3278c700e0685b",
...
...
@@ -599,6 +607,14 @@
],
"version": "==0.6.1"
},
"nose": {
"hashes": [
"sha256:9ff7c6cc443f8c51994b34a667bbcf45afd6d945be7477b52e97516fd17c53ac",
"sha256:dadcddc0aefbf99eea214e0f1232b94f2fa9bd98fa8353711dacb112bfcbbb2a",
"sha256:f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98"
],
"version": "==1.3.7"
},
"openapi-codec": {
"hashes": [
"sha256:1bce63289edf53c601ea3683120641407ff6b708803b8954c8a876fe778d2145"
...
...
recircle/image/models.py
View file @
2e681869
...
...
@@ -82,7 +82,9 @@ class Image(models.Model):
uploaded_by_user
=
False
,
description
=
description
)
return
new_image
for
attr
,
value
in
new_image
.
__dict__
.
items
():
setattr
(
remote_image
,
attr
,
value
)
return
remote_image
@classmethod
def
create_from_user
(
cls
,
description
,
file_format
,
image_file
,
name
,
user
):
...
...
@@ -96,4 +98,24 @@ class Image(models.Model):
uploaded_by_user
=
True
,
description
=
description
)
return
new_image
for
attr
,
value
in
new_image
.
__dict__
.
items
():
setattr
(
remote_image
,
attr
,
value
)
return
remote_image
def
delete
(
self
):
interface
=
OpenstackImageManager
(
settings
.
CONNECTION
)
if
interface
.
delete
(
self
.
remote_id
):
super
()
.
delete
()
def
get
(
self
):
interface
=
OpenstackImageManager
(
settings
.
CONNECTION
)
image
=
interface
.
get
(
self
.
remote_id
)
for
attr
,
value
in
self
.
__dict__
.
items
():
setattr
(
image
,
attr
,
value
)
return
image
def
update
(
self
,
data
):
for
(
key
,
value
)
in
data
.
items
():
setattr
(
self
,
key
,
value
)
self
.
save
()
return
self
.
get
()
recircle/image/serializers.py
View file @
2e681869
...
...
@@ -3,9 +3,15 @@ from rest_framework import serializers
from
.models
import
Image
class
ImageUpdateSerializer
(
serializers
.
Serializer
):
name
=
serializers
.
CharField
(
required
=
False
)
description
=
serializers
.
CharField
(
required
=
False
)
class
ImageSerializer
(
serializers
.
ModelSerializer
):
image_file
=
serializers
.
FileField
(
write_only
=
True
)
file_format
=
serializers
.
CharField
(
max_length
=
10
,
write_only
=
True
)
file_format
=
serializers
.
CharField
(
max_length
=
10
)
size
=
serializers
.
IntegerField
()
class
Meta
:
model
=
Image
...
...
@@ -18,5 +24,7 @@ class ImageSerializer(serializers.ModelSerializer):
"created_at"
,
"uploaded_by_user"
,
"created_by"
,
"id"
,
"size"
,
)
read_only_fields
=
(
"created_at"
,
"uploaded_by_user"
,
"created_by"
,
"remote_id"
,
)
read_only_fields
=
(
"created_at"
,
"uploaded_by_user"
,
"created_by"
,
"remote_id"
,
"size"
,
)
recircle/image/tests.py
View file @
2e681869
#
from django.test import TestCase
from
django.test
import
TestCase
# Create your tests here.
class
ImageTest
(
TestCase
):
def
test_test
(
self
):
self
.
assertEqual
(
""
,
""
)
recircle/image/views.py
View file @
2e681869
# from django.shortcuts import render
from
rest_framework.viewsets
import
Model
ViewSet
from
rest_framework.viewsets
import
ViewSet
from
rest_framework.response
import
Response
from
django.shortcuts
import
get_object_or_404
from
rest_framework
import
status
from
django.core.exceptions
import
ObjectDoesNotExist
from
image.models
import
Image
from
image.serializers
import
ImageSerializer
from
image.serializers
import
ImageUpdateSerializer
class
ImageViewSet
(
ModelViewSet
):
serializer_class
=
ImageSerializer
queryset
=
Image
.
objects
.
all
()
# def list(self, request):
# return HttpResponse("list")
class
ImageViewSet
(
ViewSet
):
def
list
(
self
,
request
):
image_list
=
[]
images
=
Image
.
objects
.
all
()
for
image
in
images
:
image_list
.
append
(
image
.
get
())
serializer
=
ImageSerializer
(
image_list
,
many
=
True
)
return
Response
(
serializer
.
data
)
def
create
(
self
,
request
):
serializer
=
ImageSerializer
(
data
=
request
.
data
)
...
...
@@ -26,14 +34,30 @@ class ImageViewSet(ModelViewSet):
serializer
=
ImageSerializer
(
instance
=
new_image
)
return
Response
(
serializer
.
data
)
# def retrieve(self, request, pk=None):
# return HttpResponse("retrive")
def
retrieve
(
self
,
request
,
pk
=
None
):
queryset
=
Image
.
objects
.
all
()
image
=
get_object_or_404
(
queryset
,
pk
=
pk
)
serializer
=
ImageSerializer
(
instance
=
image
)
image
=
image
.
get
()
serializer
=
ImageSerializer
(
instance
=
image
)
return
Response
(
serializer
.
data
)
# def update(self, request, pk=None):
# return HttpResponse("update")
def
update
(
self
,
request
,
pk
=
None
):
serializer
=
ImageUpdateSerializer
(
data
=
request
.
data
)
serializer
.
is_valid
(
raise_exception
=
True
)
queryset
=
Image
.
objects
.
all
()
image
=
get_object_or_404
(
queryset
,
pk
=
pk
)
image
=
image
.
update
(
serializer
.
validated_data
)
serializer
=
ImageSerializer
(
instance
=
image
)
return
Response
(
serializer
.
data
)
#
def partial_update(self, request, pk=None):
# return HttpResponse("patch"
)
def
partial_update
(
self
,
request
,
pk
=
None
):
return
self
.
update
(
request
,
pk
)
# def destroy(self, request, pk=None):
# return HttpResponse("delete")
def
destroy
(
self
,
request
,
pk
=
None
):
try
:
image
=
Image
.
objects
.
get
(
id
=
pk
)
image
.
delete
()
return
Response
(
status
=
status
.
HTTP_204_NO_CONTENT
)
except
ObjectDoesNotExist
:
return
Response
(
status
=
status
.
HTTP_204_NO_CONTENT
)
recircle/instance/migrations/0010_merge_20190723_0841.py
0 → 100644
View file @
2e681869
# Generated by Django 2.2.3 on 2019-07-23 08:41
from
django.db
import
migrations
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'instance'
,
'0009_auto_20190715_0929'
),
(
'instance'
,
'0009_auto_20190715_1354'
),
]
operations
=
[
]
recircle/instance/migrations/0010_merge_20190731_1215.py
0 → 100644
View file @
2e681869
# Generated by Django 2.2.3 on 2019-07-31 12:15
from
django.db
import
migrations
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'instance'
,
'0009_auto_20190715_0929'
),
(
'instance'
,
'0009_auto_20190715_1354'
),
]
operations
=
[
]
recircle/instance/migrations/0011_merge_20190806_1052.py
0 → 100644
View file @
2e681869
# Generated by Django 2.2.3 on 2019-08-06 08:52
from
django.db
import
migrations
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'instance'
,
'0010_merge_20190731_1215'
),
(
'instance'
,
'0010_merge_20190723_0841'
),
]
operations
=
[
]
recircle/instance/tests.py
View file @
2e681869
#
from django.test import TestCase
from
django.test
import
TestCase
# Create your tests here.
class
InstanceTest
(
TestCase
):
def
test_test
(
self
):
self
.
assertEqual
(
""
,
""
)
recircle/recircle/settings/base.py
View file @
2e681869
...
...
@@ -41,6 +41,7 @@ INSTALLED_APPS = [
"djoser"
,
"rest_framework_swagger"
,
"corsheaders"
,
"django_nose"
,
]
LOCAL_APPS
=
[
...
...
recircle/recircle/settings/local.py
View file @
2e681869
...
...
@@ -11,3 +11,6 @@ for i in LOCAL_APPS:
ADMIN_ENABLED
=
True
ALLOWED_HOSTS
=
[
'*'
]
TEST_RUNNER
=
'django_nose.NoseTestSuiteRunner'
NOSE_ARGS
=
LOCAL_APPS
\ No newline at end of file
recircle/storage/tests.py
View file @
2e681869
#
from django.test import TestCase
from
django.test
import
TestCase
# Create your tests here.
class
StorageTest
(
TestCase
):
def
test_test
(
self
):
self
.
assertEqual
(
""
,
""
)
recircle/template/tests.py
View file @
2e681869
#
from django.test import TestCase
from
django.test
import
TestCase
# Create your tests here.
class
TemplateTest
(
TestCase
):
def
test_test
(
self
):
self
.
assertEqual
(
""
,
""
)
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