Unity Assets Server http client
LICENSE
MIT
Requirements
python 2.7
django 1.6+
djangorestframework 2.4.3+
django-filter 0.8
Quick start
Add “duashttp” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = ( ... 'duashttp', )
2. Add unity asset server router in your INSTALLED_APPS settings and configure access to unity asset server access.
DATABASE_ROUTERS = ['duashttp.router.UnityAssetServerRouter', ]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'unity_asset_server': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'game_project_database_name',
'USER': 'admin',
'PASSWORD': 'admin_password',
'HOST': '192.168.0.1', # There UNITY asset server is placed on
'PORT': '10733' # standard unity asset server port number
}
}
3. Manage your settings.py with django restframe work settings to get optimal config:
REST_FRAMEWORK = {
'PAGINATE_BY': 10,
'PAGINATE_BY_PARAM': 'page_size',
# Maximum limit allowed when using `?page_size=xxx`.
'MAX_PAGINATE_BY': 100,
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',)
}
Apply your custom view sets or use existent and include them in “urls.py”:
# -*- views.py -*-
from duashttp.views.api import AssetVersionViewSetBase
from rest_framework.decorators import list_route
from rest_framework.response import Response
from django.db.models import Q
class AssetVersionViewSet(AssetVersionViewSetBase):
""" AssetVersion view set """
@list_route()
def configs(self, request):
"""get xml configs with their last revision"""
qset = (
Q(name__icontains='.xml') &
~Q(name__icontains='(DEL_') &
~Q(name__icontains='~$')
)
xml_docs = self.queryset.filter(qset).order_by(
'name', '-revision').distinct('name')
docs = self.filter_queryset(xml_docs)
page = self.paginate_queryset(docs)
serializer = self.get_pagination_serializer(page)
return Response(serializer.data)
# -*- urls.py -*-
from django.conf.urls import patterns, include, url
from views import *
from rest_framework import routers
router = routers.DefaultRouter()
router.register(r'asset_versions', AssetVersionViewSet)
urlpatterns = patterns('',
# Examples:
url(r'^api/', include(router.urls)),
url(r'^api/', include(router.urls, namespace='api')),
)
Start the development server and visit http://127.0.0.1:8000/api/ to see available api calls.
Models
You can fetch data from unity asset server (based on posgres 8.3) using this:
>>> from duashttp.models import AssetVersion
>>> versions = AssetVersion.objects.filter(name__icontains='Actions.xml')
>>> versions
... [<AssetVersion: Actions.xml [46]>, <AssetVersion: Actions.xml [45]>,
... <AssetVersion: Actions.xml [44]>, <AssetVersion: Actions.xml [43]>,
... <AssetVersion: Actions.xml [42]>, <AssetVersion: Actions.xml [41]>,
... <AssetVersion: Actions.xml [40]>, <AssetVersion: Actions.xml [39]>,
... <AssetVersion: Actions.xml [38]>, <AssetVersion: Actions.xml [37]>,
... <AssetVersion: Actions.xml [36]>, <AssetVersion: Actions.xml [35]>,
... <AssetVersion: Actions.xml [34]>, '...(remaining elements truncated)...']
>>> version = versions.get(revision=45)
>>> print(version.get_blob_data())
... <?xml version="1.0" encoding="utf-8"?>
... <DocumentElement>
... <Data_Table>
... <id>1</id>
... <num>1</num>
... <prefab_name />
... <small_prefab_name>SmallAction_gems_3_dollar</small_prefab_name>
... <icon_sprite>lucky_gem</icon_sprite>
... <is_small_action>1</is_small_action>
... <is_big_action />
... <is_top_panel_action />
... <move_to_window />
... <affected_id />
... <appear_date>27/10/2014 08:00</appear_date>
... <start_date>27/10/2014 08:00</start_date>
... <end_date>31/10/2014 08:00</end_date>
... <expire_date>31/10/2014 08:00</expire_date>
... <source />
... <patch />
... <bind_id />
... </Data_Table>
... </DocumentElement>
Metadata
Release files for django-unity-asset-server-http-client 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django-unity-asset-server-http-client-0.1.3.tar.gz | 9.7 kB | Without provenance | Details for django-unity-asset-server-http-client-0.1.3.tar.gz |
Release files / django-unity-asset-server-http-client-0.1.3.tar.gz
| Download URL | django-unity-asset-server-http-client-0.1.3.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01ead208efc1be88f1c9f2c5242ba509c6c769b8af7235ed5ae76907d52d5d0b
|
|
BLAKE2b-256 checksum How to use checksums |
82896d22b63435367b6ab1da5f68ae43581fded887f710c949caee9f9f7988f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-unity-asset-server-http-client 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.