#68 Handling response code while fetching widget from feed.py
Merged 8 years ago by ralph. Opened 8 years ago by shalini.
shalini/fedora-hubs bugfix/feed  into  develop

file modified
+34 -31
@@ -69,39 +69,42 @@ 

      log.info("Getting FMN preferences from %s" % url)

      print(url)

      response = requests.get(url)

-     preference = response.json()

-     preference = rehydrate_preferences(preference)

- 

-     # The smaller we make this, the faster it is.

-     delta = datetime.timedelta(days=365)

-     end = datetime.datetime.utcnow()

- 

-     # We currently only support getting the first page.

-     # The widget framework as currently written doesn't support

-     # multiple pages yet.

-     page = 1

- 

      messages = []

-     for filter in preference['filters']:

-         rules = filter['rules']

-         fmn_hinting = fmn.lib.hinting.gather_hinting(config, rules, paths)

-         total, pages, rows = datanommer.models.Message.grep(

-             start=end-delta,

-             end=end,

-             rows_per_page=bazillion,

-             page=page,

-             order='desc',

-             **fmn_hinting

-         )

-         messages.extend(rows)

- 

      matches = []

-     for message in messages:

-         original = message.__json__()

-         recipients = fmn.lib.recipients(

-             [preference], message.__json__(), paths, config)

-         if recipients:

-             matches.append(original)

+     if response.status_code == 200:

+         preference = response.json()

+         preference = rehydrate_preferences(preference)

+ 

+         # The smaller we make this, the faster it is.

+         delta = datetime.timedelta(days=365)

+         end = datetime.datetime.utcnow()

+ 

+         # We currently only support getting the first page.

+         # The widget framework as currently written doesn't support

+         # multiple pages yet.

+         page = 1

+ 

+         for filter in preference['filters']:

+             rules = filter['rules']

+             fmn_hinting = fmn.lib.hinting.gather_hinting(config, rules, paths)

+             total, pages, rows = datanommer.models.Message.grep(

+                 start=end-delta,

+                 end=end,

+                 rows_per_page=bazillion,

+                 page=page,

+                 order='desc',

+                 **fmn_hinting

+             )

+             messages.extend(rows)

+ 

+         for message in messages:

+             original = message.__json__()

+             recipients = fmn.lib.recipients(

+                 [preference], message.__json__(), paths, config)

+             if recipients:

+                 matches.append(original)

+     else:

+         log.warn("You don't have any preferences. \n Url=%s" % url)

  

      # TODO - sort messages and remove duplicates

  

no initial comment
Metadata