Esempio n. 1
0
 def list_fs(cls):
     """获得文件列表"""
     try:
         file_list = cls.fs.list()
         return file_list
     except Exception as e:
         logger.error(e.message)
Esempio n. 2
0
 def get_obj(self, key):
     """从缓存读取数据"""
     try:
         value = self._mc.get(key)
         return value
     except Exception as e:
         logger.error(e.message)
Esempio n. 3
0
 def __init__(self, product_list, **kwargs):
     try:
         self._webmaster = kwargs.get('w_m')
         self._product_list = product_list
         self._page_items = self.__get_page_items()
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 4
0
 def delete(cls, db, collection, spec_or_id=None):
     """删除集合数据"""
     try:
         result = cls.client[db][collection].remove(spec_or_id)
         return result
     except Exception as e:
         logger.error(e.message)
Esempio n. 5
0
 def delete(cls, db, collection, spec_or_id=None):
     """删除集合数据"""
     try:
         result = cls.client[db][collection].remove(spec_or_id)
         return result
     except Exception as e:
         logger.error(e.message)
Esempio n. 6
0
 def list_fs(cls):
     """获得文件列表"""
     try:
         file_list = cls.fs.list()
         return file_list
     except Exception as e:
         logger.error(e.message)
Esempio n. 7
0
 def __init__(self, product_list, **kwargs):
     try:
         self._webmaster = kwargs.get('w_m')
         self._product_list = product_list
         self._page_items = self.__get_page_items()
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 8
0
 def get_obj(self, key):
     """从缓存读取数据"""
     try:
         value = self._mc.get(key)
         return value
     except Exception as e:
         logger.error(e.message)
Esempio n. 9
0
 def __init__(self, page_index, page_size, page_count, page_items):
     try:
         self._page_index = page_index
         self._page_size = page_size
         self._page_count = page_count
         self._page_items = page_items
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 10
0
 def remove(cls, filename=None, object_id=None):
     """删除文件"""
     try:
         assert filename or object_id
         key = cls.fs.get_last_version(filename)._id if filename else ObjectId(object_id)
         cls.fs.delete(key)
     except Exception as e:
         logger.error(e.message)
Esempio n. 11
0
 def __init__(self, page_index, page_size, page_count, page_items):
     try:
         self._page_index = page_index
         self._page_size = page_size
         self._page_count = page_count
         self._page_items = page_items
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 12
0
 def insert(cls, db, collection, document):
     """插入数据"""
     try:
         if not document:
             return None
         obj_id = cls.client[db][collection].insert(document)
         return obj_id
     except Exception as e:
         logger.error(e.message)
Esempio n. 13
0
 def update(cls, db, collection, spec_or_id, document):
     """保存更新数据"""
     try:
         if not document:
             return None
         obj_id = cls.client[db][collection].update(spec_or_id, document)
         return obj_id
     except Exception as e:
         logger.error(e.message)
Esempio n. 14
0
 def remove(cls, filename=None, object_id=None):
     """删除文件"""
     try:
         assert filename or object_id
         key = cls.fs.get_last_version(
             filename)._id if filename else ObjectId(object_id)
         cls.fs.delete(key)
     except Exception as e:
         logger.error(e.message)
Esempio n. 15
0
 def insert(cls, db, collection, document):
     """插入数据"""
     try:
         if not document:
             return None
         obj_id = cls.client[db][collection].insert(document)
         return obj_id
     except Exception as e:
         logger.error(e.message)
Esempio n. 16
0
 def update(cls, db, collection, spec_or_id, document):
     """保存更新数据"""
     try:
         if not document:
             return None
         obj_id = cls.client[db][collection].update(spec_or_id, document)
         return obj_id
     except Exception as e:
         logger.error(e.message)
Esempio n. 17
0
 def __init__(self, product_list, **kwargs):
     try:
         self._webmaster = kwargs.get('webmaster')
         self._product_list = product_list
         self._page_size = int(kwargs.get('pageSize', settings.page_size))
         self._page_index = int(kwargs.get('pageIndex', 1))
         self._page_count = self.__get_page_count()
         self._page_items = self.__get_page_items()
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 18
0
 def __init__(self, product_list, **kwargs):
     try:
         self._webmaster = kwargs.get('webmaster')
         self._product_list = product_list
         self._page_size = int(kwargs.get('pageSize', settings.page_size))
         self._page_index = int(kwargs.get('pageIndex', 1))
         self._page_count = self.__get_page_count()
         self._page_items = self.__get_page_items()
     except (KeyError, TypeError, ValueError, AssertionError) as e:
         logger.error('Get a page response error.')
Esempio n. 19
0
 def get(cls, filename=None, object_id=None):
     """取文件"""
     try:
         assert filename or object_id
         content_obj = cls.fs.get_last_version(filename) if filename else cls.fs.get(ObjectId(object_id))
         content = content_obj.read()
         headers = content_obj.headers
         filename = content_obj.filename
         return {"file": content, "headers": headers, "filename": filename}
     except Exception as e:
         logger.error(e.message)
Esempio n. 20
0
 def find_one(cls, db, collection, spec_or_id=None):
     """根据id或者特殊匹配查询mongodb"""
     try:
         if isinstance(spec_or_id, str):
             id = ObjectId(spec_or_id)
             result = cls.client[db][collection].find_one(id)
             return result
         result = cls.client[db][collection].find_one(spec_or_id)
         return result
     except Exception as e:
         logger.error(e.message)
Esempio n. 21
0
 def find_one(cls, db, collection, spec_or_id=None):
     """根据id或者特殊匹配查询mongodb"""
     try:
         if isinstance(spec_or_id, str):
             id = ObjectId(spec_or_id)
             result = cls.client[db][collection].find_one(id)
             return result
         result = cls.client[db][collection].find_one(spec_or_id)
         return result
     except Exception as e:
         logger.error(e.message)
Esempio n. 22
0
 def get(cls, filename=None, object_id=None):
     """取文件"""
     try:
         assert filename or object_id
         content_obj = cls.fs.get_last_version(
             filename) if filename else cls.fs.get(ObjectId(object_id))
         content = content_obj.read()
         headers = content_obj.headers
         filename = content_obj.filename
         return {"file": content, "headers": headers, "filename": filename}
     except Exception as e:
         logger.error(e.message)
Esempio n. 23
0
    def group(cls, db, collection, key, condition=None, initial=list(), reduce=None):
        """
        分组查询数据
        param@key:根据key指定的字段进行分组
        param@condition:筛选条件
        param@initial:对于一组中的各个记录,都作为reduce函数的第一个参数执行reduce函数
        param@reduce:reduce函数引用

        """
        try:
            result = cls.client[db][collection].group(key=key, condition=condition, initial=initial, reduce=reduce)
            return result
        except Exception as e:
            logger.error(e.message)
Esempio n. 24
0
 def find(cls, db, collection, spec_or_id=None, skip=0, limit=0, sort=None):
     """获取指定集合所有数据"""
     try:
         if limit:
             if sort:
                 obj_list = cls.client[db][collection].find(spec_or_id).skip(skip).limit(limit).sort(sort)
             else:
                 obj_list = cls.client[db][collection].find(spec_or_id).skip(skip).limit(limit)
         else:
             if sort:
                 obj_list = cls.client[db][collection].find(spec_or_id).sort(sort)
             else:
                 obj_list = cls.client[db][collection].find(spec_or_id)
         return list(obj_list)
     except Exception as e:
         logger.error(e.message)
Esempio n. 25
0
 def update_or_insert(cls, db, collection, document, spec_or_id=None):
     """更新数据,如果数据不存在则插入"""
     try:
         update_flag = False
         if (isinstance(spec_or_id, str) or isinstance(spec_or_id, dict)) and spec_or_id:
             existing_document = cls.find_one(db, collection, spec_or_id)
             if not existing_document:
                 obj_id = cls.insert(db, collection, document)
             else:
                 for k, v in document.items():
                     existing_document[k] = v
                 obj_id = cls.client[db][collection].save(existing_document)
                 update_flag = True
         else:
             obj_id = cls.insert(db, collection, document)
         return obj_id, update_flag
     except Exception as e:
         logger.error(e.message)
Esempio n. 26
0
 def update_or_insert(cls, db, collection, document, spec_or_id=None):
     """更新数据,如果数据不存在则插入"""
     try:
         update_flag = False
         if (isinstance(spec_or_id, str)
                 or isinstance(spec_or_id, dict)) and spec_or_id:
             existing_document = cls.find_one(db, collection, spec_or_id)
             if not existing_document:
                 obj_id = cls.insert(db, collection, document)
             else:
                 for k, v in document.items():
                     existing_document[k] = v
                 obj_id = cls.client[db][collection].save(existing_document)
                 update_flag = True
         else:
             obj_id = cls.insert(db, collection, document)
         return obj_id, update_flag
     except Exception as e:
         logger.error(e.message)
Esempio n. 27
0
 def find(cls, db, collection, spec_or_id=None, skip=0, limit=0, sort=None):
     """获取指定集合所有数据"""
     try:
         if limit:
             if sort:
                 obj_list = cls.client[db][collection].find(
                     spec_or_id).skip(skip).limit(limit).sort(sort)
             else:
                 obj_list = cls.client[db][collection].find(
                     spec_or_id).skip(skip).limit(limit)
         else:
             if sort:
                 obj_list = cls.client[db][collection].find(
                     spec_or_id).sort(sort)
             else:
                 obj_list = cls.client[db][collection].find(spec_or_id)
         return list(obj_list)
     except Exception as e:
         logger.error(e.message)
Esempio n. 28
0
 def put(cls, filename, image, suffix='png'):
     """上传文件"""
     try:
         filename = '%s.%s' % (filename, suffix)
         data = None
         headers = {
             "Cache-Control": "max-age=%s" % (60 * 60 * 24),
             "Content-type": "image/%s" % suffix
         }
         params = {
             "filename": filename,
             "headers": headers,
             "suffix": suffix
         }
         data = StringIO()
         image.save(data, suffix)
         cls.fs.put(data.getvalue(), **params)
         return filename
     except Exception as e:
         logger.error(e.message)
     finally:
         data.close()
Esempio n. 29
0
 def put(cls, filename, image, suffix='png'):
     """上传文件"""
     try:
         filename = '%s.%s' % (filename, suffix)
         data = None
         headers = {
             "Cache-Control": "max-age=%s" % (60 * 60 * 24),
             "Content-type": "image/%s" % suffix
         }
         params = {
             "filename": filename,
             "headers": headers,
             "suffix": suffix
         }
         data = StringIO()
         image.save(data, suffix)
         cls.fs.put(data.getvalue(), **params)
         return filename
     except Exception as e:
         logger.error(e.message)
     finally:
         data.close()
Esempio n. 30
0
    def group(cls,
              db,
              collection,
              key,
              condition=None,
              initial=list(),
              reduce=None):
        """
        分组查询数据
        param@key:根据key指定的字段进行分组
        param@condition:筛选条件
        param@initial:对于一组中的各个记录,都作为reduce函数的第一个参数执行reduce函数
        param@reduce:reduce函数引用

        """
        try:
            result = cls.client[db][collection].group(key=key,
                                                      condition=condition,
                                                      initial=initial,
                                                      reduce=reduce)
            return result
        except Exception as e:
            logger.error(e.message)
Esempio n. 31
0
 def put_obj(self, key, val, timeout):
     """向缓存添加数据"""
     try:
         self._mc.set(key, val, timeout)
     except Exception as e:
         logger.error(e.message)
Esempio n. 32
0
 def __init__(self, keyword):
     try:
         self._hot_word_list = self._get_hot_word_list(keyword)
     except Exception as e:
         logger.error('Get hot word list response error.')
Esempio n. 33
0
 def log_message(self):
     logger.error(self.message)
Esempio n. 34
0
 def __init__(self, keyword):
     try:
         self._hot_word_list = self._get_hot_word_list(keyword)
     except Exception as e:
         logger.error('Get hot word list response error.')
Esempio n. 35
0
 def put_obj(self, key, val, timeout):
     """向缓存添加数据"""
     try:
         self._mc.set(key, val, timeout)
     except Exception as e:
         logger.error(e.message)
Esempio n. 36
0
 def get(self):
     try:
         self._event('index')
         self.render(settings.detail_template)
     except Exception as e:
         logger.error('[message: %s]' % e.message)
Esempio n. 37
0
 def get(self):
     try:
         self._event('index')
         self.render(settings.detail_template)
     except Exception as e:
         logger.error('[message: %s]' % e.message)
Esempio n. 38
0
 def log_message(self):
     logger.error(self.message)