Ejemplo n.º 1
0
def dump_app(id, **kw):
    from mkt.webapps.serializers import AppSerializer
    # Because @robhudson told me to.
    # Note: not using storage because all these operations should be local.
    target_dir = os.path.join(settings.DUMPED_APPS_PATH, 'apps',
                              str(id / 1000))
    target_file = os.path.join(target_dir, str(id) + '.json')

    try:
        obj = Webapp.objects.get(pk=id)
    except Webapp.DoesNotExist:
        task_log.info(u'Webapp does not exist: {0}'.format(id))
        return

    req = RequestFactory().get('/')
    req.user = AnonymousUser()
    req.REGION = RESTOFWORLD

    if not os.path.exists(target_dir):
        os.makedirs(target_dir)

    task_log.info('Dumping app {0} to {1}'.format(id, target_file))
    res = AppSerializer(obj, context={'request': req}).data
    json.dump(res, open(target_file, 'w'), cls=JSONEncoder)
    return target_file
Ejemplo n.º 2
0
def dump_app(id, **kw):
    from mkt.webapps.serializers import AppSerializer
    # Because @robhudson told me to.
    # Note: not using storage because all these operations should be local.
    target_dir = os.path.join(settings.DUMPED_APPS_PATH, 'apps',
                              str(id / 1000))
    target_file = os.path.join(target_dir, str(id) + '.json')

    try:
        obj = Webapp.objects.get(pk=id)
    except Webapp.DoesNotExist:
        task_log.info(u'Webapp does not exist: {0}'.format(id))
        return

    req = RequestFactory().get('/')
    req.user = AnonymousUser()
    req.REGION = RESTOFWORLD

    if not os.path.exists(target_dir):
        os.makedirs(target_dir)

    task_log.info('Dumping app {0} to {1}'.format(id, target_file))
    res = AppSerializer(obj, context={'request': req}).data
    json.dump(res, open(target_file, 'w'), cls=JSONEncoder)
    return target_file
Ejemplo n.º 3
0
 def get_request(self, data=None):
     if data is None:
         data = {}
     request = RequestFactory().get('/', data)
     request.REGION = mkt.regions.RESTOFWORLD
     request.API = True
     request.user = AnonymousUser()
     return request
Ejemplo n.º 4
0
 def test_sort_regional(self):
     """Popularity and trending use regional sorting for mature regions."""
     req = RequestFactory().get('/')
     req.REGION = mkt.regions.BRA
     # Default empty query searches use popularity.
     qs = self._filter(req)
     ok_({'popularity_%s'
          % mkt.regions.BRA.id: {'order': 'desc'}} in qs['sort'])
     # Popularity.
     req = RequestFactory().get('/', data={'sort': ['popularity']})
     req.REGION = mkt.regions.BRA
     qs = self._filter(req)
     ok_({'popularity_%s'
          % mkt.regions.BRA.id: {'order': 'desc'}} in qs['sort'])
     # Trending.
     req = RequestFactory().get('/', data={'sort': ['trending']})
     req.REGION = mkt.regions.BRA
     qs = self._filter(req)
     ok_({'trending_%s' % mkt.regions.BRA.id: {'order': 'desc'}}
         in qs['sort'])
Ejemplo n.º 5
0
 def test_sort_regional(self):
     """Popularity and trending use regional sorting for mature regions."""
     req = RequestFactory().get('/')
     req.REGION = mkt.regions.BRA
     # Default empty query searches use popularity.
     qs = self._filter(req)
     ok_({'popularity_%s' % mkt.regions.BRA.id: {
         'order': 'desc'
     }} in qs['sort'])
     # Popularity.
     req = RequestFactory().get('/', data={'sort': ['popularity']})
     req.REGION = mkt.regions.BRA
     qs = self._filter(req)
     ok_({'popularity_%s' % mkt.regions.BRA.id: {
         'order': 'desc'
     }} in qs['sort'])
     # Trending.
     req = RequestFactory().get('/', data={'sort': ['trending']})
     req.REGION = mkt.regions.BRA
     qs = self._filter(req)
     ok_({'trending_%s' % mkt.regions.BRA.id: {
         'order': 'desc'
     }} in qs['sort'])
Ejemplo n.º 6
0
def req_factory_factory(url='', user=None, post=False, data=None, **kwargs):
    """Creates a request factory, logged in with the user."""
    req = RequestFactory()
    if post:
        req = req.post(url, data or {})
    else:
        req = req.get(url, data or {})
    if user:
        req.user = UserProfile.objects.get(id=user.id)
        req.groups = user.groups.all()
    else:
        req.user = AnonymousUser()
    req.check_ownership = partial(check_ownership, req)
    req.REGION = kwargs.pop('region', mkt.regions.REGIONS_CHOICES[0][1])
    req.API_VERSION = 2

    for key in kwargs:
        setattr(req, key, kwargs[key])
    return req
Ejemplo n.º 7
0
def req_factory_factory(url='', user=None, post=False, data=None, **kwargs):
    """Creates a request factory, logged in with the user."""
    req = RequestFactory()
    if post:
        req = req.post(url, data or {})
    else:
        req = req.get(url, data or {})
    if user:
        req.user = UserProfile.objects.get(id=user.id)
        req.groups = user.groups.all()
    else:
        req.user = AnonymousUser()
    req.check_ownership = partial(check_ownership, req)
    req.REGION = kwargs.pop('region', mkt.regions.REGIONS_CHOICES[0][1])
    req.API_VERSION = 2

    for key in kwargs:
        setattr(req, key, kwargs[key])
    return req
Ejemplo n.º 8
0
def dump_app(id, **kw):
    from mkt.webapps.serializers import AppSerializer
    target_dir = os.path.join(settings.DUMPED_APPS_PATH, 'apps',
                              str(id / 1000))
    target_file = os.path.join(target_dir, str(id) + '.json')

    try:
        obj = Webapp.objects.get(pk=id)
    except Webapp.DoesNotExist:
        task_log.info(u'Webapp does not exist: {0}'.format(id))
        return

    req = RequestFactory().get('/')
    req.user = AnonymousUser()
    req.REGION = RESTOFWORLD

    task_log.info('Dumping app {0} to {1}'.format(id, target_file))
    res = AppSerializer(obj, context={'request': req}).data
    with private_storage.open(target_file, 'w') as fileobj:
        json.dump(res, fileobj, cls=JSONEncoder)
    return target_file
Ejemplo n.º 9
0
def dump_app(id, **kw):
    from mkt.webapps.serializers import AppSerializer
    target_dir = os.path.join(settings.DUMPED_APPS_PATH, 'apps',
                              str(id / 1000))
    target_file = os.path.join(target_dir, str(id) + '.json')

    try:
        obj = Webapp.objects.get(pk=id)
    except Webapp.DoesNotExist:
        task_log.info(u'Webapp does not exist: {0}'.format(id))
        return

    req = RequestFactory().get('/')
    req.user = AnonymousUser()
    req.REGION = RESTOFWORLD

    task_log.info('Dumping app {0} to {1}'.format(id, target_file))
    res = AppSerializer(obj, context={'request': req}).data
    with private_storage.open(target_file, 'w') as fileobj:
        json.dump(res, fileobj, cls=JSONEncoder)
    return target_file
Ejemplo n.º 10
0
def collection_data(collection):
    request = RequestFactory().get('/')
    request.user = AnonymousUser()
    request.REGION = RESTOFWORLD
    return ShortAppsCollectionSerializer(collection,
                                         context={'request': request}).data