1. 24 Apr, 2018 2 commits
  2. 23 Apr, 2018 3 commits
  3. 14 Apr, 2018 7 commits
    • Do not choke on maintainer emails without a plus sign · bb654041
      The code tries to parse the localpart as "team+foo" when the email is
      hosted in the domain dedicated to distro-tracker. But it failed badly
      when the maintainer email did not contain any plus sign.
      
      This commit fixes the following exception:
      
      Traceback (most recent call last):
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/tests/tests_retrieve_data.py", line 1185, in test_with_unqualified_team_email
          self.run_task()
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/tests/tests_retrieve_data.py", line 1109, in run_task
          self.task.execute()
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/retrieve_data.py", line 1094, in execute
          self.add_package_to_maintainer_teams(package, maintainer)
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/retrieve_data.py", line 1060, in add_package_to_maintainer_teams
          service, slug = localpart.split('+', 1)
      ValueError: not enough values to unpack (expected 2, got 1)
      Raphaël Hertzog authored
    • docs: update the Contributing page · e778f8b6
      The preferred workflow has largely changed with the switch to
      salsa.debian.org. Also document new expectations concerning git
      commit notices and sorting of import statements.
      Raphaël Hertzog authored
    • Update documentation and bugs URLs · f2520736
      We're now (also) using the bug tracker on salsa and the documentation
      is now officially hosted on https://qa.pages.debian.net/distro-tracker/
      Raphaël Hertzog authored
    • core: handle corner-case where we no longer have any package entry · 9ab656fa
      It's not clear how this happened but it did happen once at least:
      
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/tasks.py" in run
        517.                     task.execute()
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/tasks.py" in wrapper
        544.             func(self)
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/retrieve_data.py" in execute
        942.                 versions.value = self._extract_versions_for_package(package)
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/retrieve_data.py" in _extract_versions_for_package
        919.             'default_pool_url': package_name.main_entry.directory_url,
      
      Exception Type: AttributeError
      Exception Value: 'NoneType' object has no attribute 'directory_url'
      
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/tasks.py" in run
        517.                     task.execute()
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/tasks.py" in wrapper
        544.             func(self)
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/retrieve_data.py" in execute
        999.                 binaries.value = self._get_all_binaries(package)
      File "/srv/tracker.debian.org/distro-tracker/distro_tracker/core/retrieve_data.py" in _get_all_binaries
        969.         repository = package.main_entry.repository
      
      Exception Type: AttributeError
      Exception Value: 'NoneType' object has no attribute 'repository'
      Raphaël Hertzog authored
    • mail: do not choke on emails sent to bounces@<domain> · 4fb6bc36
      Without this fix we would get the following exception:
      
      Traceback (most recent call last):
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/dispatch.py", line 412, in handle_bounces
          bounce_email, user_email = verp.decode(sent_to_address)
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/utils/verp.py", line 108, in decode
          left_part, encodedrdomain = left_part.rsplit('=', 1)
      ValueError: not enough values to unpack (expected 2, got 1)
      Raphaël Hertzog authored
    • Do not fail on broken Message-ID fields containing UTF-8 characters · 74bc4412
      Without this fix, it would trigger this exception:
      
      Traceback (most recent call last):
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/tests/tests_control.py", line 570, in test_ensure_no_failure_with_utf8_message_id
          self.control_process()
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/tests/tests_control.py", line 62, in control_process
          control.process(self.message)
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/control/__init__.py", line 187, in process
          send_plain_text_warning(msg, logdata)
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/control/__init__.py", line 91, in send_plain_text_warning
          recipient_email=logdata['from'])
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/mail/control/__init__.py", line 54, in send_response
          message_id = unfold_header(original_message.get('Message-ID', ''))
        File "/home/rhertzog/deb/core/distro-tracker/distro_tracker/core/utils/email_messages.py", line 253, in unfold_header
          return re.sub(r'\r?\n(\s)', r'\1', header, 0, re.MULTILINE)
        File "/usr/lib/python3.5/re.py", line 182, in sub
          return _compile(pattern, flags).sub(repl, string, count)
      TypeError: expected string or bytes-like object
      Raphaël Hertzog authored
  4. 13 Apr, 2018 3 commits
  5. 12 Apr, 2018 2 commits
  6. 05 Apr, 2018 1 commit
    • settings: use lists instead of tuples for many settings · b1ac8815
      All the modified settings default to lists in the current version of
      Django. Special care must be taken to ensure that we duplicate the list
      objects in the various namespaces otherwise we get a nice mess with a
      single shared configuration combining all the operations of all the
      settings that are loaded but not necessarily imported in the main settings
      namespace.
      
      We add __all__ attributes to some of the core modules to better control
      what settings are actually exported.
      
      This also fixes the regression introduced in
      dac264a2 where the debug_toolbar
      application suddenly started to be required for tests too.
      Raphaël Hertzog authored
  7. 04 Apr, 2018 2 commits
  8. 27 Mar, 2018 4 commits
  9. 23 Mar, 2018 15 commits
  10. 22 Mar, 2018 1 commit