Пример #1
0
 def get_all(self, _page=1, _size=20):
     try:
         __body = {}
         r = MongodbModel(collection='news_report_broken',
                          body=__body,
                          page=_page,
                          size=_size).get_all_pagination()
         ls = []
         for i in r:
             i['date'] = khayyam.JalaliDatetime(
                 i['date']).strftime('%Y/%m/%d %H:%M:%S')
             try:
                 i['full_name'] = UserModel(
                     _id=i['user']).get_one()['value']['full_name']
             except:
                 i['full_name'] = ''
             ls.append(i)
         self.result['value'] = ls
         self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='admin',
                             severity='error',
                             tags='mongodb > get_all',
                             data='collection > news_report_broken')
         return self.result
Пример #2
0
 def search(self, name, date, _type, manual, count_bolton_section, bolton_types):
     try:
         __body = {"$and": []}
         if name != '':
             __body['$and'].append({'name': {"$regex": '^' + name}})
         if date != '':
             start_date = khayyam.JalaliDatetime().strptime(date + " 00:00:00", "%Y/%m/%d %H:%M:%S").todatetime()
             end_date = khayyam.JalaliDatetime().strptime(date + " 23:59:59", "%Y/%m/%d %H:%M:%S").todatetime()
             __body['$and'].append({'date': {"$gte": start_date, "$lt": end_date}})
         if _type != '':
             __body['$and'].append({'type': ObjectId(_type)})
         if manual != '':
             __body['$and'].append({'manual': manual})
         if count_bolton_section != '':
             __body['$and'].append({'sections': {"$size": int(count_bolton_section)}})
         if not len(__body['$and']):
             __body = {}
         all_bolton = MongodbModel(collection='bolton', body=__body).get_all()
         self.result['value'] = []
         for i in all_bolton:
             self.result['value'].append(self.get_bolton(bolton_types, i))
         self.result['status'] = True
         return self.result
     except:
         print Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > save', data='collection > bolton')
         return self.result
Пример #3
0
    def get_all_parent(self):
        try:
            r = MongodbModel(collection='group',
                             body={
                                 "parent": None
                             },
                             sort="sort",
                             ascending=1).get_all_sort()
            if r:
                l = [
                    dict(id=str(i['_id']),
                         name=i['name'],
                         sort=i['sort'] if "sort" in i.keys() else 0,
                         parent=i['parent']) for i in r
                ]

                self.result['value'] = l
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all_parent',
                                data='collection > group')
            return self.result
Пример #4
0
    def get_result_query(self, **query):
        try:
            from base_app.models.elasticsearch.base_model import ElasticSearchModel
            e = ElasticSearchModel(_id=str(query['item_id']), body=query['body'], index=query['index'], doc_type=query['doc_type'])
            result = {}
            if query['function'] == 'search':
                result = e.search()
            elif query['function'] == 'insert':
                result = e.insert()
            elif query['function'] == 'delete':
                result = e.delete()
            elif query['function'] == 'update':
                result = e.update()
            elif query['function'] == 'count_all':
                result = e.count_all()
            elif query['function'] == 'count':
                result = e.count()
            elif query['function'] == 'get_one':
                result = e.get_one()

            self.result['value'] = result
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > elastic_statistic')
            return self.result
Пример #5
0
    def get_all(self):
        try:
            __body = {
                "user": self.user,
            }

            r = MongodbModel(collection='user_search_pattern', body=__body).get_all()
            ls = []
            if r:
                for i in r:
                    ls.append({
                        "name": i['name'],
                        "tags": i['tags'],
                        "all_words": i['all_words'],
                        "without_words": i['without_words'],
                        "each_words": i['each_words'],
                        "exactly_word": i['exactly_word'],
                        "period": i['period'],
                        "start": i['start'],
                        "end": i['end'],
                        "agency": i['agency']
                    })
            self.result['value'] = ls
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > user_search_pattern')
            return self.result
Пример #6
0
    def insert(self):
        try:
            if self.function == 'search':
                self.get_result()

            __body = {
                'index': self.index,
                'doc_type': self.doc_type,
                'body': self.body,
                'item_id': self.item_id,
                'result': self._result,
                'function': self.function,
                'date': self.date,
            }

            self.result['value'] = str(
                MongodbModel(collection='elastic_statistic',
                             body=__body).insert())
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > save',
                                data='collection > elastic_statistic')
            return self.result
Пример #7
0
    def save_charts_content(self, **body):
        try:
            __body = {"$set": {"charts_content": {
                "content_format": body['content_format'],
                "importance_news": body['importance_news'],
                "performance_agency_number_news": body['based_count_news'],
                "general_statistics_agency": body['stats_news'],
                "daily_statistics_news": body['daily_news'],
                "important_topic_news": body['news_headlines'],
                "important_keyword_news": body['tags_news'],
                "reflecting_news": body['reflecting_news'],
                "importance_news_media_placement": body['importance_media'],
                "content_direction": body['positive_negative_orientation'],
                "agency_direction": body['orientation_news_sources'],
                "important_news_maker": body['important_news_makers'],
                "main_sources_news_1": body['main_sources_news_1'],
                "main_sources_news_2": body['main_sources_news_2'],
            }}}

            __condition = {'_id': ObjectId(self.id)}
            self.result['value'] = MongodbModel(collection='user_group', body=__body, condition=__condition).update()
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > save_charts_content', data='collection > user_group')
            return self.result
Пример #8
0
 def get_all_subject_user(self, subjects):
     try:
         r = MongodbModel(collection='subject',
                          body={
                              "_id": {
                                  "$in": subjects
                              },
                              "parent": None
                          },
                          sort="sort",
                          ascending=1).get_all_sort()
         if r:
             l = [
                 dict(id=i['_id'],
                      name=i['name'],
                      sort=i['sort'] if "sort" in i.keys() else 0,
                      parent=i['parent']) for i in r
             ]
             self.result['value'] = l
             self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='agency',
                             severity='error',
                             tags='get_all_agency')
         return self.result
Пример #9
0
 def update(self, **agency):
     try:
         __body = {
             "$set": {
                 'name': agency['name'],
                 'base_link': agency['link'],
                 'color': agency['color'],
                 'category': agency['category'],
                 'direction': agency['direction'],
                 'active': agency['active'],
                 'pic': agency['pic'],
                 'float_left': agency['float_left'],
                 'add_by_confirm': agency['add_by_confirm'],
                 'extract_image': agency['extract_image'],
                 'copy_key_words': agency['key_words'],
                 'link': agency['link'],
                 'links': agency['links'],
                 'comparatives': agency['comparatives'],
                 'rss_list': agency['rss_list']
             }
         }
         condition = {"_id": self.id}
         self.result['value'] = MongodbModel(collection='agency',
                                             body=__body,
                                             condition=condition).update()
         self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='agency',
                             severity='error',
                             tags='save')
         return self.result
Пример #10
0
    def get_all_by_category(self, access=None):
        try:
            if access is not None:
                r = MongodbModel(collection='agency',
                                 body={
                                     'category': self.category,
                                     "_id": {
                                         "$in": access
                                     }
                                 }).get_all()
            else:
                r = MongodbModel(collection='agency',
                                 body={
                                     'category': self.category
                                 }).get_all()

            for i in r:
                self.get_agency(i)
            self.result['value'] = self.value
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='agency',
                                severity='error',
                                tags='get_all_by_category')
            return self.result
Пример #11
0
    def update_html_news_bolton(self, news):
        try:
            __body = {
                "$set": {
                    "body": news['body'],
                    "title": news['title'],
                    "ro_title": news['ro_title'],
                    "summary": news['summary'],
                    "image": news['image'],
                    "images": news['images']
                }
            }
            __condition = {"_id": self.id}
            MongodbModel(collection='bolton_news',
                         body=__body,
                         condition=__condition).update()
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > delete',
                                data='collection > bolton_news')
            return self.result
Пример #12
0
    def save(self, **agency):
        try:
            __body = {
                'name': agency['name'],
                'base_link': agency['link'],
                'color': agency['color'],
                'category': agency['category'],
                'direction': agency['direction'],
                'rss_list': agency['rss_list'],
                'comparatives': agency['comparatives'],
                'type': agency['type_agency'],
                'active': agency['active'],
                'pic': agency['pic'],
                'float_left': agency['float_left'],
                'add_by_confirm': agency['add_by_confirm'],
                'extract_image': agency['extract_image'],
                'copy_key_words': agency['key_words'],
                'link': agency['link'],
                'links': agency['links'],
            }

            self.result['value'] = str(
                MongodbModel(collection='agency', body=__body).insert())
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='agency',
                                severity='error',
                                tags='save')
            return self.result
Пример #13
0
 def delete(self, kill=False):
     try:
         workers = RedisBaseModel(key=self.__key).get()
         try:
             workers = json.loads(workers)
         except:
             workers = []
         if workers is None:
             workers = []
         _workers = []
         _w = None
         for w in workers:
             if w['_id'] != self.id:
                 _workers.append(w)
             else:
                 _w = w
         if _w is not None:
             _w['end'] = datetime.datetime.now()
             _w['start'] = d_parser.parse(_w['start'])
             _w['kill'] = kill
             MongodbModel(collection="worker", body=_w).insert()
         RedisBaseModel(key=self.__key, value=json.dumps(_workers)).set()
         return True
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='redis > set', data='')
         return False
Пример #14
0
    def get_all_backup(self, _page=0, _size=100):
        try:
            body = {
                "from": _page * _size,
                "size": _size,
                "query": {
                    "match_all": {}
                },
                "sort": {
                    "date": {
                        "order": "desc"
                    }
                }
            }

            r = ElasticSearchModel(doc_type=BriefsModel.doc_type,
                                   body=body).search()
            for b in r['hits']['hits']:
                self.value.append(dict(_id=b['_id'], _source=b['_source']))
            self.result['value'] = self.value
            self.result['status'] = True
            return self.result

        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='briefs > get_all',
                                data='doc_type: ' + BriefsModel.doc_type)
            return self.result
Пример #15
0
    def restore(self, body):
        try:
            body = {
                'link': body['_source']['link'],
                'hash_link': body['_source']['hash_link'],
                'title': body['_source']['title'],
                'hash_title': body['_source']['hash_title'],
                'ro_title': body['_source']['ro_title'],
                'summary': body['_source']['summary'],
                'thumbnail': body['_source']['thumbnail'],
                'agency': body['_source']['agency'],
                'subject': body['_source']['subject'],
                'content': body['_source']['content'],
                'date': body['_source']['date']
            }
            self.result['value'] = ElasticSearchModel(
                doc_type=BriefsModel.doc_type, body=body,
                _id=body['_id']).insert()
            self.result['status'] = True
            self.result['message'] = 'INSERT'

            return self.result

        except:
            Debug.get_exception(sub_system='engine_feed',
                                severity='critical_error',
                                tags='insert_brief',
                                data=self.link)
            return self.result
Пример #16
0
    def get_all_child_user(self, access):
        try:
            r = MongodbModel(collection='subject',
                             body={
                                 "parent": self.parent,
                                 "_id": {
                                     "$in": access
                                 }
                             }).get_all()
            if r:
                l = [
                    dict(
                        id=i['_id'],
                        name=i['name'],
                        parent=i['parent'],
                    ) for i in r
                ]
                self.result['value'] = l
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all_parent',
                                data='collection > subject')
            return self.result
Пример #17
0
    def update(self):
        try:
            for i in self.sections:
                if i['_id'] == "None":
                    i['_id'] = ObjectId()
                else:
                    i['_id'] = ObjectId(i['_id'])

            __body = {
                "$set": {
                    'name': self.name,
                    'format': self.format,
                    'type': self.type,
                    'manual': self.manual,
                    'sections': self.sections
                }
            }

            __condition = {"_id": self.id}
            MongodbModel(collection='bolton',
                         body=__body,
                         condition=__condition).update()

            self.result['status'] = True
            return self.result
        except:
            print Debug.get_exception(sub_system='admin',
                                      severity='error',
                                      tags='mongodb > save',
                                      data='collection > bolton')
            return self.result
Пример #18
0
 def update(self, **agency):
     try:
         __body = {"$set": {
             'name': agency['name'],
             'base_link': agency['link'],
             'color': agency['color'],
             'category': agency['category'],
             'direction': agency['direction'],
             'active': agency['active'],
             'pic': agency['pic'],
             'float_left': agency['float_left'],
             'add_by_confirm': agency['add_by_confirm'],
             'extract_image': agency['extract_image'],
             'copy_key_words': agency['key_words'],
             'link': agency['link'],
             'links': agency['links'],
             'comparatives': agency['comparatives'],
             'rss_list': agency['rss_list']
         }}
         condition = {"_id": self.id}
         self.result['value'] = MongodbModel(collection='agency', body=__body, condition=condition).update()
         self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='agency', severity='error', tags='save')
         return self.result
Пример #19
0
    def get_all_two_level(self, access):
        try:
            r = MongodbModel(collection='subject', body={"parent": None, "_id": {"$in": access}}).get_all()
            if r:
                l = []
                for i in r:
                    s_r = MongodbModel(collection='subject', body={"parent": i['_id'], "_id": {"$in": access}}).get_all()
                    s_l = []
                    for j in s_r:
                        s_l.append(dict(
                            id=j['_id'],
                            name=j['name'],
                        ))
                    l.append(dict(
                        id=i['_id'],
                        name=i['name'],
                        child=s_l
                    ))
                self.result['value'] = l
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > subject')
            return self.result
Пример #20
0
    def get_all_detail(self, sort=None, reverse=True):
        try:
            __body = {"bolton": self.bolton, "section": self.section}
            __key = {"_id": 1, "title": 1, "date": 1, "agency": 1, "agency_name": 1, "agency_color": 1,
                     "direction_content": 1, "news_group": 1, "main_source_news": 1, "news_maker": 1,
                     "star": 1, "read": 1, "important": 1, "note": 1}
            ascending = 1 if reverse else -1
            __sort = [('date', ascending)]
            if sort == 'user_choose':
                __sort = [('_id', ascending)]
            elif sort == 'category':
                __sort = [('category_name', ascending), ('date', ascending), ('agency_name', ascending)]
            elif sort == 'agency':
                __sort = [('agency_name', ascending), ('date', ascending)]
            elif sort == 'subject':
                __sort = [('subject_name', ascending), ('date', ascending)]
            elif sort == 'direction':
                __sort = [('direction_name', ascending), ('date', ascending)]
            r = MongodbModel(collection='bolton_news', body=__body, key=__key, sort=__sort).get_all_key_multi_sort()
            r = [i for i in r]

            self.result['value'] = []
            for i in r:
                self.get_news_detail(i)

            self.result['status'] = True

            return self.result
        except:
            print Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > bolton_news')
            self.result['value'] = []
            return self.result
Пример #21
0
    def get_one(self):
        try:
            r = MongodbModel(collection='user_setting', body={'user': self.user}).get_one()
            if r:
                l = {
                    "make_bolton": r['make_bolton'],
                    "bolton_count": r['bolton_count'],
                    "bolton_count_part": int(r['bolton_count_part']),
                    "make_bolton_automatic": int(r['make_bolton_automatic']),
                    "bolton_automatic_count": r['bolton_automatic_count'],
                    "bolton_automatic_count_part": r['bolton_automatic_count_part'],
                    "make_newspaper": r['make_newspaper'],
                    "newspaper_count": r['newspaper_count'],
                    "newspaper_count_part": r['newspaper_count_part'],
                    "pattern_sources": r['pattern_sources'],
                    "pattern_sources_count": r['pattern_sources_count'],
                    "pattern_search": r['pattern_search'],
                    "pattern_search_count": r['pattern_search_count'],
                    "diagram": r['diagram'],
                    "content_analysis": r['content_analysis']
                }
                self.result['value'] = l
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_one', data='collection > user_setting')
            return self.result
Пример #22
0
    def save_menu_font(self):
        try:
            if self.count(self.key_font):
                __body = {
                    "$set": {
                        "menu": {
                            "font": self.font,
                            "size": self.size
                        }
                    }
                }

                __condition = {'key': self.key_font}
                self.result['value'] = MongodbModel(
                    collection='setting', body=__body,
                    condition=__condition).update()
                self.result['status'] = True
            else:
                __body = {"key": self.key_font, "menu": {"font": self.font}}

                self.result['value'] = MongodbModel(collection='setting',
                                                    body=__body).insert()
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > save',
                                data='collection > setting')
            return self.result
Пример #23
0
    def insert(self):
        try:
            body = {
                'link': self.link,
                'hash_link': self.get_hash(self.link),
                'title': self.title,
                'hash_title': self.get_hash(self.title),
                'ro_title': self.ro_title,
                'summary': self.summary,
                'thumbnail': self.thumbnail,
                'agency': self.agency,
                'subject': self.subject,
                'content': self.content,
                'date': datetime.datetime.today()
            }
            e = self.is_exist()
            if e is False:
                self.result['value'] = ElasticSearchModel(doc_type=BriefsModel.doc_type, body=body).insert()
                self.result['status'] = True
                self.result['message'] = 'INSERT'
            else:
                self.result['status'] = False
                self.result['message'] = 'EXIST'
                self.result['value'] = {'_id': e}

            return self.result

        except:
            Debug.get_exception(sub_system='engine_feed', severity='critical_error', tags='insert_brief', data=self.link)
            return self.result
Пример #24
0
    def insert(self, **body):
        try:
            __body = {
                "name": body['name'],
                "user": self.user,
                "tags": body['tags'],
                "all_words": body['all_words'],
                "without_words": body['without_words'],
                "each_words": body['each_words'],
                "exactly_word": body['exactly_word'],
                "period": body['period'],
                "start": body['start'],
                "end": body['end'],
                "agency": body['agency']
            }

            self.result['value'] = MongodbModel(
                collection='user_search_pattern', body=__body).insert()
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > save_search_pattern',
                                data='collection > user_search_pattern')
            return self.result
Пример #25
0
 def get_all(self):
     try:
         return self.collection.find(self.__body)
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='mongodb > get_all',
                             data='collection: ' + self.__collection + ' body: ' + str(self.__body))
         return False
Пример #26
0
    def get_all(self, __type):
        try:
            r = MongodbModel(collection='direction',
                             body={
                                 'type': __type
                             },
                             sort="sort",
                             ascending=1).get_all_sort()
            if r:
                l = [
                    dict(id=i['_id'],
                         name=i['name'],
                         sort=i['sort'] if "sort" in i.keys() else 0,
                         type=i['type']) for i in r
                ]
                self.result['value'] = l
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all',
                                data='collection > direction')
            return self.result
Пример #27
0
 def get(self):
     try:
         return self.db.get(self.__key)
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='mongodb > insert',
                             data='key: ' + self.__key)
         return False
Пример #28
0
 def insert(self):
     try:
         workers = RedisBaseModel(key=self.__key).get()
         try:
             workers = json.loads(workers)
         except:
             workers = []
         if workers is None:
             workers = []
         workers.append(
             dict(_id=self.id,
                  start=str(datetime.datetime.now()),
                  end=None,
                  error=False,
                  code=self.code,
                  message="",
                  pid=self.pid,
                  type=self.__key))
         RedisBaseModel(key=self.__key, value=json.dumps(workers)).set()
         return True
     except:
         Debug.get_exception(sub_system='admin',
                             severity='error',
                             tags='redis > set',
                             data='')
         return False
Пример #29
0
    def save(self, **agency):
        try:
            __body = {
                'name': agency['name'],
                'base_link': agency['link'],
                'color': agency['color'],
                'category': agency['category'],
                'direction': agency['direction'],
                'rss_list': agency['rss_list'],
                'comparatives': agency['comparatives'],
                'type': agency['type_agency'],
                'active': agency['active'],
                'pic': agency['pic'],
                'float_left': agency['float_left'],
                'add_by_confirm': agency['add_by_confirm'],
                'extract_image': agency['extract_image'],
                'copy_key_words': agency['key_words'],
                'link': agency['link'],
                'links': agency['links'],
            }

            self.result['value'] = str(MongodbModel(collection='agency', body=__body).insert())
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='agency', severity='error', tags='save')
            return self.result
Пример #30
0
 def count():
     try:
         __body = {"code": -1}
         return MongodbModel(collection='news_queue', body=__body).count()
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > news_queue')
         return 0
Пример #31
0
 def get_all_key_limit(self):
     try:
         return self.collection.find(self.__body, self.__key).skip(self.__size * (self.__page - 1)).limit(self.__size)
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='mongodb > get_all_pagination',
                             data='body: ' + str(self.__body))
         return False
Пример #32
0
    def get_result_query(self, **query):
        try:
            from base_app.models.elasticsearch.base_model import ElasticSearchModel
            e = ElasticSearchModel(_id=str(query['item_id']),
                                   body=query['body'],
                                   index=query['index'],
                                   doc_type=query['doc_type'])
            result = {}
            if query['function'] == 'search':
                result = e.search()
            elif query['function'] == 'insert':
                result = e.insert()
            elif query['function'] == 'delete':
                result = e.delete()
            elif query['function'] == 'update':
                result = e.update()
            elif query['function'] == 'count_all':
                result = e.count_all()
            elif query['function'] == 'count':
                result = e.count()
            elif query['function'] == 'get_one':
                result = e.get_one()

            self.result['value'] = result
            self.result['status'] = True
            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all',
                                data='collection > elastic_statistic')
            return self.result
Пример #33
0
    def insert(self):
        try:
            body = {
                'link': self.link,
                'hash_link': self.get_hash(self.link),
                'title': self.title,
                'hash_title': self.get_hash(self.title),
                'ro_title': self.ro_title,
                'summary': self.summary,
                'thumbnail': self.thumbnail,
                'agency': self.agency,
                'subject': self.subject,
                'content': self.content,
                'date': datetime.datetime.today()
            }
            e = self.is_exist()
            if e is False:
                self.result['value'] = ElasticSearchModel(
                    doc_type=BriefsModel.doc_type, body=body).insert()
                self.result['status'] = True
                self.result['message'] = 'INSERT'
            else:
                self.result['status'] = False
                self.result['message'] = 'EXIST'
                self.result['value'] = {'_id': e}

            return self.result

        except:
            Debug.get_exception(sub_system='engine_feed',
                                severity='critical_error',
                                tags='insert_brief',
                                data=self.link)
            return self.result
Пример #34
0
    def save_keyword(self):
        try:
            if self.count(self.key_keyword):
                __body = {"$set": self.keyword}

                __condition = {'key': self.key_keyword}
                self.result['value'] = MongodbModel(
                    collection='setting', body=__body,
                    condition=__condition).update()
                self.result['status'] = True
            else:
                self.keyword["key"] = self.key_keyword
                __body = self.keyword

                self.result['value'] = MongodbModel(collection='setting',
                                                    body=__body).insert()
                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > save',
                                data='collection > setting')
            return self.result
Пример #35
0
    def get_all_detail(self):
        try:
            __body = {"user": self.user}
            __key = {
                "_id": 1,
                "name": 1,
                "sections.section": 1,
                "sections._id": 1
            }
            r = MongodbModel(collection='bolton',
                             body=__body,
                             key=__key,
                             sort="date").get_all_key_sort()
            if r:
                l = []
                for i in r:
                    l.append(self.get_bolton_detail(i))
                self.result['value'] = l

                self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all',
                                data='collection > bolton')
            self.result['value'] = []
            return self.result
Пример #36
0
    def get_one(self):
        try:
            __body = {"_id": self.id}
            __key = {
                "_id": 1,
                "name": 1,
                "sections.section": 1,
                "sort": 1,
                "visit": 1,
                "reverse": 1,
                "sections._id": 1
            }
            r = MongodbModel(collection='bolton', body=__body,
                             key=__key).get_one_key()
            r['sort'] = r['sort'] if 'sort' in r.keys() else "user_choose"
            r['reverse'] = r['reverse'] if 'reverse' in r.keys() else True
            r['visit'] = r['visit'] if 'visit' in r.keys() else 0
            self.result['value'] = r
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all',
                                data='collection > bolton')
            self.result['value'] = []
            return self.result
Пример #37
0
 def get_all_sort(self):
     try:
         return self.collection.find(self.__body).sort([(self.__sort, self.__ascending)])
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='mongodb > get_all_pagination',
                             data='body: ' + str(self.__body))
         return False
Пример #38
0
 def delete(self, kill=False):
     try:
         workers = RedisBaseModel(key=self.__key).get()
         try:
             workers = json.loads(workers)
         except:
             workers = []
         if workers is None:
             workers = []
         _workers = []
         _w = None
         for w in workers:
             if w['_id'] != self.id:
                 _workers.append(w)
             else:
                 _w = w
         if _w is not None:
             _w['end'] = datetime.datetime.now()
             _w['start'] = d_parser.parse(_w['start'])
             _w['kill'] = kill
             MongodbModel(collection="worker", body=_w).insert()
         RedisBaseModel(key=self.__key, value=json.dumps(_workers)).set()
         return True
     except:
         Debug.get_exception(sub_system='admin',
                             severity='error',
                             tags='redis > set',
                             data='')
         return False
Пример #39
0
    def get_all(self):
        try:
            __body = {
                "user": self.user,
            }

            r = MongodbModel(collection='user_search_pattern',
                             body=__body).get_all()
            ls = []
            if r:
                for i in r:
                    ls.append({
                        "name": i['name'],
                        "tags": i['tags'],
                        "all_words": i['all_words'],
                        "without_words": i['without_words'],
                        "each_words": i['each_words'],
                        "exactly_word": i['exactly_word'],
                        "period": i['period'],
                        "start": i['start'],
                        "end": i['end'],
                        "agency": i['agency']
                    })
            self.result['value'] = ls
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin',
                                severity='error',
                                tags='mongodb > get_all',
                                data='collection > user_search_pattern')
            return self.result
Пример #40
0
 def get_title(self, __soap, __title):
     try:
         title = __soap.select_one(__title).text.encode('utf-8').strip()
     except:
         Debug.get_exception(sub_system='engine_feed', severity='error', tags='get_title',
                             data=self.error_link)
         title = None
     return title
Пример #41
0
    def count(self):
        try:
            body = {"user": self.user}
            return MongodbModel(collection='user_setting', body=body).count()

        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > count', data='collection > user_setting')
            return 0
Пример #42
0
 def update_option(self):
     try:
         return self.collection.update(self.__condition, self.__body, self.__option)
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='mongodb > update',
                             data='collection: ' + self.__collection + ' body: ' + str(
                                 self.__body) + ' condition: ' + str(self.__condition))
         return False
Пример #43
0
 def count(self):
     try:
         result = self.db.count(index=self.index, doc_type=self.doc_type, body=self.body)
         ElasticStatisticModel(index=self.index, doc_type=self.doc_type, body=self.body, result=result, function='count').insert()
         return result['count']
     except:
         print Debug.get_exception(sub_system='admin', severity='critical_error', tags='elastic_search > count',
                             data='index: ' + self.index + ' doc_type: ' + self.doc_type + ' body: ' + str(self.body))
         return 0
Пример #44
0
 def count_all(self):
     try:
         r = MongodbModel(collection='agency', body={}).count()
         self.result['value'] = r
         self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='agency', severity='error', tags='get_all_agency')
         return self.result
Пример #45
0
 def delete(self):
     try:
         __body = {"_id": self.id}
         r = MongodbModel(collection='news_report_broken', body=__body).delete()
         self.result['value'] = r
         self.result['status'] = True
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > news_report_broken')
         return self.result
Пример #46
0
    def delete(self):
        try:
            self.result['value'] = MongodbModel(collection='category', body={'_id': self.id}).delete()
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > delete', data='collection > category')
            return self.result
Пример #47
0
 def get_date(self, __soap, __date, __date_format):
     try:
         news_date = __soap.select_one(__date).text.replace(u'ي', u'ی').strip()
         news_date.encode('utf-8')
         news_date = self.get_date_str(news_date)
         return khayyam.JalaliDatetime().strptime(news_date, u'{}'.format(__date_format)).todatetime()
     except:
         Debug.get_exception(sub_system='engine_feed', severity='error', tags='get_date_news', data=self.error_link)
         return datetime.datetime.now()
Пример #48
0
 def update(self):
     try:
         result = self.db.update(index=self.index, doc_type=self.doc_type, id=self.id, body=self.body)
         ElasticStatisticModel(index=self.index, doc_type=self.doc_type, item_id=self.id, body=self.body, result=result, function='update').insert()
         return True
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='elastic_search > update',
                             data='index: ' + self.index + ' doc_type: ' + self.doc_type + ' body: ' + str(self.body) + ' id: ' + str(self.id))
         return False
Пример #49
0
 def get_one(self):
     try:
         result = self.db.get(index=self.index, doc_type=self.doc_type, id=self.id)
         ElasticStatisticModel(index=self.index, doc_type=self.doc_type, item_id=self.id, result=result, function='get_one').insert()
         return result
     except:
         Debug.get_exception(sub_system='admin', severity='critical_error', tags='elastic_search > get_one',
                             data='index: ' + self.index + ' doc_type: ' + self.doc_type + ' id: ' + str(self.id))
         return {}
Пример #50
0
    def delete(self):
        try:
            self.result['value'] = MongodbModel(collection='agency', body={'_id': self.id}).delete()
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='agency', severity='error', tags='delete')
            return self.result
Пример #51
0
    def delete_childs(self):
        try:
            self.result['value'] = MongodbModel(collection='group', body={'parent': self.parent}).delete()
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > delete_childs', data='collection > group')
            return self.result
Пример #52
0
    def get_all(self):
        try:
            self.result['value'] = self.get_all_parent_child('group')
            self.result['status'] = True

            return self.result
        except:
            Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > group')
            return self.result
Пример #53
0
 def get(self):
     try:
         return RedisBaseModel(key=self.__key).get()
     except:
         Debug.get_exception(sub_system='admin',
                             severity='error',
                             tags='redis > get',
                             data='')
         return self.result
Пример #54
0
 def get_all(_code=-1):
     try:
         __body = {"code": _code}
         r = MongodbModel(collection='news_queue', body=__body).get_all_pagination()
         result = [i for i in r]
         return result
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > get_all', data='collection > news_queue')
         return []
Пример #55
0
 def count_all(self):
     try:
         __body = {"type": self.type}
         r = MongodbModel(collection='feed_statistic', body=__body).count()
         self.result['value'] = r
         self.result['status'] = True
         return self.result
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > count_all', data='collection > feed_statistic')
         return self.result
Пример #56
0
 def get_title(self, __soap):
     try:
         title = __soap.select_one(self.title).text.encode('utf-8').strip()
     except:
         Debug.get_exception(sub_system='engine_feed',
                             severity='error',
                             tags='get_title',
                             data=self.error_link)
         title = None
     return title
Пример #57
0
 def group_by(col):
     try:
         body = [{
             "$group": {"_id": "$" + col, "total": {"$sum": 1}}
         }]
         r = MongodbModel(collection='feed_statistic', body=body).aggregate()
         return [{col: i['_id'], 'total': i['total']} for i in r]
     except:
         Debug.get_exception(sub_system='admin', severity='error', tags='mongodb > group_by', data='collection > feed_statistic')
         return []