Slide 1

Slide 1 text

Dedun Python Client für die API Leipzig Markus Zapke-Gründemann PyCon DE 2011

Slide 2

Slide 2 text

Dedun Dedun war ein nubischer Gott, der im Altertum in Form eines Löwen verehrt wurde. Der Löwe ist auch Teil des Leipziger Wappens.

Slide 3

Slide 3 text

apileipzig.de

Slide 4

Slide 4 text

RESTful Open Data

Slide 5

Slide 5 text

$ pip install dedun

Slide 6

Slide 6 text

CalendarEvents CalendarHosts CalendarVenues DistrictDistricts DistrictIhkcompanies DistrictStatistics DistrictStreets MediahandbookBranches MediahandbookCompanies MediahandbookPeople

Slide 7

Slide 7 text

>>> import dedun >>> comp = dedun.MediahandbookCompanies(api_key='XXXXXXXXXXXXXXXXXXXX') >>> companies = comp.all() >>> print companies 1039 mediahandbook/companies items >>> companies.count() 1039

Slide 8

Slide 8 text

>>> companies[0] MediahandbookCompaniesResult: Leipziger Universitätsverlag GmbH und Akademische Verlagsanstalt AVA >>> print companies[0].get_attributes() [u'phone_primary', u'people', u'past_customers', u'updated_at', u'street', u'postcode', u'id', u'city', u'email_secondary', u'fax_secondary', u'mobile_secondary', u'housenumber_additional', u'housenumber', u'fax_primary', u'resources', u'main_activity', u'old_id', u'sub_branches', u'sub_market_id', u'mobile_primary', u'url_primary', u'url_secondary', u'name', u'created_at', u'phone_secondary', u'products', u'email_primary', u'main_branch_id'] >>> print companies[0].name Leipziger Universitätsverlag GmbH und Akademische Verlagsanstalt AVA >>> print companies[0].id 1 >>> print companies[0].email_primary [email protected]

Slide 9

Slide 9 text

>>> companies[:10] [MediahandbookCompaniesResult: Leipziger Universitätsverlag GmbH und Akademische Verlagsanstalt AVA, MediahandbookCompaniesResult: Sittauer Mediendesign, MediahandbookCompaniesResult: Realdesign GmbH, MediahandbookCompaniesResult: Frauenkultur e.V. Leipzig, MediahandbookCompaniesResult: Jürgen Auge Atelier für Gebrauchs- und Werbegrafik, MediahandbookCompaniesResult: Leipziger Städtische Bibliotheken, MediahandbookCompaniesResult: Foto Pampel, MediahandbookCompaniesResult: AECom VERTRIEB, Fachgroßhandel für Computerzubehör, MediahandbookCompaniesResult: Gesellschaft für Nachrichtenerfassung und Nachrichtenverbreitung, MediahandbookCompaniesResult: OCR Systeme GmbH] >>> for c in companies[:10]: ... print c.name ... Leipziger Universitätsverlag GmbH und Akademische Verlagsanstalt AVA Sittauer Mediendesign Realdesign GmbH Frauenkultur e.V. Leipzig Jürgen Auge Atelier für Gebrauchs- und Werbegrafik Leipziger Städtische Bibliotheken Foto Pampel AECom VERTRIEB, Fachgroßhandel für Computerzubehör Gesellschaft für Nachrichtenerfassung und Nachrichtenverbreitung OCR Systeme GmbH

Slide 10

Slide 10 text

>>> augen = comp.search(name='Auge') >>> augen 2 mediahandbook/companies items >>> for a in augen: ... print a.name ... Jürgen Auge Atelier für Gebrauchs- und Werbegrafik Leipziger Wohnungs- und Baugesellschaft mbH >>> leipzig_10 = comp.search(city='Leipzig', limit=10) >>> print leipzig_10 10 mediahandbook/companies items

Slide 11

Slide 11 text

>>> auge = comp.get(name='Auge') Traceback (most recent call last): File "", line 1, in File "dedun.py", line 167, in get raise MultipleResults() dedun.MultipleResults: Your query had multiple results. >>> auge = comp.get(name='Auge Atelier') >>> print auge MediahandbookCompaniesResult: Jürgen Auge Atelier für Gebrauchs- und Werbegrafik >>> comp.get(id=232323) Traceback (most recent call last): File "", line 1, in File "dedun.py", line 168, in get item = result[0] File "dedun.py", line 110, in __getitem__ raise ObjectNotFound('Item not found.') dedun.ObjectNotFound: Item not found.

Slide 12

Slide 12 text

>>> comp_debug = dedun.MediahandbookCompanies (api_key='XXXXXXXXXXXXXXXXXXXX', debug=True) >>> comp_debug.all() http://www.apileipzig.de/api/v1/mediahandbook/companies? api_key=XXXXXXXXXXXXXXXXXXXX&format=json 1039 mediahandbook/companies items >>> comp_debug.get(id=23) http://www.apileipzig.de/api/v1/mediahandbook/companies/search? api_key=XXXXXXXXXXXXXXXXXXXX&id=23&format=json MediahandbookCompaniesResult: Kleines Werbeteam

Slide 13

Slide 13 text

API Leipzig Wettbewerb Einsendeschluss: 24.10.2011 24:00 Uhr Konzept im Umfang von einer A4-Seite und die Anwendung einschicken [email protected]

Slide 14

Slide 14 text

@keimlink / www.keimlink.de / www.inqbus.de https://pypi.python.org/pypi/dedun/