def main(parser, options, args):
    app_globs = app_globals._current_obj()
    app_id = app_globals.settings['facebook_appid']
    if not app_id:
        print 'No Facebook app_id configured, exiting'
        sys.exit(3)
    
    app_secret = options.app_secret
    fb = FacebookAPI(app_id, app_secret)
    
    from mediadrop.model import DBSession, Media
    # eager loading of 'meta' to speed up later check.
    all_media = Media.query.options(joinedload('_meta')).all()
    
    print 'Checking all media for existing Facebook comments'
    progress = ProgressBar(maxval=len(all_media)).start()
    for i, media in enumerate(all_media):
        progress.update(i+1)
        if 'facebook-comment-xid' not in media.meta:
            continue
        if not fb.has_xid_comments(media):
            continue
        media.meta[u'facebook-comment-xid'] = unicode(media.id)
        DBSession.add(media)
        DBSession.commit()

    progress.finish()
Exemplo n.º 2
0
 def setup_translator(self):
     # Load the primary translator on first request and reactivate it for
     # each subsequent request until the primary language is changed.
     app_globs = app_globals._current_obj()
     lang = app_globs.settings['primary_language'] or 'en'
     if app_globs.primary_language == lang and app_globs.primary_translator:
         translator = app_globs.primary_translator
     else:
         translator = Translator(lang, config['locale_dirs'])
         app_globs.primary_translator = translator
         app_globs.primary_language = lang
     translator.install_pylons_global()
Exemplo n.º 3
0
 def setup_translator(self):
     # Load the primary translator on first request and reactivate it for
     # each subsequent request until the primary language is changed.
     app_globs = app_globals._current_obj()
     lang = app_globs.settings['primary_language'] or 'en'
     if app_globs.primary_language == lang and app_globs.primary_translator:
         translator = app_globs.primary_translator
     else:
         translator = Translator(lang, config['locale_dirs'])
         app_globs.primary_translator = translator
         app_globs.primary_language = lang
     translator.install_pylons_global()
Exemplo n.º 4
0
    def _post(self, repository):
        length = int(request.environ.get('CONTENT_LENGTH', -1))
        if length > (app_globals.repositories[repository]['patch-max-size'] *
                     1024 * 1024):
            abort(413)
        elif length <= 0:
            abort(411)
        else:
            # read only up to maximum length. If empty, returns an empty string
            message = request.environ['wsgi.input'].read(length)
            patch = decodeMessage(message)

            globals = app_globals._current_obj()
            return self._patch_generator(globals, repository, patch, length)
Exemplo n.º 5
0
    def _push(self, repository):
        # for strange reasons WebOb sets content-length = -1 when POST is urlencoded into a multidict instead of raw
        length = len(request.body)
        if length > (app_globals.repositories[repository]['patch-max-size'] *
                     1024 * 1024):
            abort(413)
        elif length <= 0:
            abort(411)
        else:
            message = urllib.unquote_plus(request.body)
            patch = decodeMessage(message)

            globals = app_globals._current_obj()
            return self._patch_generator(globals, repository, patch, length)
Exemplo n.º 6
0
def main(parser, options, args):
    app_globs = app_globals._current_obj()
    app_id = app_globals.settings['facebook_appid']
    if not app_id:
        print 'No Facebook app_id configured, exiting'
        sys.exit(3)
    
    app_secret = options.app_secret
    fb = FacebookAPI(app_id, app_secret)
    
    from mediacore.model import Media
    all_media = Media.query.all()
    
    print 'Checking all media for existing Facebook comments'
    progress = ProgressBar(maxval=len(all_media)).start()
    for i, media in enumerate(all_media):
        has_comments = fb.has_xid_comments(media)
        progress.update(i+1)
        if not has_comments:
            continue
        media.meta['facebook-comment-xid'] = str(media.id)
    progress.finish()