Example #1
0
    def index_view(self):
        # Grab parameters from URL
        page, sort_idx, sort_desc, search = self._get_list_extra_args()

        page_size = 10
        count = Shreds._get_collection().count()
        num_pages = count // page_size
        if count % page_size != 0:
            num_pages += 1

        data = Shreds._get_collection().find(
            {},
            {'contour': 0}).skip(page * page_size).limit(page_size)

        # Various URL generation helpers
        def pager_url(p):
            # Do not add page number if it is first page
            if p == 0:
                p = None

            return self._get_url('.index_view', p, sort_idx, sort_desc,
                                 search)

        return self.render('admin/shreds.html', data=data, count=count,
                           pager_url=pager_url,
                           num_pages=num_pages,
                           page=page,)
Example #2
0
    def index_view(self):
        # Grab parameters from URL
        page, sort_idx, sort_desc, search = self._get_list_extra_args()

        page_size = 10
        count = Shreds._get_collection().count()
        num_pages = count // page_size
        if count % page_size != 0:
            num_pages += 1

        data = Shreds._get_collection().find({}, {
            'contour': 0
        }).skip(page * page_size).limit(page_size)

        # Various URL generation helpers
        def pager_url(p):
            # Do not add page number if it is first page
            if p == 0:
                p = None

            return self._get_url('.index_view', p, sort_idx, sort_desc, search)

        return self.render(
            'admin/shreds.html',
            data=data,
            count=count,
            pager_url=pager_url,
            num_pages=num_pages,
            page=page,
        )
Example #3
0
    def index_view(self):
        # Grab parameters from URL
        page, sort_idx, sort_desc, search = self._get_list_extra_args()

        page_size = 10
        count = User._get_collection().count()
        num_pages = count // page_size
        if count % page_size != 0:
            num_pages += 1

        # data = User._get_collection().find({}, {'password': 0}).skip(page*page_size).limit(page_size)
        data = User._get_collection().find({}, {'password': 0})
        result = []
        for d in data:
            temp_dict = {}
            temp_dict['username'] = d['username']
            temp_dict['last_login'] = d.get('last_login', None)
            temp_dict['used_tags'] = []
            temp_dict['tags_count'] = 0
            temp_dict['shreds_count'] = 0
            temp_dict['skipped_count'] = 0

            shreds = Shreds._get_collection().find({"tags.user": str(d["_id"])})
            for s in shreds:
                for tag in s['tags']:
                    if tag['user'] == str(d["_id"]):
                        if tag['tags'] == 'skipped':
                            temp_dict['skipped_count'] += 1
                        else:
                            temp_dict['shreds_count'] += 1
                            temp_dict['used_tags'] += tag['tags']
                            temp_dict['tags_count'] += len(tag['tags'])

            temp_dict['used_tags'] = list(set(temp_dict['used_tags']))
            result.append(temp_dict)
        # Various URL generation helpers
        def pager_url(p):
            # Do not add page number if it is first page
            if p == 0:
                p = None

            return self._get_url('.index_view', p, sort_idx, sort_desc,
                                 search)

        def sort_url(column, invert=False):
            desc = None

            if invert and not sort_desc:
                desc = 1

            return self._get_url('.index_view', page, column, desc,
                                 search)

        return self.render('admin/users.html', data=result, count=count,
                               pager_url=pager_url,
                               num_pages=num_pages,
                               page=page,
                               list_columns=self.column_labels,
                               sort_url=sort_url,
                               get_value=self.get_list_value)
Example #4
0
app = Flask(__name__)
app.config.from_object('settings')

try:
    app.config.from_object('local_settings')
except ImportError:
    pass

assets_init(app)
admin_init(app)

db = MongoEngine(app)

init_social_login(app, db)

shreds = Shreds._get_collection()
users = User._get_collection()


def get_next_shred():
    shred = shreds.find_one(
        {"$query": {"usersProcessed": {"$ne": str(g.user.id)},
                    "usersSkipped": {"$ne": str(g.user.id)},
                    "usersCount": {"$lte": app.config["USERS_PER_SHRED"]}
                    }}, sort=[("batch", 1),
                              ("usersCount", 1)])

    if shred:
        return shred

    shred = shreds.find_one(
Example #5
0
    def index_view(self):
        # Grab parameters from URL
        page, sort_idx, sort_desc, search = self._get_list_extra_args()

        page_size = 10
        count = User._get_collection().count()
        num_pages = count // page_size
        if count % page_size != 0:
            num_pages += 1

        # data = User._get_collection().find({}, {'password': 0}).skip(page*page_size).limit(page_size)
        data = User._get_collection().find({}, {'password': 0})
        result = []
        for d in data:
            temp_dict = {}
            temp_dict['username'] = d['username']
            temp_dict['last_login'] = d.get('last_login', None)
            temp_dict['used_tags'] = []
            temp_dict['tags_count'] = 0
            temp_dict['shreds_count'] = 0
            temp_dict['skipped_count'] = 0

            shreds = Shreds._get_collection().find(
                {"tags.user": str(d["_id"])})
            for s in shreds:
                for tag in s['tags']:
                    if tag['user'] == str(d["_id"]):
                        if tag['tags'] == 'skipped':
                            temp_dict['skipped_count'] += 1
                        else:
                            temp_dict['shreds_count'] += 1
                            temp_dict['used_tags'] += tag['tags']
                            temp_dict['tags_count'] += len(tag['tags'])

            temp_dict['used_tags'] = list(set(temp_dict['used_tags']))
            result.append(temp_dict)
        # Various URL generation helpers
        def pager_url(p):
            # Do not add page number if it is first page
            if p == 0:
                p = None

            return self._get_url('.index_view', p, sort_idx, sort_desc, search)

        def sort_url(column, invert=False):
            desc = None

            if invert and not sort_desc:
                desc = 1

            return self._get_url('.index_view', page, column, desc, search)

        return self.render('admin/users.html',
                           data=result,
                           count=count,
                           pager_url=pager_url,
                           num_pages=num_pages,
                           page=page,
                           list_columns=self.column_labels,
                           sort_url=sort_url,
                           get_value=self.get_list_value)
Example #6
0
app = Flask(__name__)
app.config.from_object('settings')

try:
    app.config.from_object('local_settings')
except ImportError:
    pass

assets_init(app)
admin_init(app)

db = MongoEngine(app)

init_social_login(app, db)

shreds = Shreds._get_collection()
users = User._get_collection()


def get_next_shred():
    shred = shreds.find_one(
        {
            "$query": {
                "usersProcessed": {
                    "$ne": str(g.user.id)
                },
                "usersSkipped": {
                    "$ne": str(g.user.id)
                },
                "usersCount": {
                    "$lte": app.config["USERS_PER_SHRED"]