Module arch_updates flawed logic
`include_aur` config parameter should change the format but does not as the test runs before the module is configured.

diff --git a/py3status/modules/README.md b/py3status/modules/README.md
index fe90327e..9ea9cef0 100644
--- a/py3status/modules/README.md
+++ b/py3status/modules/README.md
@@ -160,6 +160,7 @@ Configuration parameters:
   - `cache_timeout` How often we refresh this module in seconds *(default 600)*
   - `format` Display format to use
     *(default 'UPD: {pacman}' or 'UPD: {pacman}/{aur}')*
+  - `hide_if_zero` Don't show on bar if True *(default False)*
   - `include_aur` Set to True to use 'cower' to check for AUR updates
     *(default False)*
 
@@ -1261,7 +1262,7 @@ Configuration parameters:
   - `cache_timeout` how often to run this check *(default 60)*
   - `criterion` status of emails to check for *(default 'UNSEEN')*
   - `format` format to display *(default 'Mail: {unseen}')*
-  - `hide_if_zero` don't show on bar if False *(default False)*
+  - `hide_if_zero` don't show on bar if True *(default False)*
   - `imap_server` IMAP server to connect to *(default '&lt;IMAP_SERVER&gt;')*
   - `mailbox` name of the mailbox to check *(default 'INBOX')*
   - `new_mail_color` what color to output on new mail *(default '')*
diff --git a/py3status/modules/arch_updates.py b/py3status/modules/arch_updates.py
index 28eb1fca..3e407f4f 100644
--- a/py3status/modules/arch_updates.py
+++ b/py3status/modules/arch_updates.py
@@ -11,6 +11,8 @@ Configuration parameters:
     cache_timeout: How often we refresh this module in seconds (default 600)
     format: Display format to use
         (default 'UPD: {pacman}' or 'UPD: {pacman}/{aur}')
+    hide_if_zero: Don't show on bar if True
+        (default False)
     include_aur: Set to True to use 'cower' to check for AUR updates
         (default False)
 
@@ -33,6 +35,7 @@ class Py3status:
     # available configuration parameters
     cache_timeout = 600
     format = ''
+    hide_if_zero = False
     include_aur = False
 
     _format_pacman_only = 'UPD: {pacman}'
@@ -47,19 +50,20 @@ class Py3status:
 
     def check_updates(self):
         pacman_updates = self._check_pacman_updates()
+
+        response = {'cached_until': self.py3.time_in(self.cache_timeout)}
+
         if self.include_aur:
             aur_updates = self._check_aur_updates()
         else:
             aur_updates = ''
 
-        results = self.py3.safe_format(
-            self.format, {'pacman': pacman_updates, 'aur': aur_updates}
-        )
-
-        response = {
-            'full_text': results,
-            'cached_until': self.py3.time_in(self.cache_timeout),
-        }
+        if self.hide_if_zero and pacman_updates == 0 and aur_updates == 0:
+            response['full_text'] = ''
+        else:
+            response['full_text'] = self.py3.safe_format(self.format,
+                                                         {'pacman': pacman_updates,
+                                                          'aur': aur_updates})
         return response
 
     def _check_pacman_updates(self):
diff --git a/py3status/modules/imap.py b/py3status/modules/imap.py
index b5e374a9..f984bc31 100644
--- a/py3status/modules/imap.py
+++ b/py3status/modules/imap.py
@@ -7,7 +7,7 @@ Configuration parameters:
     cache_timeout: how often to run this check (default 60)
     criterion: status of emails to check for (default 'UNSEEN')
     format: format to display (default 'Mail: {unseen}')
-    hide_if_zero: don't show on bar if False (default False)
+    hide_if_zero: don't show on bar if True (default False)
     imap_server: IMAP server to connect to (default '<IMAP_SERVER>')
     mailbox: name of the mailbox to check (default 'INBOX')
     new_mail_color: what color to output on new mail (default '')
['py3status/modules/README.md', 'py3status/modules/imap.py', 'py3status/modules/arch_updates.py']