Пример #1
0
def shout(text=None):
    if request.method == 'POST':
        result = str()
        for part in request.form.keys():
            RDB.redis_shout(APP.config['REDIS_OPT']['shout_pubsub'], part)
            result += part
        return result
    if text is not None:
        return RDB.redis_shout(APP.config['REDIS_OPT']['shout_pubsub'], text)
    return redirect(url_for('index'))
Пример #2
0
def action():
    if request.method == 'POST':
        if request.json:
            target = None
            if request.json['action'] == 'plus':
                target = 'public'
            if request.json['action'] == 'minus':
                target = 'reject'
            if target:
                RDB.move_image(request.json['image'], target)
                return '%s -> %s' %(request.json['image'], target)
Пример #3
0
def index():
    '''homepage'''
    sidebar = {
        'status': RDB.get_status(),
        'imagestats': RDB.get_imagestats(),
        'tagline': next(TAGLINES),
        }
    LOGGER.info('index requested')
    return render_template('main.html',
        title='fnordpad',
        image=RDB.random_image(folder='public'),
        sidebar=sidebar,
        )
Пример #4
0
def stream_channel(channel=None):
    if channel:
        if channel in [APP.config['REDIS_OPT'][psc] for psc in APP.config['REDIS_OPT'] if psc.endswith('_pubsub')]:
            LOGGER.info('stream for %s requested' %(channel))
            return Response(
                stream_with_context(RDB.browser_shout(APP.config['REDIS_OPT']['%s_pubsub' %(channel)])),
                direct_passthrough=True,
                mimetype='text/event-stream'
                )
Пример #5
0
 def kasper(self):
     load = list()
     for user in self._users:
         LOGGER.info('kasper %s' %(user))
         for image in self._usercrawl(user):
             if image.split('/')[-1] not in RDB.get_all_images():
                 load.append(image)
                 yield user, image
     tpool(self.__net.download_image, load)
Пример #6
0
def sort(ressource='unsorted', page=0):
    imagestats = RDB.get_imagestats();
    sortimages = dict()
    folderimages = list()
    if ressource in APP.config['CONTENTSUB'].keys():
        # folder/rdb match
        sortimages = RDB.get_sort_images(folder=ressource, page=page)
        if len(sortimages) == 0 and page != 0:
            return redirect(url_for('sort', ressource=ressource, page=page-1))
        folderimages = RDB.get_dict_images(folder=ressource)
    elif ressource in RDB.get_all_images():
        # file match
        sortimages[ressource] = RDB.locate_image(ressource)
    else:
        return redirect(url_for('sort'))
    flash('%s left: %i, page: %i' %(ressource, len(folderimages), page))
    return render_template('sort.html',
        title='sort',
        folderimages=folderimages,
        sortimages=sortimages,
        imagestats=imagestats,
        )
Пример #7
0
def flush():
    RDB.flush_all()
    flash('redis flushed')
    RDB.get_images()
    return redirect(url_for('index'))
Пример #8
0
def conf_globals():
    result = dict()
    result['js'] = {'delay': RDB.get_ropt('image_timeout')*1000}
    result['ji'] = {'sort_slices': RDB.get_ropt('sort_slices')}
    return result