Dodanie API pozwalającego na listowanie i wgrywanie książek.
authorMarek Stępniowski <marek@stepniowski.com>
Thu, 28 Jan 2010 22:18:09 +0000 (23:18 +0100)
committerMarek Stępniowski <marek@stepniowski.com>
Thu, 28 Jan 2010 22:18:09 +0000 (23:18 +0100)
scripts/test_api.py [new file with mode: 0644]
wolnelektury/settings.py
wolnelektury/urls.py

diff --git a/scripts/test_api.py b/scripts/test_api.py
new file mode 100644 (file)
index 0000000..41d3f3d
--- /dev/null
@@ -0,0 +1,26 @@
+import httplib2
+from poster.encode import multipart_encode
+from poster.streaminghttp import register_openers
+import sys
+import getpass
+
+register_openers()
+
+datagen, headers = multipart_encode({'book_xml_file': open(sys.argv[1], "rb")})
+data = ''.join(list(datagen))
+for key, value in headers.items():
+    headers[key] = str(value)
+
+password = getpass.getpass()
+
+h = httplib2.Http()
+h.add_credentials('zuber', password)
+h.follow_all_redirects = True
+
+resp, content = h.request(
+    'http://localhost:8000/api/books.json',
+    'POST',
+    body=data,
+    headers=headers
+)
+print resp, content
\ No newline at end of file
index 98fd963..b57599c 100644 (file)
@@ -106,6 +106,8 @@ INSTALLED_APPS = [
     'compress',
     'catalogue',
     'lessons',
     'compress',
     'catalogue',
     'lessons',
+    'piston',
+    'api',
 ]
 
 CACHE_BACKEND = 'locmem:///?max_entries=3000'
 ]
 
 CACHE_BACKEND = 'locmem:///?max_entries=3000'
index 4f49b9c..4f9d4ed 100644 (file)
@@ -39,6 +39,9 @@ urlpatterns = patterns('',
     url(r'^uzytkownicy/wyloguj/$', 'catalogue.views.logout_then_redirect', name='logout'),
     url(r'^uzytkownicy/utworz/$', 'catalogue.views.register', name='register'),
     
     url(r'^uzytkownicy/wyloguj/$', 'catalogue.views.logout_then_redirect', name='logout'),
     url(r'^uzytkownicy/utworz/$', 'catalogue.views.register', name='register'),
     
+    # API
+    (r'^api/', include('api.urls')),
+    
     # Static files
     url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 'django.views.static.serve', 
         {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
     # Static files
     url(r'^%s(?P<path>.*)$' % settings.MEDIA_URL[1:], 'django.views.static.serve', 
         {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),