コード例 #1
0
ファイル: main.py プロジェクト: jtremback/LigerTail
    def get(self, url):
        BaseHandler.initFromRequest(self, self.request)
        if not url or len(url) < 1:
            return
        
        #if len(url) > 0:
        #    path = os.path.join(os.path.dirname(__file__), 'web', url)
        #else:
        publisherUrl = self.request.host + "/wiki/" + url
        if publisherUrl[-1] != "/":
            publisherUrl += "/"
        #publisherUrl = publisherUrl.lower()
        items = BaseHandler.getOrderedItems(self,
                                            publisherUrl,
                                            model.getDefaultFilter()) #NO_VIEWER self.viewer.filter)

        #publisherLinks = model.getItems(publisherUrl)
        if len(items) < 1:
            self.copyWikiLinks(url)
            
        path = os.path.join(os.path.dirname(__file__), 'web', 'wiki_template.html')
        out = ''
        try:
          out = template.render(path, {})
          self.response.headers["Access-Control-Allow-Origin"] = '*'
        except Exception:
          logging.warning('createWikiHandler: %s' % sys.exc_info()[1])
          out = ''
        self.response.out.write(out)
コード例 #2
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     paidItems = BaseHandler.getPaidItems(self, self.getParam('publisherUrl'))                                            
     self.common_response.setItems(paidItems, response.ItemInfo.WITH_PRICE)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #3
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     orderedItems = BaseHandler.getOrderedItems(self,
                                                self.getParam('publisherUrl'),
                                                model.getDefaultFilter())
     self.common_response.setItems(orderedItems, response.ItemInfo.SHORT)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #4
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     #publisherUrl is space delimited list of publishers
     publishers = self.getParam('publisherUrl').split(" ")
     publishersWithStats = []
     for publisher in publishers:
         publishersWithStats.append(model.getPublisherSite(publisher)) 
     self.common_response.setPublisherSites(publishersWithStats)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #5
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     #spot is space delimited list of spots
     spots = self.getParam('spot').split(" ")
     spotsWithStats = []
     for spot in spots:
         spotsWithStats.append(model.getSpot(self.getParam('publisherUrl'), int(spot))) 
     self.common_response.setSpots(spotsWithStats)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #6
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     itemUpdates = self.getParam('interactions').split(',')
     for update in itemUpdates:
         itemWithUpdate = update.split(':')
         itemId = int(itemWithUpdate[0])
         statType = int(itemWithUpdate[1])
         spot = int(itemWithUpdate[2])
         BaseHandler.updateItem(self, self.getParam('publisherUrl'),
                                itemId=itemId, statType=statType, spot=spot)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #7
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     orderedItems = BaseHandler.getOrderedItems(self,
                                                self.getParam('publisherUrl'),
                                                model.getDefaultFilter()) 
     if self.client.numItems < len(orderedItems):
       orderedItems = orderedItems[0: self.client.numItems]
     self.common_response.setItems(orderedItems, response.ItemInfo.WITH_PRICE)
     if self.client.numItems - len(orderedItems) > 0:
       BaseHandler.setDefaultItems(self, self.client.numItems - len(orderedItems))
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #8
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     #itemId is space delimited list of itemIds
     itemIds = self.getParam('itemId').split(" ")
     itemsWithStats = []
     for itemId in itemIds:
         itemsWithStats.append(BaseHandler.getItem(self, itemId))
     itemInfoType = response.ItemInfo.FULL;
     s = self.getParam('infoType');
     if len(s) and int(s) >= response.ItemInfo.SHORT and int(s) <= response.ItemInfo.FULL: 
       itemInfoType = int(s)
     logging.info('getItemStats for %s, infotype = %s->%d' % (self.getParam('itemId'), s, itemInfoType))
     self.common_response.setItems(itemsWithStats, itemInfoType)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #9
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
     try:
       BaseHandler.initFromRequest(self, self.request)
       logging.info('email %s', self.getParam('email'))
       item = model.Item()
       item.publisherUrl = self.getParam('publisherUrl')
       item.url = self.getParam('url')
       item.thumbnailUrl = self.getParam('thumbnailUrl')
       item.title = self.getParam('title').replace('%u', '\\u').decode('unicode-escape')
       item.description = self.getParam('description').replace('%u', '\\u').decode('unicode-escape')
       item.price = 0
       item.email = self.getParam('email')
       item.put()
       itemList.refreshCacheForDefaultOrderedItems(item.publisherUrl)
       self.common_response.setItems([item], response.ItemInfo.SHORT)
     except Exception:
       BaseHandler.logException(self)
     BaseHandler.writeResponse(self)
コード例 #10
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
     # TODO: assert https
     item = BaseHandler.getItem(self, self.getParam('itemId'))
     paymentConfig = model.getPaymentConfig()
     if item and self._verifyTransaction(item, paymentConfig.test_mode):  
       price = int(self.getParam('price'))
       item.updatePrice(price, self.getParam('email'))
       item.put()
       publisherSite = model.getPublisherSite(item.publisherUrl)
       db.run_in_transaction(updatePublisherPrice_, publisherSite.key(), price)
       itemList.refreshCacheForDefaultOrderedItems(item.publisherUrl)
       logging.info('Number of price updates : %d' % len(item.payments))
       logging.info('Last price update : %s' % str(item.payments[len(item.payments)-1]))
       if paymentConfig.send_email:
         BaseHandler.sendConfirmationEmail(self, self.getParam('email'), self.getParam('price'), item)                                   
     self.common_response.setItems([item], response.ItemInfo.WITH_PRICE)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)
コード例 #11
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
     BaseHandler.initFromRequest(self, self.request)
     logging.error('Client Error for %s \n%s' % (self.getParam('publisherUrl'), self.getParam('stack')));
コード例 #12
0
ファイル: main.py プロジェクト: jtremback/LigerTail
 def post(self):
   try:
     BaseHandler.initFromRequest(self, self.request)
   except Exception:
     BaseHandler.logException(self)
   BaseHandler.writeResponse(self)