Example #1
0
def deploy(deploy_type):
    from flask_migrate import upgrade
    from app.models import BlogInfo, User, Source, BlogView
    # 导入数据模型
    # from app.models import ......

    # upgrade database to the latest version
    upgrade()

    if deploy_type == 'product':
        # step_1:insert basic blog info
        BlogInfo.insert_blog_info()
        # step_2:insert admin account
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='******')
        # step_3:insert source
        Source.insert_sources()
        # step_4:insert blog view
        BlogView.insert_view()

    # You must run `python manage.py deploy(product)` before run `python manage.py deploy(test_data)`
    elif deploy_type == 'test_data':
        Article.generate_fake(20)

    else:
        pass
Example #2
0
def deploy(deploy_type):
    from flask_migrate import upgrade
    from app.models import BlogInfo, User, ArticleTypeSetting, Source, \
        ArticleType, Plugin, BlogView, Comment

    # upgrade database to the latest version
    upgrade()

    if deploy_type == 'product':
        # step_1:insert basic blog info
        BlogInfo.insert_blog_info()
        # step_2:insert admin account
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='')
        # step_3:insert system default setting
        ArticleTypeSetting.insert_system_setting()
        # step_4:insert default article sources
        Source.insert_sources()
        # step_5:insert default articleType
        ArticleType.insert_system_articleType()
        # step_6:insert system plugin
        Plugin.insert_system_plugin()
        # step_7:insert blog view
        BlogView.insert_view()
Example #3
0
def deploy(deploy_type):
    import os
    from flask.ext.migrate import upgrade
    from app.models import BlogInfo, User, ArticleTypeSetting, Source, \
        ArticleType, Plugin, BlogView, Comment

    # ADMIN SETTING
    ADMIN_EMAIL = os.environ.get('ADMIN_EMAIL') or "*****@*****.**"
    ADMIN_NAME = os.environ.get('ADMIN_NAME') or "admin"
    ADMIN_PASSWD = os.environ.get('ADMIN_PASSWD') or "admin"

    # upgrade database to the latest version
    upgrade()

    if deploy_type == 'product':
        # step_1:insert basic blog info
        BlogInfo.insert_blog_info()
        # step_2:insert admin account
        User.insert_admin(email=ADMIN_EMAIL,
                          username=ADMIN_NAME,
                          password=ADMIN_PASSWD)
        # step_3:insert system default setting
        ArticleTypeSetting.insert_system_setting()
        # step_4:insert default article sources
        Source.insert_sources()
        # step_5:insert default articleType
        Menu.insert_menus()
        ArticleType.insert_system_articleType()
        ArticleType.insert_articleTypes()
        # step_6:insert system plugin
        Plugin.insert_system_plugin()
        # step_7:insert blog view
        BlogView.insert_view()
    def test_add_outcome(self):
        t = datetime.now().timetuple()
        seconds = local_to_utc(t)
        arr_match = []
        Uid = 66
        source1 = Source.find_source_by_id(1)
        if source1 is None:
            source1 = Source(id=1,
                             name="Source",
                             url="htpp://www.abc.com",
                             approved=1)
            db.session.add(source1)
            db.session.commit()

        match = Match(public=1,
                      date=seconds + 100,
                      reportTime=seconds + 200,
                      disputeTime=seconds + 300,
                      source_id=source1.id)
        arr_match.append(match)
        db.session.add(match)
        db.session.commit()

        with self.client:

            params = [{
                "name": "outcome test",
                "match_id": match.id,
                "hid": 88
            }]
            response = self.client.post('/outcome/add/{}'.format(match.id),
                                        data=json.dumps(params),
                                        content_type='application/json',
                                        headers={
                                            "Uid": "{}".format(Uid),
                                            "Fcm-Token": "{}".format(123),
                                            "Payload": "{}".format(123),
                                        })

            data = json.loads(response.data.decode())
            self.assertTrue(data['status'] == 1)
            data_json = data['data']
            self.assertTrue(
                data_json[0]['approved'] == CONST.OUTCOME_STATUS['PENDING'])

            response = self.client.get('/match/{}'.format(match.id),
                                       content_type='application/json',
                                       headers={
                                           "Uid": "{}".format(Uid),
                                           "Fcm-Token": "{}".format(123),
                                           "Payload": "{}".format(123),
                                       })
            data = json.loads(response.data.decode())
            self.assertTrue(data['status'] == 1)
            data_json = data['data']
            self.assertTrue(len(data_json['outcomes']) == 0)

            for item in arr_match:
                db.session.delete(item)
                db.session.commit()
Example #5
0
 def __init__(self, data, source):
     self.data = data
     self.source = source
     if not Event.query.filter(
             Event.name == "{} scraping".format(self.source)).first():
         # add source
         obj = Source()
         obj.name = self.source
         db.session.add(obj)
         db.session.commit()
         # create event
         self.add_event({
             "name":
             "{} scraping".format(self.source),
             "details":
             "Observables mined from {}".format(self.source),
             "confidence":
             10,
             "source":
             source,
             "tlp":
             "Green",
             "impact":
             "Low",
             "likelihood":
             "Low"
         })
Example #6
0
 def test_save_source(self):
     '''Testcase method to test Source if object is saved'''
     source2 = Source(
         'abc-1', 'ABC News',
         'ABC News is all here to enable you go through the world news updates.'
     )
     source2.save_source(self)
     self.assertEqual(len(Source.all_sources), 1)
Example #7
0
def deploy(deploy_type):
    db.drop_all()
    db.create_all()

    if deploy_type == 'generate_data':
        # step_1:insert navs
        Menu.init_menus()
        ArticleType.init_articleTypes()
        User.insert_admin('*****@*****.**', 'adrui', 'adjsjZBR1996')
        Source.insert_source()
Example #8
0
    def post(self):
        try:
            source = Source(**request.json)
            source.id = str(uuid.uuid1())
            db.session.add(source)
            db.session.commit()

            return source_schema.dump(source).data

        except ValidationError as err:
            return jsonify(err.messages), 422
Example #9
0
def deploy():
    """RUn deployment tasks"""
    from flask_migrate import upgrade
    from app.models import Role,User,Comment
    upgrade()
    Role.insert_roles()
    Source.insert_source()
    PostType.insert_type()
    User.generate_fake(100)
    Post.generate_fake(500)
    Comment.generate_fake(1000)#添加1000个回复博文的评论
    Comment.generate_fake_reply(1000)#添加1000个回复别人的评论
    User.add_followed_self()
    def setUp(self):
        # create source
        source = Source.find_source_by_id(1)
        if source is None:
            source = Source(id=1, name="source1", url="url1")
            db.session.add(source)
            db.session.commit()

        else:
            source.name = "source1"
            source.url = "url1"
            db.session.flush()
            db.session.commit()
Example #11
0
def source_create():
    form = SourceCreateForm()
    if form.validate_on_submit():
        source = Source()
        source.sid = form.sid.data
        source.name = form.name.data
        source.url = form.url.data

        db.session.add(source)
        db.session.commit()

        return redirect(url_for('sources'))

    return render_template('source_create.html', form=form)
Example #12
0
def deploy(deploy_type):
    from flask.ext.migrate import upgrade
    from app.models import BlogInfo, User, ArticleTypeSetting, Source, \
        ArticleType, Plugin, BlogView, Comment

    # upgrade database to the latest version
    upgrade()

    if deploy_type == 'product':
        # step_1:insert basic blog info
        BlogInfo.insert_blog_info()
        # step_2:insert admin account
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='******')
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='******')
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='******')
        User.insert_admin(email='*****@*****.**',
                          username='******',
                          password='******')
        # step_3:insert system default setting
        ArticleTypeSetting.insert_system_setting()
        # step_4:insert default article sources
        Source.insert_sources()
        # step_5:insert default articleType
        ArticleType.insert_system_articleType()
        # step_6:insert system plugin
        Plugin.insert_system_plugin()
        # step_7:insert blog view
        BlogView.insert_view()

    # You must run `python manage.py deploy(product)` before run `python manage.py deploy(test_data)`
    if deploy_type == 'test_data':
        # step_1:insert navs
        Menu.insert_menus()
        # step_2:insert articleTypes
        ArticleType.insert_articleTypes()
        # step_3:generate random articles
        Article.generate_fake(100)
        # step_4:generate random comments
        Comment.generate_fake(300)
        # step_5:generate random replies
        Comment.generate_fake_replies(100)
        # step_4:generate random comments
        Comment.generate_fake(300)
Example #13
0
def register_source():
    form = SourceForm()
    if form.validate_on_submit():
        source = Source(title=form.title.data,
                        city=form.city.data,
                        state=form.state.data,
                        country=form.country.data,
                        description=form.description.data,
                        sphere=form.sphere.data,
                        officialLink=form.officialLink.data,
                        author=current_user)
        db.session.add(source)
        db.session.flush()
        category = Category(category=form.category.data, source_id=source.id)
        db.session.add(category)
        db.session.flush()
        tag = Tag(keyword=form.keyword.data)
        db.session.add(tag)
        db.session.flush()
        source.tags.append(tag)
        db.session.commit()
        flash(_('A fonte "%s" foi registrada com sucesso.' % source.title))
    return render_template('register_source.html',
                           title=(_('Cadastrar Fonte')),
                           form=form)
 def setup(self):
     """
     Set up method that will run before every Test
     """
     self.new_source = Source("bloomberg", "Donald Kiplagat",
                              "Test to see if Source is retrieved",
                              "TestUrl", "The article itself")
Example #15
0
 def setUp(self):
     '''
     set up method that will run before every Test
     '''
     self.new_source = Source(
         'the-wall-street-journal', 'the expansionist technology',
         'Find live scores, player and team news, videos, rumors')
Example #16
0
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_source = Source('abc-news', 'ABC News',
                              'Your trusted source for breaking news.',
                              'http://abcnews.go.com/', 'general', 'us')
Example #17
0
 def setUp(self):
     '''
     Setup function that will run before every test
     '''
     self.new_source = Source('Yahoo', 'Yahoo', 'Yahoo NEWS',
                              'https://yahoo.com', 'general', 'english',
                              'ke')
Example #18
0
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_source = Source('abcnews', 'abc',
                              'News that keeps you up to date',
                              'https:abc.org', 'general', 'en', 'us')
Example #19
0
 def setUp(self):
     """
 Set up tat will run before every Test
 """
     self.new_source = Source("bbc-sport", "BBC SPORT",
                              "The home of BBC Sport online.",
                              "http://www.bbc.co.uk/sport", "sport")
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_source = Source(1234, 'igihe', 'graduation at moringa',
                              'https://igihe.com', 'entertainment',
                              'English', 'Rwanda')
Example #21
0
def create_document():
    form = DocumentForm(request.form)
    if request.method == 'POST' and form.validate():
        # TODO add validate to form
        title = form.title.data
        created = form.created.data
        text = form.text.data
        source_name = form.source_name.data
        source_url = form.source_url.data
        source = Source(name=source_name, url=source_url)
        save_db(source)

        document = Document(
            title=title, text=text, created=created, author=current_user,
            source=source
        )
        saved = save_db(document)
        if saved:
            return redirect(url_for('documents.index'))
        else:
            flash('Документ не был создан')

    return render_template(
        'documents/create.html', document_create_page=True, form=form
    )
Example #22
0
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_source = Source('NewsDaily', 'NewsDailyTrue',
                              'A big name in truth-seeking',
                              'www.newsdaily.net', 'finance')
Example #23
0
 def setUp(self):
     '''
     Set up method to create an instance of a source before any test.
     '''
     self.new_source = Source(
         "abc-news", "ABC NEWS",
         "Your trusted source for breaking news and analysis.")
Example #24
0
 def setUp(self):
     '''
     Setup function that will run before every test
     '''
     self.new_source = Source('mynews', 'My News',
                              'We have the latest updates',
                              'https://google.com', 'general', 'ke')
 def setUp(self):
     '''
     runs before every test
     '''
     self.new_source = Source("bbc-news-uk", "news", "BBC NEWS",
                              "http://www.bbc.co.uk/news",
                              "Most trusted news source.")
Example #26
0
 def setUp(self):
     '''
     Set up method that will run before every Test
     '''
     self.new_news = Source('abc-news', 'ABC News',
                            'Your trusted source for breaking news',
                            '"https://abcnews.go.com')
Example #27
0
    def setUp(self):
        '''
        Set up method that will run before every Test
        '''


        self.new_source = Source('Fox','crazy','A lion that saves a gazelle from an alligator','https://i.kinja-img.com/gawker-media/image/upload/s--H8pqYMUW--/c_fill,fl_progressive,g_center,h_900,q_80,w_1600/ug34lxszlekl8efydtj3.png','image','30/06/2019')
Example #28
0
class SourceTest(unittest.TestCase):
    """
    test case for source class
    """
    def setUp(self):
        """
        runs before each testcase
        """
        self.new_source = Source('abc-news', 'ABC News', 'Trusted source for breaking news', 'us', 'https://abcnews.go.com')

    def test_instance(self):
        self.assertTrue(isinstance(self.new_source, Source))

    def test_save_source(self):
        self.new_source.save_source()
        self.assertEqual(len(Source.all_sources), 1)
Example #29
0
 def setUp(self):
     '''
 method that runs before each test case
 '''
     self.new_source = Source(
         "bbc-news", "bbc news",
         "Some Americans can resume going to restaurants", "general")
Example #30
0
def search_list():
    q = request.args.get("q")
    if not q:
        return forbidden("invalid q")
    data = {"nodes": [], "content": []}
    try:
        # 整理相关节点
        tmp = []
        sources, total, scores = Source.search(q, 1, 100)
        if total > 0:
            for item in sources.all():
                tmp.extend(item.nodes)
        nodes, total, scores = Node.search(q, 1, 100)
        if total > 0:
            tmp.extend(nodes.all())
        if tmp:
            # 数据去重后,获得完整内容
            data["nodes"] = [item.tiny_to_json() for item in list(set(tmp))]

        # 整理相关内容
        tops, total, scores = Top.search(q, 1, 100)
        if total > 0:
            data['content'] = [item.search_to_json() for item in tops.all()]
        return jsonify({"success": True, "data": data})
    except:
        return forbidden("检索失败")
Example #31
0
def deploy(deploy_type):
    from flask.ext.migrate import upgrade
    from app.models import BlogInfo, User, ArticleTypeSetting, Source, \
        ArticleType, Plugin, BlogView, Comment

    # upgrade database to the latest version
    upgrade()

    if deploy_type == 'product':
        # step_1:insert basic blog info
        BlogInfo.insert_blog_info()
        # step_2:insert admin account
        User.insert_admin(email='*****@*****.**', username='******', password='******', userlevel='admin')
        # step_3:insert system default setting
        ArticleTypeSetting.insert_system_setting()
        # step_4:insert default article sources
        Source.insert_sources()
        # step_5:insert default articleType
        ArticleType.insert_system_articleType()
        # step_6:insert system plugin
        Plugin.insert_system_plugin()
        # step_7:insert blog view
        BlogView.insert_view()

    # You must run `python manage.py deploy(product)` before run `python manage.py deploy(test_data)`
    if deploy_type == 'test_data':
        # step_1:insert navs
        Menu.insert_menus()
        # step_2:insert articleTypes
        ArticleType.insert_articleTypes()
        # step_3:generate random articles
        Article.generate_fake(100)
        # step_4:generate random comments
        Comment.generate_fake(300)
        # step_5:generate random replies
        Comment.generate_fake_replies(100)
        # step_4:generate random comments
        Comment.generate_fake(300)