Exemplo n.º 1
0
 def create_rpx_key(self, rpx_id):
     """Creates RPX Key from rpx_id.
     
     Adds "key:" prefix as suggested by
     http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model
     """
     if not rpx_id:
         raise ValueError
     return dbutils.generate_key_name(rpx_id)
Exemplo n.º 2
0
 def testCreateRpxKey(self):
     """Tests create_rpx_key().
     
     create_rpx_key() should make sure that the key name starts with legal characters as defined by 
     http://code.google.com/appengine/docs/python/datastore/modelclass.html#Model
        
     """
     rpx_id = "abcd1234"
     rpx_key = generate_key_name(rpx_id)
     
     self.assert_(RpxBackend.create_rpx_key(self.backend, rpx_id) == rpx_key)
     
     try:
         RpxBackend.create_rpx_key(self.backend, None)
         self.assert_(False)
     except:
         pass
Exemplo n.º 3
0
    def generate_index_key_names(self, values):
        if self.filters and not self.should_index(values):
            return []

        # Remove unneeded values
        filters = tuple([f[0].split(' ')[0]
                         for f in get_filters(*self.filters)])
        for filter in filters:
            if filter not in (self.properties + self.integrate):
                del values[filter]
        key_names = []
        property_values = values[self.properties[0]]
        if not isinstance(property_values, (list, tuple)):
            property_values = (property_values,)
        for property_value in property_values:
            parts = []
            for property in sorted(values.keys()):
                if property == self.properties[0]:
                    parts.extend((property, unicode(property_value)))
                else:
                    parts.extend((property, unicode(values[property])))
            key_names.append((property_value, generate_key_name(*parts)))
        return key_names