Ejemplo n.º 1
0
 def list_fs(cls):
     """获得文件列表"""
     try:
         file_list = cls.fs.list()
         return file_list
     except Exception as e:
         logger.error(e.message)
Ejemplo n.º 2
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.')
Ejemplo n.º 3
0
 def get_obj(self, key):
     """从缓存读取数据"""
     try:
         value = self._mc.get(key)
         return value
     except Exception as e:
         logger.error(e.message)
Ejemplo 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)
Ejemplo n.º 5
0
 def get(self):
     try:
         self._event('to_login')
         self.render(settings.login_template)
     except Exception as e:
         logger.error('[message: %s]' % e.message)
         self.render(settings.cms_error_template)
Ejemplo n.º 6
0
    def get(self):
        try:
            user_id = self.get_cookie('u_i') if self.get_cookie(
                'u_i') else Session.get_session_id()
            redirect_url, cpc_id = self.cpc_effect(user_id, **self.params)
            if not redirect_url:
                self.redirect(url=settings.host_src, permanent=True)
            self.set_cookie('u_i',
                            user_id,
                            expires_days=settings.cookie_alive_time)
            self.set_cookie('xc_source',
                            'xingcloud',
                            expires_days=settings.cookie_alive_time)
            self.set_cookie('m_c',
                            self.params.get('m_c'),
                            expires_days=settings.cookie_alive_time)
            self.set_cookie('c_i',
                            cpc_id.__str__(),
                            expires_days=settings.cookie_alive_time)

            self.redirect(url=redirect_url, permanent=True)
        except Exception as e:
            self.cpc_un_effect(cpc_id)
            logger.error('[message: %s]; [params: %s]' %
                         (e.message, self.params.__str__()))
Ejemplo n.º 7
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.')
Ejemplo n.º 8
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)
Ejemplo n.º 9
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)
Ejemplo n.º 10
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)
Ejemplo n.º 11
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.')
Ejemplo n.º 12
0
def crawling(product):
    """
    将页面js爬取的productFeed保存入库

    """
    try:
        if isinstance(product, dict):
            do_import_product(product, settings.tag_dict)
    except Exception as e:
        logger.error('Crawling error: %s' % e.message)
Ejemplo n.º 13
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)
Ejemplo n.º 14
0
 def post(self):
     try:
         method_name = self.params.get('callback')
         method_dict = {
             'order': lambda: self._set_cpsuc(**self.params),
         }
         method_dict[method_name]()
     except Exception as e:
         logger.error('[message: %s]; [host: %s]; [ip: %s]; [params: %s]' %
                      (e.message, self.request.host, self.request.remote_ip,
                       self.params.__str__()))
Ejemplo n.º 15
0
 def post(self):
     try:
         self._event('login_successful')
         username = self.params.get('username')
         password = self.params.get('password')
         if username == 'xingcloud' and password == 'affiliate':
             self.render(settings.cms_index_template)
         else:
             self.render(settings.login_template)
     except Exception as e:
         logger.error('[message: %s]' % e.message)
         self.render(settings.cms_error_template)
Ejemplo n.º 16
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)
Ejemplo n.º 17
0
 def post(self):
     try:
         self._event('drawing')
         begin_date = DateUtil.str_2_date(self.params.get('begin'), '-')
         end_date = DateUtil.str_2_date(self.params.get('end'), '-')
         print begin_date, end_date
         if not (begin_date and end_date):
             self.write(json_encode({}))
             return
         param = self.get_param(begin_date, end_date)
         self.write(json_encode(param))
     except Exception as e:
         logger.error('[message: %s]' % e.message)
Ejemplo n.º 18
0
 def _set_cpsuc(self, **kwargs):
     try:
         self._event('cpsuc')
         order_list = json.loads(kwargs.get('orderList'))
         self._cpsuc_effect(order_list)
         result_info = {
             'status': '200',
             'message': 'successful',
         }
         self.write(json_encode(result_info))
     except Exception as e:
         logger.error('[message: %s]; [host: %s]; [ip: %s]; [params: %s]' %
                      (e.message, self.request.host, self.request.remote_ip,
                       self.params.__str__()))
Ejemplo n.º 19
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)
Ejemplo n.º 20
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)
Ejemplo n.º 21
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()
Ejemplo n.º 22
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)
Ejemplo n.º 23
0
 def put_obj(self, key, val, timeout):
     """向缓存添加数据"""
     try:
         self._mc.set(key, val, timeout)
     except Exception as e:
         logger.error(e.message)
Ejemplo n.º 24
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.')
Ejemplo n.º 25
0
 def log_message(self):
     logger.error(self.message)