diff options
| author | 2018-02-11 18:50:13 +0000 | |
|---|---|---|
| committer | 2018-02-11 18:50:13 +0000 | |
| commit | 0fecbfca8a4268227a9c7e6479820925a0f0ac32 (patch) | |
| tree | d07b31e1802ca75c200724bc7056c42be9763525 /pysite | |
| parent | [Asana] Smallish fixes (diff) | |
More error-hunting.
Beats me why this documentation is so bad.
Diffstat (limited to 'pysite')
| -rw-r--r-- | pysite/views/api/asana.py | 39 | 
1 files changed, 26 insertions, 13 deletions
| diff --git a/pysite/views/api/asana.py b/pysite/views/api/asana.py index e3d87f87..98f720b5 100644 --- a/pysite/views/api/asana.py +++ b/pysite/views/api/asana.py @@ -59,7 +59,7 @@ class IndexView(APIView):                          color=COLOUR_RED                      )                  except Exception as e: -                    print(f"Fatal error sending webhook: {e}") +                    print(f"Fatal error sending webhook: {repr(e)}")          return "", 200  # Empty 200 response @@ -101,21 +101,33 @@ class IndexView(APIView):              resp.raise_for_status()              user = resp.json() -            project = task["projects"][0]  # Just use the first project in the list -              if user.get("photo"):                  photo = user["photo"]["image_128x128"]              else:                  photo = None -            self.send_webhook( -                title=f"Comment: {project['name']}", -                description=story["text"], -                color=COLOUR_GREEN, -                url=f"https://app.asana.com/0/{project['id']}/{parent}", -                author_name=story["created_by"]["name"], -                author_icon=photo -            ) +            if not task.get("projects"): +                self.send_webhook( +                    title=f"Comment: Unknown Project/{task['name']}", +                    description=f"{story['text']}\n\n" +                                f"No project on task - Keys: `{', '.join(task.keys())}`", +                    color=COLOUR_GREEN, +                    url=f"https://app.asana.com/0/{project['id']}/{parent}", +                    author_name=story["created_by"]["name"], +                    author_icon=photo +                ) + +            else: +                project = task["projects"][0]  # Just use the first project in the list + +                self.send_webhook( +                    title=f"Comment: {project['name']}", +                    description=story["text"], +                    color=COLOUR_GREEN, +                    url=f"https://app.asana.com/0/{project['id']}/{parent}", +                    author_name=story["created_by"]["name"], +                    author_icon=photo +                )          else:              pretty_story = json.dumps(                  story, @@ -138,7 +150,7 @@ class IndexView(APIView):          task = resp.json()          if action == "changed":  # New comment! -            if not task["user"]: +            if not user:                  # ????????????????????????????                  user = {}              else: @@ -165,7 +177,8 @@ class IndexView(APIView):              else:                  self.send_webhook(                      title=f"Task updated: Unknown Project/{task['name']}", -                    description="What was updated? We don't know!", +                    description=f"What was updated? We don't know!\n\n" +                                f"No project on task - Keys: `{', '.join(task.keys())}`",                      color=COLOUR_GREEN,                      author_name=user["name"],                      author_icon=photo | 
