Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.56 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. # Name: facebook_pages_api.py
  5. # Author: Tesser Paolo
  6. # Date: 2015-02-04
  7. # Mail: p.tesser921@gmail.com
  8. # Modify
  9. # Version   Date        Author          Description
  10. # =======================================================================
  11. # 0.0.1     2015-03-04  Tesser Paolo    codifica modulo
  12. # -----------------------------------------------------------------------
  13. # 0.0.2     2015-03-09  Tesser Paolo    sistemato bug sui tipi restituiti in conformità di quelli presenti nel datastore
  14. # -----------------------------------------------------------------------
  15. #
  16. #
  17. __author__ = 'ptesser'
  18.  
  19. import endpoints
  20. import sys
  21. import os
  22. from protorpc import messages
  23. from protorpc import message_types
  24. from protorpc import remote
  25. from google.appengine.ext import db
  26. sys.path.append(os.path.join(os.path.dirname(__file__), '../model'))
  27. from app.model.facebook.base_facebook_model import FacebookModel
  28. from app.model.facebook.page_facebook_model import FacebookPageModel
  29. from app.model.recipe  import facebook_recipe_model
  30.  
  31.  
  32. # TODO: Replace the following lines with client IDs obtained from the APIs
  33. # Console or Cloud Console.
  34. WEB_CLIENT_ID = 'replace this with your web client application ID'
  35. ANDROID_CLIENT_ID = 'replace this with your Android client ID'
  36. IOS_CLIENT_ID = 'replace this with your iOS client ID'
  37. ANDROID_AUDIENCE = WEB_CLIENT_ID
  38.  
  39. package = 'FacebookPagesAPI'
  40.  
  41.  
  42. # da spostare magari su un model a parte
  43. class FacebookPages(messages.Message):
  44.     id = messages.StringField(1)
  45.     data = messages.StringField(2)
  46.     likes = messages.IntegerField(3)
  47.     talking_about = messages.IntegerField(4)
  48.  
  49.  
  50. # da spostare magari su un model a parte
  51. class FacebookPagesCollection(messages.Message):
  52.     items = messages.MessageField(FacebookPages, 1, repeated=True)
  53.  
  54.  
  55. @endpoints.api(name='facebookpages', version='v1')
  56. class FacebookPagesAPI(remote.Service):
  57.     """FacebookPagesAPI v1"""
  58.  
  59.     @endpoints.method(message_types.VoidMessage, FacebookPagesCollection,
  60.                       path='facebook_pages', http_method='GET',
  61.                       name='pages.listFacebookPages')
  62.     def facebook_pages_list(self):
  63.         data = db.GqlQuery("SELECT * FROM FacebookModel")
  64.         pages = list()
  65.         for d in data.run():
  66.             pages.append(FacebookPages(id=str(d.id_str), data=str(d.data_date),
  67.                                        likes=d.likes_int, talking_about=d.talking_about_int))
  68.  
  69.         return FacebookPagesCollection(items=pages)
  70.  
  71. APPLICATION = endpoints.api_server([FacebookPagesAPI])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement